相当于Lloyd的算法,单独使用Delaunay三角剖分

时间:2015-10-26 11:17:20

标签: algorithm geometry delaunay

我正在尝试开发一个程序,在2D空间中,一组随机点使用Delaunay三角剖分生成图形。

对于这部分,有大量算法可以这样做。

我想要实现的第二部分包括在点中进行放松,即允许它们在2D空间中移动以便彼此远离。

我知道对于Voronoi图(Delaunay三角剖分的双重图),Lloyd的算法可以执行该任务,但我似乎无法找到独立于此图结构的任何类型的算法(其中除了这个放松步骤,我真的不需要计算。)

我需要的算法类型的任何提示?

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果您已经可以访问Delaunay三角剖分,那么您也 - 隐式地 - 具有Voronoi图的表示。

例如,三角剖分中给定顶点xi周围的Voronoi单元是(凸)多边形,它连接与xi相邻的三角形的圆周。

为了实现Lloyd的算法,需要将每个顶点移动到它的相关Voronoi多边形的质心,重新计算Delaunay三角剖分,并继续直到达到收敛。

答案 1 :(得分:-1)

您可以尝试加权delaunay三角测量。首先计算正常的delaunay三角剖分和每个三角形的重心。然后使用来自第一个三角测量的权重计算加权的delaunay三角剖分。它有助于平滑网格。