3つの平面に交わる交点

plane-point.png

平面が法線と、平面上の任意の点で定義されている場合

(1)
\begin{align} p=\frac{(p_1・n_1)(n_2 \times n_3)+(p_2・n_2)(n_3 \times n_1)+(p_3 ・n_3)(n_1 \times n_2)}{|n_1 n_2 n_3|} \end{align}

分母は3平面の法線の行列式である
あー、せっかく平面を法線と距離だけでシンプルに定義したのに「平面上の点」も定義しなきゃいけないんだ。めんどくさいな。
[1]によるおすすめは原点に一番近い点を使うこと
なので$p_i=d_in_i$と置換えられる。
それで更に置き換えるとこうなる

(2)
\begin{align} p=\frac{((d_1n_1)・n_1)(n_2 \times n_3)+((d_2n_2)・n_2)(n_3 \times n_1)+((d_3n_3) ・n_3)(n_1 \times n_2)}{|n_1 n_2 n_3|} \end{align}

分母の行列式がよくわからんな
こっち[2]の本によれば

(3)
\begin{align} p=\frac{d_1(n_2 \times n_3)+d_2(n_3 \times n_1)+d_3(n_1 \times n_2)}{(n_1 \times n_2)・n_3 } \end{align}

この場合法線ベクトルは長さ1じゃなくてもいけるらしい。

参考にした書籍

サポートサイト Wikidot.com