0%

06 - 三个平面间的相交性检测

在 3D 中,三个平面相交于一点,假设三个平面的隐式方程分别为:

pn1=d1pn2=d2pn3=d3\begin{aligned} \bold{p} \cdot \bold{n_1} = d_1 \\ \bold{p} \cdot \bold{n_2} = d_2 \\ \bold{p} \cdot \bold{n_3} = d_3 \end{aligned}

三个平面相交于一点:

p=d1(n3×n2)+d2(n3×n1)+d3(n1×n2)(n1×n2)n3\bold{p} = \frac{ d_1(\bold{n_3} \times \bold{n_2}) + d_2(\bold{n_3} \times \bold{n_1}) + d_3(\bold{n_1} \times \bold{n_2}) } { (\bold{n_1} \times \bold{n_2}) \cdot \bold{n_3} }

screenShot.png

NOTE
若其中任意一对平面平行,意味着交点不存在或者不唯一,分母为零。