2平面の交線
平面F1、平面F2があったときに、その交線を求めるには?
    要素は3次元空間内に存在するものとします。
    
    
解説
平面F1を
     a1 x + b1 y + c1 z = d1 ・・・式①
    平面F2を
     a2 x + b2 y + c2 z = d2 ・・・式②
    とし、
    交線Lを交線の通る点A、交線の方向ベクトルe、媒介変数t、を用いた、
    P = A + t e
    として求めることとします。
    
    交線の方向ベクトルe は、2つの平面の法線ベクトルと垂直なベクトルです。
    2つのベクトルと垂直なベクトルは、外積計算により求まります。
    e = [ b1 c2 - c1 b2 c1 a2 - a1 c2 a1 b2 -
b1 a2 ]
    このベクトルの各成分は、後で使用するので、
    Xe = b1 c2 - c1 b2
    Ye = c1 a2 - a1 c2
    Ze = a1 b2 - b1 a2
    とします。
    
    次に、交線が通る任意の1点Aを求めます。
    これは、言いかえると、式①、式②をとともに満たすをx
y z の組を見つけることです。
    
    連立3元1次方程式を、z = 0 として、連立2元1次方程式に見立てて、x、yを求めます。
    a1 x + b1 y = d1 ・・・式③
    a2 x + b2 y = d2 ・・・式④
    式③、式④より
    x = ( d1 b2 - d2 b1 ) / ( a1 b2 - a2 b1 )
     = ( d1 b2 - d2 b1 ) / Ze
    y = ( d1 a2 - d2 a1 ) / ( b1 a2 - b2 a1 )
     = ( d1 a2 - d2 a1 ) / ( - Ze )
    
    Ze がゼロでなければ、( x , y , 0 )という形で点Aが求まります。
    
    Ze がゼロのときには、y = 0 として、連立2元1次方程式に見立てて、x、zを求める。
     a1 x + c1 z = d1 ・・・式⑤
     a2 x + c2 z = d2 ・・・式⑥
    式⑤、式⑥より
    x = ( d1 c2 - d2 c1 ) / ( a1 c2 - a2 c1 )
     = ( d1 c2 - d2 c1 ) / ( - Ye )
    z = ( d1 a2 - d2 a1 ) / ( c1 a2 - c2 a1 )
     = ( d1 a2 - d2 a1 ) / Ye
    
    Ye がゼロでなければ、( x , 0 , z )という形で点Aが求まる。
    
    Ze, および Ye がゼロのときには、x = 0 として、連立2元1次方程式として、y、zを求める。
     b1 y + c1 z = d1 ・・・式⑦
     b2 y + c2 z = d2 ・・・式⑧
    式⑦、式⑧より
    y = ( d1 c2 - c2 c1 ) / ( b1 c2 - b2 c1 )
     = ( d1 c2 - d2 c1 ) / Xe
    z = ( d1 b2 - d2 b1 ) / ( c1 b2 - c2 b1 )
     = ( d1 b2 - d2 b1 ) / ( - Xe )
    
    Xe がゼロでなければ、( 0 , y , z )という形で点Aが求まる。
    
    Xe, Ze, Ye がすべてゼロのときには、2つの平面は平行で交線がない場合です。
    
    
    まとめますと、
    まず、2つの平面の法線ベクトルの外積計算により、交線の方向ベクトル
を求めます。
    e = [ b1 c2 - c1 b2 c1 a2 - a1 c2 a1 b2 -
b1 a2 ]
    ここで、
     Xe = b1 c2 - c1 b2
     Ye = c1 a2 - a1 c2
     Ze = a1 b2 - b1 a2
    とします。
    交線Lが通る点Pは、
    Ze ≠ 0 のとき、
     ( ( d1 b2 - d2 b1 ) / Ze, ( d1 a2 - d2
a1 ) / ( - Ze ), 0 )
    Ye ≠ 0 のとき、
     ( ( d1 c2 - d2 c1 ) / ( - Ye ), 0, ( d1
a2 - d2 a1 ) / Ye )
    Xe ≠ 0 のとき
     ( 0, ( d1 c2 - d2 c1 ) / Xe, ( d1 b2 -
d2 b1 ) / ( - Xe ) )
    Xe = 0, Ye = 0, Ze = 0 のとき、
     交線はありません(2平面は平行です)
    
    
