2015-04-02 49 views
0

我有一个3D点云,我想根据这些点拟合平面。我想知道拟合平面的法向量。哪种算法最好?请给我详细的步骤?我打算使用R编写,我可以使用的任何函数?如何适合基于3D点云的平面

回答

1

三维飞机的方程式为Ax + By + Cz + D = 0。因此,最佳拟合平面将选择A,B,CD,以便在公式中插入三维坐标时,结果尽可能接近零。换句话说,你正在寻找满足矩阵方程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将是平面离原点的距离。

+0

您还需要添加一些额外条件(例如A²+B²+C²= 1),因为显然A = B = C = D = 0始终是一个精确解。 – 6502 2016-07-23 14:42:18