通过最小化正交距离最佳拟合平面

时间:2011-07-31 04:24:39

标签: algorithm geometry regression

我有一组从表面网格获得的点(格式为 x1,y1,z1 ... xn,yn,zn )。我想通过最小化正交距离找到最适合这些点的3D平面。 x,y,z 坐标是独立的,即我想获得平面方程Ax + By + Cz + D = 0的系数A,B,C,D。

获得A,B,C,D的算法是什么?

注意:在previous post中,通过考虑 z 坐标 x,y的线性函数,讨论了最小二乘意义下的最佳拟合平面。然而,这不是我的情况。

2 个答案:

答案 0 :(得分:5)

从记忆中,这变成了一个特征向量问题。从点到平面的距离与Ax + By + Cz + D成比例 - 一种方法是要注意平面的法线是(A,B,C)。常数D是颈部疼痛,但我认为你可以通过重新定义你的变量来将它转移到一个常数,以便一切都具有平均值0来摆脱它。在这种情况下,我认为最合适的平面将通过原点

然后您会发现想要最小化SUM_i(X_i.A)^ 2,其中A是3向量。当然,你可以通过将A的所有分量乘以一些小标量来使这个任意小,所以你想要将这个主题最小化到例如约束条件下。 || A || ^ 2 = 1,通过使A成为单位向量来理解比例性。 (X_i.A)^ 2 = A'(X_i'X)A,所以你想要最小化 A'(SUM_i(X_i'X_i))A所以我想你想要SUM_i的最小特征向量X_i'X_i

在统计数据中不经常使用的一个原因是,如果您缩放任何坐标向量的单位而没有类似地将其他方向上的单位缩放相同的数量,则获得的答案将会改变。

想想看,你可以在http://en.wikipedia.org/wiki/Total_least_squares

看到所有这些都得到了解决

答案 1 :(得分:2)

Least Squares Fitting of Data,第2节:“使用正交回归对nD点进行线性拟合”。

正如mcdowella所提到的,你需要解决一个3x3的特征系统。