1缺陷识别技术
针对本课题,本文采用分层栅格识别技术对模型中的任意的栅格边界进行提取,以此找到其修复区。通过似乎为更好的找到所需修补区,采用交互的方式进行,也就是通过鼠标的滚动自行选择需要修复区,而算法则自行确定其所需要修复的边界。分层识别其主要的步骤分为以下几步:建立分层栅格的拓扑连接数学模型,并以此产生边界的种子栅格;第二是让栅格进行生长,由此产生出所有的边界;从边界的区域中提取点云边界点集合。
2形态学修复
在数学形态学中,通过腐蚀、膨胀的运算,其结果往往比较简单,同时很容易引起三维立体模型的变形。如图1所示通过膨胀、腐蚀等进行运算过多的三维立体模型。通过上述的运算,我们可以知道,模型在一定的程度上发生了变形。因此,在上述的基础之上,本文则运用数学形态学的后两步骤对其进行修复。而开启运算其步骤一般是先对网格做腐蚀,在对得到的结果进行膨胀运算。闭合则是正好相反,先做膨胀在对其得到的结果做腐蚀。两运算其侧重点不一样,开启主要对网格的边缘进行平滑,分离出比较细小的周围的部分,并消除尖细的一些突出物;而闭合则主要用来连接周边细小的部分,或者是消除一些小的空洞等,从而将修复的区域进行闭合。图2a、b则是再通过开启和闭合的运算之后所得到的修复图形。从而我们可以看出两者之间的区别。通过上述的描述运算,我们得出开闭合运算之后的效果图,通过上述的运算,其可以消除模型当中的比较细小的毛刺,并可有效的填充区域当中的空洞。并可有效的保证模型不会失真或者是出现亏格的情况。
3拓扑规则运算
在经过形态算子对拓扑区域进行修复之后,都会对三维模型中的数据点进行重新的三角剖分,由此带来的是计算量的加大和效率的降低,因此,我们再用炳体、星形理论,仅对修复的区域进行局部的拓扑修改,从而可大大的提高模型修复的时间,并有效提高运算的效率。而该方法的步骤则一般分为对构建或者是删除网格、改变网格结构以及分辨率。其中炳体理论(Handlebody理论)的核心是研究对流形的边界发生的拓扑变化进行处理;而星形理论研究的是如何在不改变其拓扑结构的基础上,如何对其曲面的结构进行组合处理。通过上述两种理论的可将两者进行组合运用,从而对组合的流形的变换有着很大的帮助。同时,通过这种算法的组合,可在对网格进行分解的过程当中,使得每层的网格只产生局部的变化,而不去改变其整体的网络。因此,其具体的运算步骤如下所示:(1)创建、删除网格f=create(v0,v1,v2)-----产生新的三角面fdestroy(f)---删除f连通的分支(2)改变网格拓扑glue(e0,e1)-----对边界进行识别,并将e0,e1连成为一条的内部边;unglue(e)---将一条内部边分裂成两条不同的边界边。而星形算法则主要对网格的结构和分辨率进行改变,其具体包括的运算有:flip(e)——交换公共的边e,以此改变相邻的三角网格的结构;split(e)——将边e与其对应的入射面进行二等分;split(f)——将面f进行三等分;weld(v)——split算子的逆算子。在实际中,我们可以将上述的定义进行组合,并将其进行封装,从而形成更为高级的一种运算,其主要包括attach、detach、remove算子。attach(e,v):在边界上增加新的一个三角形,并且该新三角形包含原来的边e以及新的一个顶点为v;detach(f):该算子为attach的逆算子,表示从网格中删除三角形f,该f可以是内部的三角形,也可以是边界的三角形。remove(v):表示删除任一的一个顶点V,并降低网格分辨率。
4结果测试
通过上述的运算,我们以汽车的油箱模型进行测试,以此验证该算法的正确性,并主要从运行效率、网格质量作为标准。(1)运行效率比较通过上述的分析,我们可以看出,对其曲面模型不需要进行重构,即可进行修补,从而大大的提高了运行的效率。(2)网格质量比较通过对其角度的比较,我们可以看出通过本文算法所得到的最小叫大都在45度以上,而只有极少数在30度以下。其具体的网格质量数据比较如下表2所示。
5结束语
本文根据在现实的修复中所产生的问题,提出运用识别技术进行修复区域查找,在通过数学形态学中的开启和闭合算法进行修复,在进过网络拓扑算法进行弥补,以此使得不需要对原来的修复模型进行重新的云数据点构造,而只需要对问题区域进行修复即可,从而提高了运行的效率和网格的质量,可被广泛的应用在汽车模型、模具等各个领域。
作者:范雯 单位:陕西职业技术学院
相关专题:小说月报原创版2014 马路天使迅雷下载