算術演算子には、*、/、^、+、- 演算子が含まれます。
単項の否定演算子(-)は、整数、数値、ベクトル タイプに定義されています。その他のすべてのオペランド タイプはエラーを生成します。数値タイプの場合、結果は 0 からオペランドを引くことによって得られます。ブーリアン演算では、オペランドが False と比較されます。ベクトルの場合は、オペランドが反転されます(すべての座標に単項の否定が適用されます)。
次の表は単項の否定演算子の例を示します。
オペランドのタイプ | 例 | 結果 |
---|---|---|
[数字] | -3.0 | -3.0 |
ベクトル | -vector(0,0,1) | Vector_(0.0, 0.0, -1.0, WorldFrame()) |
加算演算子(+)は、2 つのオペランドの組み合わせを計算します。加算演算子は次のタイプのペアのために定義されています(出力タイプも示します)。
順序は重要ではありません。
数値の引数については、数値の加算が実行されます。一覧の引数については、一覧が順番どおりに連結されます。名前と文字列の引数については、任意の名前の値が文字列に変換され、文字列が順番どおりに連結されます。
次の表は加算演算子の例を示します。
オペランドのタイプ | 例 | 結果 |
---|---|---|
[名前] | :My + :Name | :MyName |
名前と文字列 | :My + "Name" | "MyName" |
混合数値 | 12 + 4.5 + 3.1 | 19.6 |
一覧 | {:A, :B, :C} + {1, 2.0} | {:a, :b, :c, 1, 2.0} |
点とベクトル | Point(0, 0, 0) + Vector(0, 0, 1) | Point_(0.0, 0.0, 1.0, WorldFrame()) |
減算演算子(-)は、2 つのオペランドの差を計算します。減算演算子は次のタイプのペアのために定義されています(出力タイプも示します)。
順序が重要ですので、他の組み合わせ、特にベクトル - 点は許可されません。
数値の引数については、数値の減算が実行されます。ジオメトリの引数については、ベクトル操作が実行されます。
次の表は、減算演算子の例を示します。
式 | 例 | 結果 |
---|---|---|
点 - 点 | Point(0, 0, 0) - Point(10, 0, 0) | Vector_(-10.0, 0.0, 0.0, WorldFrame()) |
点 - ベクトル | Point(0, 0, 0) - Vector(1, 0, 0) | Point_(-1.0, 0.0, 0.0, WorldFrame()) |
ベクトル - ベクトル | Vector_(1.0, -1.0, 0.0, WorldFrame()) |
乗算演算子(*)は、2 つのオペランドの積を計算します。乗算演算子は次のタイプのために定義されています(出力タイプも示します)。
オペランドのタイプによっては、順序によって結果が変わりますが、結果のタイプは変わりません。
数値のオペランドについては、数値の乗算が実行されます。スカラー * ベクトルについては、ベクトルがスケーリングされます。ベクトル * ベクトルについては、ベクトルの外積が実行されます。フレーム * フレームについては、行列に類似した組み合わせの乗算が実行されます。
次の表は、乗算演算子の例を示します。
オペランドのタイプ | 例 | 結果 |
---|---|---|
数値とベクトル | 3.0 * Vector(1,0,0) | Vector_(3.0, 0.0, 0.0, WorldFrame()) |
ベクトルとベクトル | Vector(1,0,0) * Vector(0,1,0) | Vector_(0.0, 0.0, 1.0, WorldFrame()) |
除算演算子(/)は、2 つのオペランドの商を計算します。除算演算子は次のタイプのために定義されています(出力タイプも示します)。
順序が重要であるため、ベクトルのオペランドは逆の順序では定義されていません。
数値の除算は、数値が整数値を表している場合であっても、常に数値になります。ベクトルの演算はベクトルのスケーリングを実行します。
次の表は、除算演算子の例を示します。
オペランドのタイプ | 例 | 結果 |
---|---|---|
数値と整数 | 42.0 / 6 | 7.0 |
ベクトルと整数 | Vector(1,0,0)/3 | vector(0.33333, 0.0, 0.0, WorldFrame()) |
指数演算子(^)は、最初のオペランドの、2 番目のオペランドの累乗が計算されます。指数演算子は次のタイプについて定義されます(出力タイプも示します)。
順序が結果に影響する場合がありますが、結果のタイプには影響しません。
結果は常に数値タイプです。
次の表は、指数演算子の例を示します。
オペランドのタイプ | 例 | |
---|---|---|
整数と整数 | 6^2 | 36.0 |
整数と数値 | 6^2.0 | 36.0 |
数値と数値 | 6.0^2.0 | 36.0 |