将椭球拟合到3D数据点

Han*_*esh 6 math geometry least-squares

我有一大堆3D数据点,我想要适合椭圆体.

我的数学很差,所以我在没有任何数学库的情况下无法实现最小二乘法.

有没有人知道或者有一段代码可以将椭球放到数据中,我可以直接插入到我的项目中?在C中最好,但是从C++,Java,C#,python等转换对我来说应该没问题.

编辑:能够找到该中心也将是一个巨大的帮助.请注意,这些点的间距不均匀,因此取平均值不会产生中心.

小智 6

干得好:

本文描述了将椭圆体拟合到多个维度,以及找到椭圆体的中心.希望这可以帮助,

http://www.physics.smu.edu/~scalise/SMUpreprints/SMU-HEP-10-14.pdf

(顺便说一下,我假设这个答案有点晚了,但我想我会为那些在你的问题中偶然发现同样事情的人添加这个解决方案:)


and*_*and 1

考虑到您所描述的数据的性质,最小二乘数据拟合可能是一种很好的方法。GNU科学库包含线性非线性最小二乘数据拟合例程。在您的情况下,您也许能够将数据转换为线性空间并使用线性最小二乘法,但这取决于您的实际用例。否则,您将需要使用非线性方法。