Delaunay三角剖分是将一组点集连接成三角形的方法,满足以下条件:
1、任何两个点构成的圆内不包含其他点;
2、所有生成的三角形都是“良性”的,即没有任何角度大于等于180度。
Delaunay三角剖分可以通过多种方法进行构建,其中比较常用的方法是增量式构建。
Delaunay三角剖分的增量式构建算法流程如下:
1、初始化一个空三角剖分。
2、将所有点按照某种方法插入到三角剖分中。最简单的方法是随机插入。
3、对于新插入的点,找到包含它的所有三角形,并以此为基础生成新的三角形。
4、检查新生成的三角形是否满足Delaunay约束条件。如果不满足,则翻转该三角形的边界,直到满足Delaunay约束条件。这一步主要是确保新增加的三角形与已有的三角形构成了合法的Delaunay(最小外接圆性质)三角形剖分。
5、重复步骤3-4,直到所有的点都被插入到三角剖分中。
使用CGAL中 typedef CGAL::Delaunay_triangulation_2
#include
#include