有很多算法可以找到欧几里德距离的Voronoi图。但是,我还没有找到任何其他距离函数的算法,例如曼哈顿距离(也许是因为没有实际应用)。
您可以在维基百科上看到示例:
https://en.wikipedia.org/wiki/Voronoi_diagram#/media/File:Manhattan_Voronoi_Diagram.svg
曼哈顿Voronoi图也包含多边形(但非凸),因此我猜可以构造类似于Fortune's algorithm的算法。 但是,使用更复杂的距离函数,边界不再是多边形。将需要不同的数据结构和算法。
是否有任何算法可以找到具有特定距离函数的Voronoi图(为简单起见,在2D中)?
注意: 我不需要一个与像素一起工作的算法,它非常简单,我需要算法,它可以找到细胞的边界。
注2
实际上我需要具有距离函数abs(dx)^3 + abs(dy)^3
的Voronoi图,但是,理论上,我对如何为其他距离函数制作算法感兴趣。
以下是abs(dx)^3 + abs(dy)^3
的Voronoi的样子。网站是连续的,它们的边缘类似于y=x^3
的图形(只是假设)。
答案 0 :(得分:0)
最有可能你可以使用像素出租车voronoi并为每个多边形赋予不同的颜色。然后,您可以使用像素颜色测试来检查边界。