为了修补三角网格模型中的复杂孔洞,提出一种基于边扩展的复杂孔洞修补算法.通过计算出孔洞边界的最小二乘平面,并将孔洞边界投影到该最小二乘平面上,得到投影多边形.当投影多边形存在相交的边时,则对每条相交的边采用边扩展算法,生成新的三角面片,从而将复杂孔洞剖分成若干个子孔洞.对新生成的子孔洞重复上述剖分方法,直至所有子孔洞变为简单孔洞后,采用平面三角化技术对简单孔洞进行修补,并采用细分技术得到形态均匀的孔洞三角网格.实验结果表明,该孔洞修补算法适用于三角网格模型中的各种复杂孔洞,能较好地保持原三角网格模型的细节特征.
To repair the complex holes in triangular meshes, a novel algorithm based on the concept of edge-expansion was proposed. The least square plane of the hole boundary was computed, and the projecting polygon was obtained by projecting the hole boundary on the least square plane. When the projecting polygon existed self-intersecting, the edge-expansion algorithm was used for each intersecting edge to obtain several new triangular faces, and then the complex hole was divided into several sub-holes. The com- plex hole-splitting process above-mentioned was incrementally employed for each sub-hole until all subholes were divided into simple ones, and then each divided simple hole was repaired with planar triangulation method. Triangular mesh with uniformly shaped hole was achieved using subdivision techniques. The experimental results show that the presented hole-repairing algorithm can work well for a variety of complex holes in the triangular mesh, and can better preserve the detailed features of the original triangular mesh.