我有一个3D点云,我想要根据这些点拟合飞机。我想知道拟合平面的法向量。哪种算法最好?你能给我详细的步骤吗?我打算用R编写,我可以使用任何函数吗?
答案 0 :(得分:1)
三维平面的方程为Ax + By + Cz + D = 0
。因此,最佳拟合平面将是选择A
,B
,C
和D
的平面,以便在将3-D坐标插入到公式,结果尽可能接近零。换句话说,您正在寻找满足矩阵方程v
的最佳向量Mv = 0
,其中M
是表示数据点的矩阵:
| x1 y1 z1 1 | | A | Need to solve:
| x2 y2 z2 1 | | B | Mv = 0
M = | x3 y3 z3 1 | v = | C |
| . . . | | D |
| xn yn zn 1 |
我不熟悉R,但快速谷歌搜索说lsfit
函数should do what you need。计算系数A-D
后,向量(A, B, C)
将成为法线向量,标量D
将是平面距离原点的距离。