VCG 网格孔洞填补

文章目录

  • 一、简介
  • 二、实现代码
  • 三、实现效果
  • 参考资料

一、简介

VCG为我们提供了一种简单的进行孔洞修补的方法,该方法适用于定向连通流形网格中的任意孔洞,其计算过程如下所述:
1、孔洞识别。这一步是通过寻找边界顶点来自动识别,当然也可以我们自己手动的去定义。
2、孔洞三角化。一旦确定了一个孔洞的位置,填充它的第一步是要找到由该边界定义的三维多边形的三角剖分,也就是如何去添加顶点并进行三角化,这里VCG使用的是一种耳切算法,有点类似于PCL中的耳切算法。

3、网格精细化。其基本思想是计算孔边界上顶点的边缘长度数据,并将这些值扩散到补片网格内部,细分三角形以减少边缘长度,放松内部边缘以保持delaunay式三角剖分。这里放松边缘的意思是,对于与该边相邻的两个三角形,检查这些三角形的两个非邻近的顶点是否都位于相反三角形的圆球外。如果这个测试失败,边缘将会被交换,如下所示。

VCG 网格孔洞填补_第1张图片

4、网格整形(可选࿰

你可能感兴趣的:(c++,VCG,网格孔洞填补)