【问题标题】:Insert a point into a finite 2D region with maximum distance to existing points将一个点插入到与现有点的最大距离的有限二维区域中
【发布时间】:2010-12-14 11:22:48
【问题描述】:

我在有限的 2D 空间区域内有一组 2D 点(假设是一个与世界对齐的矩形,以保持现在的简单性)。将一个新点插入到与其新的最近邻距离相对较大的集合中,什么是一种极其有效的方法?

我可以慢慢建立一个 Delaunay 三角剖分并将我的搜索限制在最大的三角形上,但我希望有人有不同的(更好的)想法。

善意, 大卫


编辑:

忘了提到我需要这样做数千次,每次都要考虑到前面的所有要点。我正在寻找一种不会随着我的点集增长而减速到爬行的算法。

【问题讨论】:

  • 所以你在空间的某处任意插入新点,然后移动它,使其与最近的邻居的距离尽可能大?请说明如何插入新点。
  • @Jacob,我还没有在任何地方插入点。我只是想找个地方插入一个,这样新插入的点和最近邻的距离比较大。

标签: geometry 2d point insertion


【解决方案1】:

使用 Bowyer-Watson 或其他增量算法来维护 Voronoi 图。 Voronoi 图的顶点是候选点,将所有候选点按到源点的距离排序在一个优先级队列中。这应该非常快,并且是最佳的(至少在每一步都是最佳的)。

您是否在寻找更快且不太理想的东西?

【讨论】:

  • 人们可能想要添加想要检查的细节作为候选点,即voronoi 边缘与感兴趣区域边界的交点。
  • 感谢 Keith,这实际上与我已经提到的方法相同(Delaunay 三角剖分外圆中心点与 Voronoi 地图的顶点相同)。但至少我没有错过任何酷炫的技巧。
猜你喜欢
  • 2012-01-09
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 2020-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多