同じ平面上にある 2 つの 3D ラインがあります。line1
は点 ( ) とその方向ベクトル ( ) で定義され、 は点 ( x1, y1, z1
) とその方向ベクトル ( a1, b1, c1
)でline2
定義されます。次に、両方の線のパラメトリック方程式は次のとおりです。x2, y2, z2
a2, b2, c2
x = x1 + a1*t; x = x2 + a2*s;
y = y1 + b1*t; y = y2 + b2*s;
z = z1 + c1*t; z = z2 + c2*s;
両方の方向ベクトルが非ゼロの場合、上記の方程式の右辺を等式化し、3 つのうちのいずれか 2 つから と を解くことで、交差ノードの位置を簡単に見つけることができt
ますs
。ただし、a1 b1 c1 a2 b2 c2
すべてがゼロではない可能性があるため、これらの方程式を同じ方法で解くことはできません。私の現在の考えは、この問題をケースバイケースで処理することです。
case1: a1 = 0, others are nonzero
case2: a2 = 0, others are nonzero
case3: b1 = 0, others are nonzero
...
しかし、全体として非常に多くのケースがあり、実装が面倒になります。この問題に対処する良い方法はありますか? 参照はありますか?どうもありがとう!