【发布时间】: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 的图(只是假设)。
【问题讨论】:
-
@whrrgarbl 我对算法更感兴趣,代码太大而无法在 SO 上发布。如果可能的话,我想自己编写代码。
-
立方距离一团糟。尝试绘制两点图。
-
@DavidEisenstat 不,它们很正常。添加了一张图片。
标签: algorithm distance voronoi