【问题标题】:Having the final Thiessen polygons, is it possible to find the initial set of points?拥有最终的泰森多边形,是否可以找到初始点集?
【发布时间】:2017-10-13 13:00:06
【问题描述】:

我正在尝试找到一种方法来反转 Voronoi 算法。

基本上,有一些主要由三角形和正方形组成的连接形状,我试图找到一组点,通过使用 Voronoi 算法将重新创建初始形状。

【问题讨论】:

    标签: algorithm computational-geometry voronoi


    【解决方案1】:

    简介。 在 1985 年 Ash 和 Boker 的部分解决方案之后,Biedl et al. 在 2013 年的一篇论文中解决了这个问题。如果您的 Voronoi 节点都是奇数度,那么 Ash 和 Bolker 的算法适用于您。

    首先请注意,可能没有 个点集,但 许多 个点集都具有您要求的相同 Voronoi 图。例如,考虑这张图片

    取自this website。红点集和蓝点集为您提供相同的黑色 Voronoi 图。 (顺便说一下,红色和蓝色多边形的straight skeletons 也与点集的 Voronoi 图重合。)

    算法概述。 大致思路如下。假设一个预言机告诉你 Voronoi 单元中的一个候选点。然后你可以通过相邻单元之间的公共边将该点镜像到相邻的 Voronoi 单元,并继续传播。

    但可能会出现问题:镜像点可能位于相邻单元格之外。此外,如果您考虑 Voronoi 节点和事件单元,那么您可以通过事件 Voronoi 边缘围绕一个周期继续传播该点,但您可能不会再次到达原始点。

    那么这篇论文的作用如下:

    • 它为您的输入提供了形成 Voronoi 图的充分必要条件。

    • 如果存在这样的点,它会告诉您如何选择有效的起点。实际上,它为您提供了所有可能的起点。

    第二部分的工作大致如下:对于每个 Voronoi 单元,通过调查单元的 Voronoi 节点,可以知道该点所在的“区域”。然后取 Voronoi 图的对偶图的生成树并选择任意根。对于每个单元格,您都有一个到“根单元格”的唯一“镜像路径”。应用上述区域的镜像序列并与镜像相交。

    交点是所有可能起点的集合。如果它为空,则您的输入不是 Voronoi 图。

    进一步简化。 如果您的 Voronoi 节点的度数为奇数,那么问题就简单多了。考虑 Biedl 等人的论文中的图 4。找出每个节点的点必须位于的线。如果一个 Voronoi 单元有两个奇数度的节点,那么您可以将这些线相交并获得单个可能的候选点。您可以对每个 Voronoi 单元执行此操作。

    【讨论】:

      【解决方案2】:

      不会找到每个三角形的质心给你一个定义的点,尽可能远离其他点。

      【讨论】:

      • 不,它不是质心。详见Biedl et al.论文中的图4。
      猜你喜欢
      • 2014-04-05
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      相关资源
      最近更新 更多