Delaunay三角剖分算法简述

原文来自:http://blog.chinaunix.net/uid-20490856-id-1665402.html


Delaunay三角剖分具有下列性质:

1Delaunay三角剖分所形成的三角形中,最小的内角是所有三角剖分中最大的。故Delaunay三角剖分所形成的三角形最接近于等边三角形,在很多应用中具有最优的性质。此性质等价于Delaunay三角剖分所形成的三角形的外接圆内不包含其他点。

2)如果任意四点不共圆,则该四点只能形成唯一的Delaunay三角,否则不唯一。故可推知,对Delaunay三角剖分的局部确保可以保证使整体确保满足Delaunay三角剖分。

3)在已Delaunay三角化的网格中加入一点P,只需要删除所有外接圆包含此点的三角形,并连接P与所有可见的点(即连接后不会与其他边相交),则形成的网格仍然满足Delaunay三角剖分的条件。

 

1、增量算法

该算法基于性质(3),算法简单,时间复杂度为O(nlogn),

使用广泛,基本步骤如下:

1)生成一个包含所有点的大三角形(其定点不在点集中);

2)对点集中的每个点,根据性质(3)进行处理(不删除大三角形的边);

3)删除所有与大三角形相关的边。

该算法的时间主要用于对外接圆的搜索和对顶点的连接。其中,前者可以使用指南针算法进行优化;后者可以对点集进行排序,使加入网格的点均匀分布来降低复杂度。

2、局部变换法

该算法基于性质(2),首先构造一个不满足Delaunay三角剖分条件的三角网格,再对两个共边三角形构成的凸四边形迭代换边使之满足Delaunay三角剖分的条件(主要是交换对角线的方法)。




猜你喜欢

转载自blog.csdn.net/NewThinker_wei/article/details/45543495