翻譯:羅朝輝 (
本文遵循「署名-非商業用途-保持一致」創作公用協議
平面方程
平面上的一點以及垂直於該平面的法線唯一定義了 3d 空間的乙個平面。
(圖一) 3d 空間的平面
在圖一中,給定法線向量
,以及平面上的一點 p1,對於平面上的任意一點 p ,我們可以在平面上定義乙個由 p1 指向 p 的向量:
因為法線
垂直於平面,它必定也垂直於位於平面上的向量
,因此它們的點積為 0 :
以上就是平面方程的向量形式,下面我們來看代數形式的,通過點積計算,我們得到:
如果我們用
來替代上面表示式中的常數部分,就得到平面方程的代數形式:
如果法線是歸一化的,那麼平面方程中的常數表示式 d 就是原點到平面的距離。
(圖二)平面和歸一化法線
如圖二中,給定歸一化法線向量 (a1, b1, c1),以及平面上的一點 p1 (da1, db1, dc1),我們來推導原點到平面的距離 d。 將法線向量(a1, b1, c1) 和點 p1 代入平面方程,得到:
因此,我們可以用標準平面方程除以法線的模(法線長度)來計算原點到平面的距離。舉個例子,原點到以 (1, 2, 2) 為法線的平面(x + 2y + 2z - 6 = 0)的距離為 2,計算過程如下:
(圖三) 任意點到平面的距離
如圖三中,我們來推導空間中任意一點 p2 到平面的距離 d 的計算公式。p2 到平面的距離等於由 p1 指向 p2 的向量
在法線向量
上的投影。我們用點積來計算投影距離 d :
展開分子
:代入前面的距離公式,得到最終的點到平面的距離公式:
觀察上面的式子,我們就可以發現距離 d 是將點 p2 代入平面方程中,再除以法線的模得到的。舉個例子,點(-1, -2, -3)到平面 x + 2y + 2z - 6 = 0 的距離為:
注意:距離是有符號的!它可以為負值,我們可以通過這個符號來決定點位於平面的哪一邊(d > 0,點在平面的正面-法線指向那一邊;d < 0,帶在平面的反面-法線相反方向的那一邊,當然 d = 0 就是在平面上啦!)。
matlab求解平面方程的原理
已知三點p1,p2,p3,求其平面方程 syms x y z p1,p2,p3的座標由自己定義。p1 x1,y1,z1 p2 x2,y2,z2 p3 x3,y3,z3 那麼求解下面矩陣q行列式就是了 q ones 4,1 x,y,z p1 p2 p3 detb det q 最後令 q 0 這裡的求解...
叉積求點到平面距離 平面方程怎麼求
已知兩點和乙個向量都在同乙個平面上,兩點可以組成乙個向量。這兩點組成的向量能求出來,同時還已知直線的方向向量,所以通過求法線就可以得到平面方程。推薦閱讀 sinx的倒數及推導過程 已知點和直線求平面方程 任取直線上一點,與直線外已知點構成向量,顯然該向量位於平面內 然後根據直線方程得到直線方向向量,...
已知三點求平面方程 平面法向量和點到平面的距離
已知三點p1 x1,y1,z1 p2 x2,y2,z2 p3 x3,y3,z3 要求確定的平面方程 關鍵在於求出平面的乙個法向量,為此做向量p1p2 x2 x1,y2 y1,z2 z1 p1p3 x3 x1,y3 y1,z3 z1 平面法線和這兩個向量垂直,因此法向量n 平面方程 a x x1 b ...