CAL 根据标准的数学优先级规则计算表达式:
- 括号中的表达式优先,最内层括号优先
- 标准顺序的运算符为:指数优先,乘除次之,加减最后
- 优先级相同的运算符从左至右计算
数值表达式
数值表达式由实数、整数和函数用下表中的运算符连接组成。
数值运算符
|
运算符
|
操作
|
( )
|
将表达式编组
|
^
|
指数计算
|
*、/
|
乘、除
|
+、-
|
加、减
|
以下是数值表达式的样例:
3
3 + 0.6
(5.8^2) + PI
矢量表达式
矢量表达式由点集、矢量、数字和函数用下表中的运算符连接组成。
矢量运算符
|
运算符
|
操作
|
( )
|
将表达式编组
|
&
|
计算矢量的矢量积(结果仍为矢量) [a,b,c]&[x,y,z] = [(b*z) - (c*y),(c*x) - (a*z),(a*y) - (b*x)]
|
*
|
计算矢量的标量积(结果为实数) [a,b,c]*[x,y,z] = ax + by + cz
|
*、/
|
矢量与实数相乘除 a*[x,y,z] = [a*x,a*y,a*z]
|
+、-
|
矢量与矢量(点)相加减 [a,b,c] + [x,y,z] = [a+x,b+y,c+z]
|
以下是矢量表达式的样例:
A+[1,2,3] 表示距离 A 点 [1,2,3] 个单位的点。
表达式
[2<45<45] + [2<45<0] - [1.02,3.5,2]
将两个点相加,减去第三个点。前两个点用球坐标表示。