平⾯⽅程(PlaneEquation)求解⽅法
假设在三维世界中存在⼀个平⾯,如图
⼀个平⾯可以通过如下表达式表达
匡衡简介
(1)其中,(x,y,z)是在该平⾯上上的点的3D坐标。(A,B,C)能够构成该平⾯的⼀个法向量n。
人格的核心那么,怎么通过⼀堆离散的点来求解这个平⾯呢?⾸先我们可以简单的⽤⼀个平⾯的法向量来表征⼀个平⾯。中国医师节
⽅法1:
假设在某个平⾯中存在着三个坐标点分别是M1(x1,y1,z1),M2(x2,y2,z2),M2(x2,y2,z2),那么我们可以得到该平⾯上的两个向量
M1M2=M2-M1
M1M3=M3-M1
轻度弱智
那么,我们需要求解的平⾯是不是就和这两个向量都平⾏呢?当然平⾏!换⽽⾔之,这两个向量所构成的平⾯就是我们所求解的平⾯。所以我们所求平⾯的法向量也就必定和这两个向量所构成的平⾯垂直。最后,也就是说法线必定与上述两个向量垂直。
办公室业务
n= M1M2 x M1M3
最终,我们通过平⾯中的3个点求解出来平⾯的法向量来表征该平⾯。
⽅法2:焰组词
⽅法1⽐较简单,利⽤⾼中的⼏何知识就可以轻易解决,那么⼤家有没有想过⼀个问题:在实际情况中,我们得到的某个平⾯的点集可能是存在⼀定的误差的,换⽽⾔之,某⼀些点虽然被归为某⼀个平⾯,但是由于测量误差的存在,它们可能是在三维坐标系中的位置是⾼于或者低于我们所求平⾯的。所以,当我们从中选取3个点去求解平⾯的时候就会存在⽐较明显的误差。所以,要是能够充分利⽤所有测量到的平⾯中的点的信息,则会增加我们的估计精度。
清华大学博士后
假如我们有N个点,这N个点都是基本满⾜公式(1),虽然存在⼀些误差。那么,它们应该基本满⾜下⾯的公式:
针对上述问题,我们可以将它归为⼀个最⼩⼆乘问题:
这是⼀个AX=0的线性⽋定⽅程。在假设法线模为1的前提下,忽略对D的求解,我们可以对左边矩阵进⾏SVD分解,得到在未知向量模为1下的解。最终实现对平⾯法线的求解,当然这是⼀个近似解啦~
⽅法3
晚安短信