【问题标题】:How to find Voronoi diagram with specific distance function?如何找到具有特定距离函数的 Voronoi 图?
【发布时间】:2015-12-15 19:24:57
【问题描述】:

有很多算法可以找到欧几里得距离的 Voronoi 图。但是,我没有找到任何其他距离函数的算法,例如曼哈顿距离(可能是因为没有实际应用)。

您可以在 Wikipedia 上查看示例:
https://en.wikipedia.org/wiki/Voronoi_diagram#/media/File:Manhattan_Voronoi_Diagram.svg

Manhattan Voronoi 图也由多边形(但非凸)组成,所以我猜想可以构造类似于Fortune's algorithm 的算法。 但是,使用更复杂的距离函数,边界将不再是多边形。需要不同的数据结构和算法。

是否有任何算法可以找到具有特定距离函数的 Voronoi 图(为简单起见,在 2D 中)?

注意: 我不需要一种适用于像素的算法,它非常简单,我需要一种算法,它可以找到单元格的边界。

注意 2 实际上,我需要具有距离函数abs(dx)^3 + abs(dy)^3 的 Voronoi 图,但是,理论上,我很感兴趣如何为其他距离函数制定算法。 这是带有abs(dx)^3 + abs(dy)^3 的 Voronoi 的样子。站点是连续的,它们的边缘类似于 y=x^3 的图(只是假设)。

【问题讨论】:

  • 如果您只对算法感兴趣(不涉及代码),这可能是计算机科学 SE 的一个好问题。我发现了几个问题 herehere 但不幸的是他们没有算法。
  • @whrrgarbl 我对算法更感兴趣,代码太大而无法在 SO 上发布。如果可能的话,我想自己编写代码。
  • 立方距离一团糟。尝试绘制两点图。
  • @DavidEisenstat 不,它们很正常。添加了一张图片。

标签: algorithm distance voronoi


【解决方案1】:

您很可能可以使用像素出租车 voronoi 并为每个多边形赋予不同的颜色。然后,您可以使用像素颜色测试来检查边界。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多