Bowyer-Watson算法
该方法算逐点插入法的一种。
基本思路是将所有的散点放入同一个超级三角形T中,建立三角形列表Tlist,三点列表Plist,临时三角形列表Templist,边列表Elist。
首先需要将所有的点排序,从X坐标值最小点作为第一个插入值,然后按照从小到大从左到右的顺序依次加入,减少散点加入时的混乱情况。
p1是第一个加入点,有超级三角形的三个顶点与p1相连,构成三个三角形,并将这三个三角形加入到Templist。
p2即第二个加入点,对Templist中的三个三角形分别作外接圆,判断p2与三个外接圆的位置关系。
(1)若p2位于外接圆右侧,则将该外接圆所对应的三角形放入到Tlist中,是由于插入点是从左到右插入,此时的点已是在外接圆右侧,那么后面的插入点只会在更右的地方,此时的三角形是满足空圆性的,是Deluanay三角形定义的,也就不需要讨论。
(2)若p2位于外接圆外侧,跳过。
(3)若p2位于外接圆内侧,则需要将三角形从Templist中删除,将p2与原三角形三个顶点相连,生成新的三角形放入Templist中。
直至检测完所有的点。
然后需要将超级三角形三个顶点所涉及到的所有三角形删除,那么此时在Tlist中的三角形就是最终的三角网格。