【发布时间】:2014-03-24 19:47:00
【问题描述】:
我有一些看起来像这样的点。
这些点形成的轨迹可以是圆形或椭圆形。很明显,上面两张图中圆形轨道的中心是不同的。
我怎样才能找到这些轨道的中心点(圆形/椭圆形)?我想找到作为中心的 (x,y) 坐标,不必一定是点在绘制的数据集中。即,我不想要 medoid。
编辑:另外,我是否可以找到一个包含大部分这些点的圆/椭圆方程?在椭圆轨道中,我添加了一个包含这些点的椭圆在轨道上。这些值是通过反复试验计算的。中心也是通过观察该图来计算的。如何以编程方式执行此操作?
【问题讨论】:
-
我认为只是取 x 和 y 坐标的平均值不足以满足您的目的?
-
是的。仅仅取平均值并不总是给我准确的中心。
-
我猜你想要一些方法来让你的点集适合椭圆。也许您可以拟合 z = p(x,y) 其中 p 是二次多项式,z 是您使用 OLS 将所有数据点设置为 0 的变量?那么得到椭圆的中心应该是微不足道的。
-
对不起,你能详细说明一下吗?我没听懂。
-
对不起,更多的是半生不熟的想法。我在想您可以尝试使用 z = A1*x^2 +A2*y^2 + A3 x*y + A4 x + A5 y + A6 的形式,其中 z 是您设置为 0 的“假”变量对于所有数据点。这为您提供了一个椭圆方程,您可以将其中心坐标写为 Ai 系数的某个函数。但不确定它在实践中的效果如何。
标签: center computational-geometry point centroid