编辑 正如有人指出的那样,我要找的实际上是最小化所有其他点之间总测地线距离的点。
我的地图在拼图和宇宙射击游戏中类似于地形。越过顶部将会传送到底部,越过左侧将会传送到右侧。
假设我在地图上有两个点(质量相同),我想找到它们的重心。我可以使用经典定义,基本上是中点。
然而,假设这两个点位于质量的两端。还有另一个所谓的重心,通过"绕着边缘"形成。基本上,它是与其他两个点等距离但由“绕过边缘”连接的点。
举个例子
b . O . . a . . O .
有两个点O
。它们的“经典”中点/质心是标记为a
的点。然而,另一个中点也在b
(通过绕过,b
到两个点的距离相等)。
在我的情况下,我想选择两个点之间平均距离较小的那个。在这种情况下,a
两个点之间的平均距离为三步。b
的平均距离为两步。因此,我会选择b
。
解决两点问题的一种方法是简单地测试经典中点和最短的绕过中点,并使用具有较短平均距离的那个。
然而!这不容易推广到3个点、4个点、5个点或n个点。
是否有公式或算法可以用来找到这个?
(假设所有点的质量始终相等。我只使用“质心”这个术语,因为它是我所知道的唯一一个粗略描述我想要做的事情的术语)
如果我的解释不清楚,我会尽力解释得更好。