Skip to content

平面

在3D中,到任意两点距离相等的点的集合为平面

隐式定义

像在2D中定义直线那样,在3D中定义平面为

ax+by+cz=d

相应的向量方式为

p·n=d

其中p为平面上的任意点,向量n为p所在平面的法向量

假设p、q都在平面上,则有

q·n=dp·nq·n=0(pq)·n=0

根据点乘的几何意义何止,向量n垂直与p到q向量所在的平面,为了简化计算,我们一般将向量n认为是单位向量

n的计算

已知平面上三个点,p1、p2、p3,根据上文可知向量n是垂直于3点确定的平面的,那么根据叉乘的几何意义可知

n=(p2p1)×(p3p2)(p2p1)×(p3p2)

计算出单位向量n后,任意选择一个点带入上述隐式定义公式即可计算出d值,从而确定唯一的平面表达式。

多于三个点的“最佳”平面

多于三个点的点集,并不一定都在同一个平面上,也有可能平面是弯曲的,那么如何计算出点集对应的最佳平面呢?

p1=[x1y1z1]p2=[x2y2z2]pn1=[xn1yn1zn1]pn=[xnynzn]

则向量n的最佳坐标为

nx=(z1+z2)(y1y2)+(z2+z3)(y2y3)++(zn1+zn)(yn1yn)+(zn+z1)(yny1)=i=1n1(zi+zi+1)(yiyi+1)ny=(x1+x2)(z1z2)+(x2+x3)(z2z3)++(xn1+xn)(zn1zn)+(xn+x1)(znz1)=i=1n1(xi+xi+1)(zizi+1)nz=(y1+y2)(x1x2)+(y2+y3)(x2x3)++(yn1+yn)(xn1xn)+(yn+y1)(xnx1)=i=1n1(yi+yi+1)(xixi+1)

根据计算出的向量n的坐标,再计算d值

d=1ni=1npi·n=1n(i=1npi)n

INFO

主要点的顺序需要按照多边形顺时针排列,否则计算出的单位向量n方向是相反的

点到平面的垂直距离

任意点到平面的最短距离,也就是垂直与平面的距离,假设任意点为q,向量p为平面上一点而且与q之间的距离是最短距离,则有q到p的向量垂直于平面

img.png

根据向量加法,有

p+a·n=q(p+a·n)·n=q·nd+a=q·na=q·nd