1. 程式人生 > 其它 >計算空間平面的交線

計算空間平面的交線

空間兩個平面的點法式引數為

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

都已計算出來

算例略