【问题标题】:reference algorithm for weighted voronoi diagrams?加权voronoi图的参考算法?
【发布时间】:2013-04-08 02:43:11
【问题描述】:

有人可以指点我参考实现如何构建(乘法和/或加法)加权 voronoi 图,最好基于 Fortune 的 voronoi 算法?

我的目标: 给定一组点(每个点都有一个权重)和一组边界边(通常是一个矩形),我想使用 python 或 processing.org-framework 构建一个加权 voronoi 图。这是example

到目前为止我所做的工作: 到目前为止,我已经实现了 Fortune 的算法以及 Michael Balzer's paper 中介绍的“centroidal voronoi tessellation”。算法 3 说明了如何调整权重,但是,当我实现这个时,我的几何不再起作用了。为了解决这个问题,必须更新扫描线算法以考虑权重,但到目前为止我一直无法做到这一点。 因此,我想看看其他人是如何解决这个问题的。

【问题讨论】:

    标签: algorithm data-structures geometry voronoi


    【解决方案1】:

    对于到中心的距离使用乘法因子加权的情况,几乎没有“现成的”开源代码。 据我所知,当前的 CGAL 软件包都没有涵盖这种情况。

    Takashi Ohyama 精美多彩的网站提供了 java 实现 http://www.nirarebakun.com/voro/emwvoro.html 使用简单算法(欧几里得距离和曼哈顿距离)最多可获得 100 个点。 还有一篇论文描述了这种简单的交集算法和 O(n^3) 时间内的近似实现,作为 TerraView 的插件。 但是,我在 TerraView / TerraLib 存储库中找不到此插件的源代码: http://www.geoinfo.info/geoinfo2011/papers/mauricio1.pdf

    Aurenhammer 和 Edelsbrunner 描述了一个最佳的 n^2 时间算法,但我不知道有可用的代码。

    【讨论】:

      【解决方案2】:

      对于加性加权 Voronoi 图:Remember that a power diagram in dimension n is only a(n unweighted) Voronoi diagram in dimension n+1

      为此,请记住,如果将任何常数添加到坐标中,点集的 Voronoi 图是不变的,因此加权 Voronoi 图可以使用坐标写为非加权 Voronoi 图,例如2D 提升到 3D:
      (x_i, y_i, sqrt(C - w_i))
      其中 w_i 是种子的权重,C 是任意大的常数(实际上,一个小到足以使 C-w_i 为正的常数)。
      计算图表后,只需丢弃最后一个组件。

      因此,基本上,与您的问题相比,您只需要找到一个能够处理维度为 n+1 的 Voronoi 图的库。 CGAL 可以做到这一点。这也使得实现变得非常容易。

      【讨论】:

        【解决方案3】:

        这种计算并不容易,但它在 CGAL 中是可用的。见the manual pages here.



        另请参阅Effective Computational Geometry 项目,该项目雇佣并 支持 CGAL:

        【讨论】:

          【解决方案4】:

          如果您愿意深入了解Octave,您可以参考他们的library 中提供的代码。

          【讨论】:

          • 此外,该库通常为可能有用的特定算法或实现提供外部资源。
          • 感谢您的回复!我看过Octave documentation,但不幸的是,我没有看到任何描述我如何构造加权voronois 的API。它似乎只支持一般的 voronoi 图,例如最近邻分析。我错过了什么吗?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多