【问题标题】:Applications of Voronoi without Delaunay?没有 Delaunay 的 Voronoi 的应用?
【发布时间】:2021-09-06 17:05:29
【问题描述】:

如果这是真的: How to query a Voronoi diagram?

问题“给定点属于哪个站点?”只是说明最近邻搜索问题的另一种方式:相关的 Voronoi 多边形是与生成 Voronoi 图的集合中的最近点相关联的多边形。不幸的是,

  • 没有任何恒定时间算法可以解决这个问题,并且
  • Voronoi 图没有比 O(N) 搜索更快地解决问题。

我们如何实际使用它们?

我的意思是,我知道我可以为其构建基于 Delaunay 的搜索树,但我现在不需要 Voronoi 图来构建 Delaunay 三角剖分,对吗?

那么,Voronoi 有什么实际用途 - 除了将其打印在地图上以便人类消化外 - Voronoi 有什么用处?

什么问题可以用没有对偶的 Voronoi 图来解决(当然比没有它更有效)?

【问题讨论】:

    标签: graph voronoi delaunay


    【解决方案1】:

    这取决于访问模式。由于这两个图是对偶的,所以都包含基本相同的信息。然而,根据实际经验,计算 Voronoi 顶点需要逐个案例进行昂贵的多精度算术,因为存在退化设置并且因为存在无限和几乎无限的 Voronoi 单元。因此,根据访问模式,一次计算 Voronoi 图通常比使用 Delaunay 三角剖分并一遍又一遍地计算其对偶元素更有效。

    另一方面,Delaunay 三角剖分中的最近邻搜索要简单得多,因此我为Voronoi diagram 选择了混合数据表示。它使用 Delaunay 三角剖分在其之上的 Voronoi 表示,因此点可以在 O(log(n)) 时间内定位。性能表明这是一个很好的方法:对于具有 n=1000 个站点的 Voronoi 图中的一百万个查询,只需要 0.3 秒。

    编辑:对于最近邻查询,您不需要 Voronoi 单元。但是对于对边界或 Voronoi 单元区域感兴趣的算法。举几个例子:Centroidal Voronoi TesselationNatural Neighbor InterpolationMedial Axis

    【讨论】:

    • 嗯...这并不能真正解决我的问题。为什么我还是要检索 voronoi 单元格?我的意思是,Voronoi 的优点在于,如果我知道我的查询点所在的单元格,我就能确切地知道哪个站点离我的查询点最近。但是,如果我只对最近的站点感兴趣,并且我可以很容易地通过 delaunay 三角测量找到它……我为什么需要 Voronoi?
    • 如果您只对最近邻查询感兴趣,则不需要 Voronoi 单元。但是您问为什么根本需要 Voronoi 图。对边界或 Voronoi 单元区域感兴趣的算法就是这种情况。在此处仅找到两个示例:en.wikipedia.org/wiki/Centroidal_Voronoi_tessellation 和此处:en.wikipedia.org/wiki/Natural_neighbor_interpolation
    • 谢谢,这就是我想要的。 :) 您能否将您对何时实际使用 Voronoi 图的评论纳入您的答案?
    猜你喜欢
    • 2011-09-23
    • 2021-11-23
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多