刚开始找了个c++三角剖分,测试的过程中发现效果不理想,然后是js写的算法,测试过程中也不理想,最后找到了c#写的三角剖分算法,测试效果虽然也不理想,但是算法写的不错,一看就是bowyer-watson算法。
上面找到的代码,缺点都是只是对没有洞的进行三角剖分,而我想要做的带洞的三角剖分。通过比较找到的代码,觉得在最后一个c#代码上修改,修改的思路是,自己写了一个闭合曲线判断算法,找到最外边的闭合曲线,逆时针顺序存储点集,内部闭合曲线顺时针顺序存储点集,然后在最后生成的三角网格,去掉内部闭合曲线的三角形。
最终做到的效果: