发明名称 一种保持外观特征的网格模型简化方法
摘要 保持外观特征的网格模型的简化方法:包括一个半边折叠代价条件一个迭代的折叠过程,通过这个条件确定正确的折叠顺序;具体步骤如下:根据原始的二次误差测度,半边折叠v<SUB>s</SUB>→v<SUB>t</SUB>的折叠代价Cost(v<SUB>s</SUB>,v<SUB>t</SUB>)定义为Cost(v<SUB>s</SUB>,v<SUB>t</SUB>)=(Q<SUB>s</SUB>+Q<SUB>t</SUB>)v<SUB>t</SUB>,Q<SUB>s</SUB>和Q<SUB>t</SUB>分布为起点和终点到相关联平面集的距离平方和;针对于带有接缝点的半边折叠v<SUB>s</SUB>→v<SUB>t</SUB>,根据v<SUB>s</SUB>和v<SUB>t</SUB>是否为接缝点,分为三种情况进行迭代折叠;本发明所提出的三维网格模型简化方法有如下的优点:高效性、高相似度和较小的内存开销。半边折叠操作在简化过程中不会引入新的顶点,使得原有的数据存储结构得以重复利用,减少了内存占有。
申请公布号 CN101231761A 申请公布日期 2008.07.30
申请号 CN200810018877.8 申请日期 2008.01.29
申请人 南京大学 发明人 潘金贵;卢威;曾定浩
分类号 G06T17/20(2006.01) 主分类号 G06T17/20(2006.01)
代理机构 南京天翼专利代理有限责任公司 代理人 汤志武;王鹏翔
主权项 1.一种保持外观特征的网格模型的简化方法:其特征是包括一个半边折叠代价条件一个迭代的折叠过程,通过这个条件确定正确的折叠顺序;具体步骤如下:根据原始的二次误差测度,半边折叠vs→vt的折叠代价Cost(vs,vt)定义为Cost(vs,vt)=(Qs+Qt)vt,Qs和Qt分布为起点和终点到相关联平面集的距离平方和;针对于带有接缝点的半边折叠vs→vt,根据vs和vt是否为接缝点,分为以下几种情况:第一种情况,当起点vs为接缝点,半边折叠的代价函数被重新定义为:Cost(vs,vt)=Dist(vs,vt) +α□IsSeam(vs)□(1-IsSeam(vt))其中Dist(vs,vt)=(Qs+Qt)vt,函数IsSeam(v)定义为第二种情况,起点vs为内部点,终点vt为接缝点。因为是由内部点折叠到接缝点,接缝点保持不动,所以这种情况不会导致接缝形变,但是在对受影响的三角形进行顶点替换时,必须找到合适的对应顶点的属性集合wedge在对各个顶点的wedge找到了与之连续的wedge进行替换,避免接缝发生外观畸变;第三种情况,起点vs和终点vt均为接缝点:将其细分为四个子类型:(1)vs和vt恰好在同一条接缝上,这种类型与第二种情况类似,只要选择合适的替换wedge就可保证不会出现畸变现象;(2)vs 和vt分属两条不同的接缝,均为接缝点,但是折叠边(vs,vt)并不是接缝边;这种情况下接缝处的外观属性很可能会出现畸变;而且即使该接缝处的外观属性不发生畸变,其几何形状也变形了,所以此类折叠操作应尽量靠后;折叠代价被重新定义为:Cost(vs,vt)=Dist(vs,vt) +α□IsSeam(vs)□(1-IsSeam(vt)) +β□IsSeam(vs)□IsSeam(vt)□(1-IsSeam(vs,vt))函数IsSeam(vs,vt)定义为(3)vs和vt分属两条不同的接缝,均为接缝点,且(vs,vt)是接缝边。此时,接缝处模型的外观很有可能畸变,而且也造成了接缝的形变;因此,对于这种从交叉点到接缝点的半边折叠操作,加大其折叠代价,使模型外观畸变不会过早发生;折叠代价计算式变为:Cost(vs,vt)=Dist(vs,vt) +α□IsSeam(vs)□(1-IsSeam(vt)) +β□IsSeam(vs)□IsSeam(vt)□(1-IsSeam(vs,vt)) +γ□IsCross(vs)□IsSeam(vt)(4)从非交叉接缝点到交叉点的折叠。这种情况与内部点折叠的折叠代价计算方法是相同的;新的折叠代价计算式中惩罚量α、β和γ与Dist(vs,vt)相比必须足够的大,这样使得产生外观畸变的半边折叠代价相对较大;我们定义α和β大于Dist(vs,vt),而γ是交叉点折叠到接缝点的惩罚量,而交叉点往往是模型表面特征比较明显的顶点,因此我们赋予γ更大的值,令γ=2α;最终半边折叠vs→vt的折叠代价定义为Cost(vs,vt)=Dist(vs,vt) +α□IsSeam(vs)□(1-IsSeam(vt)) 条件一 +α□IsSeam(vs)□IsSeam(vt)□(I-IsSeam(vs,vt)) +2α□IsCross(vs)□IsSeam(vt)其中α=MaxDist·(TriArea(vs)+TriArea(vt))。MaxDist由网格模型的包围盒决定,在读入模型时计算;与顶点相关的三角形面积之和TriArea(v)在原始模型中是与顶点相邻的三角形面积之和,在一次半边折叠vs→vt后,顶点vs的相关三角形集并入到vt的相关三角形集中,所以折叠后vt的相关三角形面积之和TriArea(vt)变为TriArea(vs)+TriArea(vt)。
地址 210093江苏省南京市汉口路22号