0

私は2つのベクトル(X、Y、Z)を持っています。1つは上Y=0に、もう1つは下にありますY=0。2つの元のベクトル間の線がレベルと交差するベクトル(X、Y、Z)を見つけたいと思いY=0ます。それ、どうやったら出来るの?

ポイントAの例:

X = -43.54235
Y = 95.2679138
Z = -98.2120361

ポイントBの例:

X = -43.54235
Y = 97.23531
Z = -96.24464

これらのポイントは、ユーザーがクリックした2つのUnProjectionsから読み取られ、UnprojectionをにターゲットにしようとしていY=0ます。

(単純な平面で3D線平面の交点を見つけましたが、2Dの場合であるため、受け入れられた答えを理解できませんでした)

4

2 に答える 2

3

2つのベクトルとは、実際には2つの点を意味し、これらの2つの点を結ぶ線を。で定義される平面と交差させたいと思いY=0ます。

その場合は、2点間の線の定義を使用できます。

<A + (D - A)*u, B + (E - B)*u, C + (F - C)*u>

<A,B,C>あなたのポイントの1つはどこにあり<D,E,F>、もう1つのポイントはどこにありますか。 uこの線に沿った点を計算するために使用される未定義のスカラーです。

この線を平面と交差させているのでY=0、「Y」セグメントが0である線上の点を見つける必要があります。

具体的には、uinを解きB + (E - B)*u = 0、それを元の線方程式にフィードバックして、X成分とZ成分を見つけます。

于 2010-12-07T23:11:55.647 に答える
2

線の方程式は次のとおりです。

(x–x1)/(x2–x1)  = (y–y1)/(y2–y1) = (z–z1)/(z2–z1)  

したがって、y = 0にすると、交差点の座標が得られます。

x = -y1 * (x2-x1)/(y2-y1) + x1 

z = -y1 * (z2-z1) /(y2-y1) + z1 
于 2010-12-07T23:14:04.073 に答える