projectVector()

概要

ベクトルを平面に投影し、その平面内の新しいベクトルを返します。平面はと法線ベクトルで定義されます。平面法線は投影方向となります。ベクトルと法線が位置合わせされている場合は、ジオメトリが展開されますが(ゼロ ベクトル)、一部のベクトル代数はゼロ ベクトルを中間結果として正しく処理できるため、エラーとはみなされません。ただし、ほとんどのジオメトリ作成関数ではゼロ ベクトルを扱うと問題が発生することに注意してください。

構文

projectVector ( v As Vector, _
                planePoint As Point, _
                nor As Vector ) As Vector
引数 [タイプ] 説明
v ベクトル 投影されるベクトルです。
planePoint 投影平面上のです。
nor ベクトル 平面法線ベクトル、および投影ベクトルです。

例 1

識別子が投影されます。
Intent >projectVector(UnitX, point(0,0,0), UnitZ) 
--> Vector_(1.0, 0.0, 0.0, WorldFrame())

例 2

これはエラーではありません。
Intent >projectVector(UnitX, point(0,0,0), UnitX) 
--> Vector_(0.0, 0.0, 0.0, WorldFrame()) 

例 3

X および Y コンポーネント
 Intent >projectVector(vector(1,1,1), point(0,0,0), vector(0,0,1)) 
--> Vector_(1.0, 1.0, 0.0, WorldFrame())

例 4

projectVector()関数は、単位ベクトルに投影されたベクトルを作成しません。
 Intent >projectVector(vector(2,2,2), point(0,0,0), vector(1,0,0)) 
--> Vector_(0.0, 2.0, 2.0, WorldFrame())

例 5

平面法線ベクトルが投影されるベクトルと同じ方向である場合、関数はゼロ ベクトルを返します。
Intent >projectVector(vector(0,0,1), point(0,0,0), vector(0,0,1)) 
--> Vector_(0.0, 0.0, 0.0, WorldFrame())