0
我有一个3D点云,我想根据这些点拟合平面。我想知道拟合平面的法向量。哪种算法最好?请给我详细的步骤?我打算使用R编写,我可以使用的任何函数?如何适合基于3D点云的平面
我有一个3D点云,我想根据这些点拟合平面。我想知道拟合平面的法向量。哪种算法最好?请给我详细的步骤?我打算使用R编写,我可以使用的任何函数?如何适合基于3D点云的平面
三维飞机的方程式为Ax + By + Cz + D = 0
。因此,最佳拟合平面将选择A
,B
,C
和D
,以便在公式中插入三维坐标时,结果尽可能接近零。换句话说,你正在寻找满足矩阵方程Mv = 0
,其中M
是一个矩阵代表你的数据点的最佳载体v
:
| 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
将是平面离原点的距离。
您还需要添加一些额外条件(例如A²+B²+C²= 1),因为显然A = B = C = D = 0始终是一个精确解。 – 6502 2016-07-23 14:42:18