1

假设你有一条通过一堆数据集坐标生成的任意闭合曲线(端点返回相对接近第一个点),你如何找到结果形状的中心点和边界?

4

3 回答 3

3

您的问题有两种可能的解释(也许更多)。

@AakashM 已经解决了第一个问题,我们可以在下面的图中描述它:
替代文字

其中红色方块是“边界”。
我会在这里引用@AakashM,因为我理解他的评论非常重要:“(我注意到,为了让你有一条闭合曲线,你需要端点不仅仅是'接近',而是与第一点重合)”

至于中心点,您至少有两种“自然方式”来使用这个定义来计算它:

  1. 中心点 = 红场的中点
  2. 中心点 = { 曲线 x 坐标的平均值,曲线 y 坐标的平均值}

两者都可以作为中心点,但结果会有所不同。

解决问题的另一种方法是找到曲线的凸包,如下图所示:

替代文字

如果你用谷歌搜索它,你会发现找到凸包的算法,这里有一个很好的介绍。

同样,您有两种“计算中心点的自然方法:

  1. 中心点 = { 曲线 x 坐标的平均值,曲线 y 坐标的平均值}
  2. 中心点 = { CH 点的 x 坐标的平均值,CH 点的 y 坐标的平均值}

于 2010-11-19T12:05:16.847 回答
2

(我注意到,为了让您拥有一条闭合曲线,您需要端点不仅“接近”,而且与第一点重合)

如果“中心点”是指质心,并且假设密度均匀,那么这个问题就是你想要的。

如果“边界”是指边平行于轴的边界矩形,则只需要曲线上的最小和最大 x 和 y 值。

如果其中任何一个不是你的意思,请说...

于 2010-11-19T11:07:06.897 回答
0

对于边界,您可以参考@belisarius 和@AakashM 给出的答案。

至于中心点,你想要“质心”。好的 'ol Wikipedia 在http://en.wikipedia.org/wiki/Center_of_masshttp://en.wikipedia.org/wiki/Centroid有解释和食谱。

通常,计算质心与计算顶点的平均值会得到不同的结果。如果顶点不是均匀分布的,这种差异将很明显。

于 2010-11-20T16:31:24.697 回答