主题
Search

点-面距离


PointPlaneDistance

给定一个平面

 ax+by+cz+d=0
(1)

和一个点 x_0=(x_0,y_0,z_0),平面的法向量由下式给出

 v=[a; b; c],
(2)

以及从平面到点的向量由下式给出

 w=-[x-x_0; y-y_0; z-z_0].
(3)

投影 wv 得到从点到平面的距离 D

D=|proj_(v)w|
(4)
=(|v·w|)/(|v|)
(5)
=(|a(x-x_0)+b(y-y_0)+c(z-z_0)|)/(sqrt(a^2+b^2+c^2))
(6)
=(|ax+by+cz-ax_0-by_0-cz_0|)/(sqrt(a^2+b^2+c^2))
(7)
=(|-d-ax_0-by_0-cz_0|)/(sqrt(a^2+b^2+c^2))
(8)
=(|ax_0+by_0+cz_0+d|)/(sqrt(a^2+b^2+c^2)).
(9)

去掉绝对值符号得到有符号距离,

 D=(ax_0+by_0+cz_0+d)/(sqrt(a^2+b^2+c^2)),
(10)

如果 x_0 与法向量 v 在平面的同一侧,则为正值;如果在平面的另一侧,则为负值。

对于以 Hessian 法式指定的平面,这可以非常方便地用简单方程表示

 D=n^^·x_0+p,
(11)

其中 n^^=v/|v| 是单位法向量。因此,平面到原点的距离由 p 给出(Gellert et al. 1989, p. 541)。

给定三个点 x_i,其中 i=1, 2, 3,计算单位法向量

 n^^=((x_2-x_1)x(x_3-x_1))/(|(x_2-x_1)x(x_3-x_1)|).
(12)

那么,从点 x_0 到包含这三个点的平面的(有符号)距离由下式给出

 D_i=n^^·(x_0-x_i),
(13)

其中 x_i 是这三个点中的任意一个。展开坐标表明

 D=D_1=D_2=D_3,
(14)

因为所有点都在同一平面上,所以必须如此,尽管从上面的向量方程来看,这一点远非显而易见。

当点位于由其他三个点确定的平面上时,称其与它们共面,并且上面公式给出的距离坍缩为 0。


另请参阅

共面, Hessian 法式, 平面, , 投影定理

使用 Wolfram|Alpha 探索

参考文献

Gellert, W.; Gottwald, S.; Hellwich, M.; Kästner, H.; and Künstner, H. (Eds.). VNR Concise Encyclopedia of Mathematics, 2nd ed. 纽约: Van Nostrand Reinhold, 1989.

在 Wolfram|Alpha 中引用

点-面距离

引用为

Weisstein, Eric W. “点-面距离。” 来自 MathWorld——Wolfram 网络资源。 https://mathworld.net.cn/Point-PlaneDistance.html

主题分类