MAXScript に関する質問と回答 > ベクトルの操作 > 頂点の位置からベクトルを作成する方法はありますか。 |
すべての Point3 値は、ワールド原点[0,0,0]を始点とし Point3 値の位置に向かう、頂点の X、Y、および Z 座標を構成要素としたベクトルになります。
下のイメージには、X 軸、Y 軸、Z 軸が原点[0,0,0]で交差している、3ds Max のワールド座標系が図示されています。
座標が[20,10,10]の点は、次のように表示されます。 これを「A」点と呼びます。
Point3 値[20,10,10]は、原点[0,0,0]を始点とし、点 A を終点とするベクトルを定めます。 ベクトルの長さは原点と点 A との距離に等しく、方向は原点から点 A の方向になります。
座標が[-10,30,20]の点 B は、次のように表示されます。
Point3 値[-10.30.20]は、原点[0,0,0]を始点とし、点 B を終点とする2 番目のベクトルを定めます。 ベクトルの長さは原点と点 B との距離に等しく、方向は原点から点 B の方向になります。
2 点で定められたベクトルを計算する場合は、単に終点から始点を差し引くだけで求められます。したがって、点 A から 点 B へ向かうベクトルの長さは 2 点間の距離に等しくなり、B-A で計算できます。
求められた Point3 値 C = B-A は、点 A や点 B と同様に、原点[0,0,0]を始点として点 C を終点とし、( [-10,30,20] - [20,10,10] ) の計算結果を座標としたベクトルになります。 これは[-10-20, 30-10, 20-10] と計算でき、最終的な座標は[-30,20,10]になります。ベクトル C が、B-A とまったく同じ長さと方向を持っていることに注意してください。 これは、始点が原点に一致するように、ベクトル -A に沿って平行移動したものに過ぎません。
この結果描かれる平行四辺形からも明らかにわかるように、加算と減算の規則がこの一連のベクトルに適用されています。
次に、ベクトルの平行移動を示すために、アイソメトリック ビューに同じ平行四辺形を示します。
B は、明らかに、ベクトル (B-A) と A の和に等しくなっています。 これは、(B-A)+A または B+(A-A) と表すことができます。A-A は長さと方向を持たないゼロ ベクトルになるため、この計算結果は B 自身になります。
(B-C) と C の和も同じです。 これは、B+(C-C) と表せます。C-C はゼロ ベクトルになるため、この計算結果も B 自身になります。
このことから、2 つのベクトルの和は、最初のベクトルの終点から新しいベクトルを開始することにより計算できることがわかります。和は、最初のオペランドの始点から始まり、最後のオペランドの終点で終わるベクトルになります。