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]
将两个点相加,减去第三个点。前两个点用球坐标表示。