4.最规则:如果将三角网中的每个三角形的最小角进行升序排列,则Delaunay三角网的排列得到的数值最大。
5.区域性:新增、删除、移动某一个顶点时只会影响临近的三角形。
6.具有凸多边形的外壳:三角网最外层的边界形成一个凸多边形的外壳。
3.2.2 经典的Delaunay三角算法
根据实现过程,可以把生成Delaunay三角网的各种算法分为分治算法、逐点插入法、三角网成长法等三大类。现在将在下面介绍这几类算法中较为经典的算法[9]。
(1)Bowyer算法
在Bowyer算法中,设点q为新插入的点,那么插入步骤如下:
1.识别出所有由于q点的插入将被删除的顶点,这些顶点离q点比离自己的三个生成点近;
2.构造q点邻接点表,q点的邻近点是所有被删除的顶点的点;
3. 修改其他点的邻接点表,如果两个邻接点连线的垂直平分线的两个端点(域的顶点)被删除了,则此两点的邻接关系也消失了。
(2)Lawson算法
C.L.Lawson长期不懈地从事曲面表达方面的工作,先后开发了矩形网格上的轮廓显示、双样条曲面拼合及三角网络上的轮廓显示等软件。在Barnhill、Little等人就三角剖分方法进行交流的基础上,进一步完善了已有的三角剖分算法,构造了Lawson算法。
Lawson算法的主要思想是:
1.对散乱点进行排序:搜索X坐标系的最小点,设该点为p1,按照与p1点的距离的平方递增的顺序排列各点,形成序列p1,p2,p3,……,pn。
2.将p1与p2相连构造第一条边,在pi序列中顺序搜索与直线p1p2不共线的点,设为pk,将pk插入到p3之前,其余点顺序后移,p1p2pk形成第一个三角形。
3.将序列p1,p2,p3,……,pn中的其余点根据顺序逐点插入,在插入的过程中根据最小内角最大的准则进行交换测试,以达到局部最优三角化。 MATLAB+Delaunay三角剖分算法网格生成方法的研究(6):http://www.youerw.com/zidonghua/lunwen_9243.html