2015-12-15 38 views
0

找到具有欧氏距离的Voronoi图的算法相当多。但是,我还没有找到任何其他距离函数的算法,例如曼哈顿距离(可能因为没有实际应用)。如何找到具有特定距离函数的Voronoi图?

可以在Wikipedia见例如:
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(只是假设)。

Cubic distance

+1

https://github.com/bobbysoon/TaxiVoronoi – Bytemain

+1

如果你只对算法感兴趣(不涉及代码),这对于计算机科学SE来说可能是个好问题。有几个问题,我发现[这里](http://cs.stackexchange.com/questions/43817/voronoi-diagrams-with-l%E2%88%9E-metric)和[这里](http:/ /cs.stackexchange.com/questions/34116/voronoi-diagram-algorithm-with-non-euclidean-metric),但不幸的是他们没有算法。 – whrrgarbl

+0

@whrrgarbl我对算法更感兴趣,代码太大,无法在SO上发布。如果可能,我想自己编写代码。 – Somnium

回答

0

最有可能的,你可以使用像素出租车沃罗诺伊并给每个多边形不同的颜色。然后,您可以使用像素颜色测试来检查边界。

相关问题