算術演算子

算術演算子には、*、/、^、+、- 演算子が含まれます。

単項の否定演算子

単項の否定演算子(-)は、整数数値ベクトル タイプに定義されています。その他のすべてのオペランド タイプはエラーを生成します。数値タイプの場合、結果は 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