我有一个 3D 点云,我想根据这些点拟合一个平面。我想知道拟合平面的法向量。哪种算法最好?可以给我详细的步骤吗?我打算用R写,有什么可以用的函数吗?
2190 次
1 回答
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
功能应该满足您的需求。计算出 coefficientsA-D
后,向量(A, B, C)
将是法线向量,标量D
将是平面到原点的距离。
于 2015-04-02T01:17:19.267 回答