【问题标题】:Smallest circle which covers given points on 2D plane覆盖二维平面上给定点的最小圆
【发布时间】:2013-03-05 22:49:07
【问题描述】:

问题:在二维平面上覆盖给定 N 个点的圆的最小直径是多少?

解决这个问题最有效的算法是什么?它是如何工作的?

【问题讨论】:

标签: algorithm computational-geometry


【解决方案1】:

这是smallest circle problem。有关建议算法的链接,请参阅参考资料。

E.Welzl,最小的封闭磁盘 (球和椭球),H. Maurer (编),新结果和新趋势 计算机科学,讲义 计算机科学,卷。 555, 施普林格出版社,359–37(1991)

是对“最快”算法的引用。

【讨论】:

  • 谢谢!我想这个答案可以包含在原始问题中,以删除重复项。
【解决方案2】:

对于最小的封闭球问题,有几种算法和实现。

  • 对于 2D 和 3D,Gärtner's implementation 可能是最快的。

  • 1234563 )。
  • 对于非常非常高的维度,core-set(近似)算法会更快。

注意:如果您正在寻找一种算法来计算最小的封闭球体of spheres,您将在Computational Geometry Algorithms Library (CGAL) 中找到一个 C++ 实现。 (您不需要使用所有 CGAL;只需提取所需的头文件和源文件即可。)

【讨论】:

  • 这个算法对球体表面上的点的效果如何?我正在尝试解决这个地理定位问题。
【解决方案3】:

最远点voronoi图方法

http://www.dma.fi.upm.es/mabellanas/tfcs/fvd/algorithm.html

结果证明对于二维问题非常有效。它是非迭代的并且(非常肯定)保证准确。我怀疑它不能很好地扩展到更高的维度,这就是文献中很少关注它的原因。

如果有兴趣,我会在这里描述 - 我认为上面的链接有点难以理解。

编辑另一个链接:http://ojs.statsbiblioteket.dk/index.php/daimipb/article/view/6704

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 2012-05-25
    • 2014-01-13
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多