如何找到包含所有给定点的最小半径圆?

时间:2009-10-03 09:31:50

标签: geometry plane convex-hull minimum-size

假设我在飞机上有大约1000个奇点。

然后,我认为可以做的是以任何方式丢弃不影响圆的半径的点 - convex hull未通过的点 [使用其中一个several algorithms]。这给我们留下了重要的一点。

现在从这里开始,可以做些什么来找到最小半径圆?

一旦我理解了如何为圆圈做到这一点,我希望将其概括为椭圆。

指向某些“公共源代码”的任何链接都会有所帮助,因此我可以将其修改为省略号。

2 个答案:

答案 0 :(得分:4)

这被称为Minimal Enclosing Circle问题(我很困惑为什么你的谷歌搜索没有显示任何内容),并讨论了hereherehere和在许多其他地方。

答案 1 :(得分:2)

一个选项是CGAL Computational Geometry Algorithms Library。它是开源的,但它也很大 - 我怀疑,你将遇到的最大问题是在大海捞针中找到针头。

当然(这部分是对Martin的道歉),您可以轻松地使用Google找到更多关注的选项。我尝试时列出的第二项看起来没问题,如果你不介意Prolog,并且在结果的第一页上至少有一个C示例和一个Javascript。你几乎不能声称不再向谷歌知道这些话。