Delaunay Triangulation算法学习

来源:互联网 发布:62源码 编辑:程序博客网 时间:2024/05/09 22:35

基于Voronoi分割的Delaunay Triangulation算法的openCV实现

 

Delaunay三角剖分是前苏联数学家 Delaunay 1934年提出的:对于任意给定的平面点集 ,只存在着唯一的一种三角剖分方法 ,满足所谓的“ 最大 最小角 优化准则 ,即所有最小内角之和最大 ,这就是 Delaunay三角剖分。这种剖分方法遵循“ 最小角最大 和“ 空外接圆 准则

最小角最大 准则是在不出现奇异性的情况下,Delaunay三角剖分最小角之和均大于任何非 Delaunay剖分所形成三角形最小角之和 ,三角形的最小内角之和最大 ,从而使得划分的三角形不会出现某个内角过小的情况 ,比较有利于有限元的后续计算。“ 空外接圆 准则是 Delaunay三角剖分中任意三角形的外接圆内不包括其他结点。因此 ,在各种二维三角剖分中 ,只有 Delaunay三角剖分才同时满足全局和局部最优。

“learning openCV”中提到的最简单的一种计算Delaunay算法(原文为chapter9 中的delaunay triangulationP301,我翻译半天都感觉翻译模糊不清,不知哪位有中文版的把这部分算法给贴出来?

 

我主要参考就是《平面域中的 Delaunay三角算法》中的三角网生长算法,我觉得好像learning openCV中提到的计算delaunay,是用的这个算法,不过我翻译了半天也感觉模糊不清。索性我就用这个算法。也希望大家把中文版的那个算法贴出来好吗?我们一起学习

 

下面是我调试的代码,贴出来大家一起学习,还有那篇论文我也贴出来,是中文的,好理解的一点。

PS:自己调试了代码好久,后来在OpenCV2.0/samples/c/delaunay.c,找到源代码,白白浪费了自己好长时间,我把代码重新整理下放到下面,也希望大家调试代码有问题时,参看人家源代码,帮助很大的。大家也可以进行设置断点进行delaunay学习

 

论文及代码由于字数限制,大家如果感兴趣可以到

http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=10029

原创粉丝点击