计算空间平面的交线

空间两个平面的点法式参数为

A:  a,  na

B:  b,  nb

   |A      

   |         

 - c-------b----B  

   |

 上图是示意图,垂直交线过点b截平面A和B的结果

 

直线的点法式表示也是参数曲线的表示,如果

na 叉乘 nb得到的三维向量vc长度不为0

(length(na ^ nb)>ERR,其中ERR为1e)

则交线存在,交线的方向向量为vc

然后我们做一个平面b,vc可知这个平面就是上面示意的截平面的点法式

且点法式可以变换为一般形式Ax+By+Cz=D

例图面A,则是基于该面上a点到任何点p(x y z)的

向量和法向量的点乘为0

(p-a) * na  =0  =>

na.x*x+na.y*y+na.z*z=a*na

 

这样三个垂直的平面得到三个一般形式

A0x+B0y+C0z=D0

A1x+B1y+C1z=D1

A2x+B2y+C2z=D2

 

这又是一个MX=Y

用克莱姆法求解得到唯一的公共交点c

则平面A和B的交线的原点c和方向向量vc

都已计算出来

 

算例略

 

计算空间平面的交线

上一篇:手写堆


下一篇:访问者模式