平面と線分の交点
平面A、線分ABがあったときに、その交点を求めるには?
要素は3次元空間内に存在するものとします。
解説
平面Fを
a x + b y + c z = d ・・・式①
線分ABを、媒介変数tを用いて、
P = A + t e ・・・式②
A = ( Ax, Ay, Az )
e = [ Bx-Ax By-Ay Bz-Az ]
= [ Ex Ey Ez ]
とします。
式②を成分に分解します。
x = Ax + t Ex
y = Ay + t Ey
z = Az + t Ez
式①に代入します。
a x + b y + c z = d
⇔a (Ax + t Ex) + b ( Ay + t Ey ) + c ( Az
+ t Ez ) = d
⇔a Ax + t a Ex + b Ay + t b Ey + c Az +
t c Ez = d
⇔t ( a Ex + b Ey + c Ez ) = d - a Ax - b
Ay - c Az
⇔t = { d - ( a Ax + b Ay + c Az ) } / (
a Ex + b Ey + c Ez )
DE = a Ex + b Ey + c Ez
とします。
DEがゼロなとき
交点はありません(平面Aと線分ABは平行です)
DEがゼロでないとき
平面Aと直線ABとの交点は、
P = A + t e
A = ( Ax, Ay, Az )
e = [ Bx-Ax By-Ay Bz-Az ]
t = { d - ( a Ax + b Ay + c Az ) } /
( a Ex + b Ey + c Ez )
e < 0 : 点Pは点Aより手前
e > 1 : 点Pは点Aより奥