2015-04-02 109 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