论文部分内容阅读
网格模型广泛应用于计算机图形学、计算机视觉、逆向工程等领域,网格分割在网格参数化、网格简化、形状匹配、几何变形、纹理映射等几何处理中发挥着重要作用。本文基于网格模型的拓扑结构和几何特征对网格分割技术进行了研究。采用基于奇异点的方法实现网格模型分割。根据网格模型的拓扑结构提取奇异点,从奇异点开始沿着奇异点的邻边同时进行路径生长。当遇到奇异点、边界点、已生成路径上的点或者满足右手定则时,路径生长结束,利用路径生长的轨迹实现网格模型分割。试验结果表明,该算法获得的分割区域内不含奇异点,实现了网格模型的结构化分割。 本文研究了基于特征边的网格模型特征线提取算法。根据网格模型中相邻四边形法向量的夹角定义网格边的权重,建立边权重分布直方图,利用分布直方图对不同类型的模型采用不同方法自适应确定权重阈值。对权重进行中值滤波后,提取权重大于阈值的边作为特征边,并按照权重递减顺序对特征边进行路径生长。若特征边在已生成的特征线上,则不对其进行路径生长。当所有特征边完成路径生长后,根据特征线中特征边所占比例筛选特征线。试验结果表明,该算法实现了对网格模型突出特征的提取。基于点对可见性研究实现网格模型的凸分割。基于奇异点和特征边对网格模型进行初步分割,根据分割线提取面片。根据相邻面片间顶点的可见性计算两面片的凸度。查找凸度最大值,合并最大值对应的两个面片并更新面片的邻接关系,重新计算合并所得面片与其邻接面片的凸度。重复上述过程,直到最大值小于凸度阈值。查找凸度最大值时,若两对面片凸度相等,则将凸度最大的面片更新为其中公共边界较长的两面片。试验结果表明,该算法可以获得与网格模型表面凹凸性基本一致的分割结果。基于MFC和OpenGL编程实现了网格模型的读取、分割、显示及旋转缩放。