当前位置: 首页 > 专利查询>华侨大学专利>正文

一种三角网格模型特征保持混合简化方法技术

技术编号:20365785 阅读:26 留言:0更新日期:2019-02-16 17:51
本发明专利技术公开了一种三角网格模型特征保持混合简化方法,包括读入三角网格模型并建立半边数据结构后,以顶点曲度值为权值计算折叠后新顶点;基于点面距离计算折叠对象的折叠代价;对三角网格模型进行特征保持的混合简化,包括孔洞边界特征的边折叠简化、特征区域的边折叠简化、非特征区域三角形折叠简化,三种简化依次顺序进行;非特征区域折叠简化过程中,进行三角面片折叠合法性检查。该方法能够较好保持模型细节特征,简化前后变形较小。

【技术实现步骤摘要】
一种三角网格模型特征保持混合简化方法
本专利技术属于计算机图形学领域,特别涉及一种三角网格模型特征保持混合简化方法。
技术介绍
由于逆向工程、增材制造、计算机辅助设计技术的发展,定义简单、无歧义的三角网格模型得到了越来越广泛的应用。但复杂三角网格模型通常由几万个、几十万个、甚至成百上千万个三角面片组成。为便于计算机存储和分析,通常需要进行简化处理,因此如何有效简化复杂三角网格模型也成为于计算机图形学领域和数字化制造领域研究的热点问题之一。三角网格模型简化的本质是减少三角面片和网格顶点的数目。目前常用的几何元素折叠法依据原始模型进行相应的简化,故能较好地保留原模型的拓扑信息,而被广泛研究。几何元素折叠法是指在与原模型有一定几何误差的前提下,折叠对原始模型影响较弱的几何元素,主要有边折叠算法和三角形折叠算法。其中,三角形折叠一次可以简化掉四个三角面片,简化效率较高,在曲率变化不大处折叠效果较好,但特征保持性较差;而边折叠算法对于细节特征保持性较好,但效率较低。也有将网格模型拟合为曲面模型的方法,能够极大地减少顶点数量,但其结果不再是三角网格模型。几何元素折叠方法需要解决两个关键问题,即折叠对象的确定和新顶点的选择。现有算法通过计算网格三角形折叠代价确定折叠对象,折叠代价计算方法主要有:李现民等人在学术期刊《计算机辅助设计与图形学学报》2002,14(1),P8-13发表的学术论文“基于子分规则的边折叠简化方法”等等中采用的二次误差测度法(QuadricErrorMetric,QEM)、段黎明等人在学术期刊《光学精密工程》2017,25(2),P460-468发表的学术论文“高效率的三角网格模型保特征简化方法”等等中采用的特征保持法、裴艳云等人在学术期刊《计算机工程与应用》2013,49(14),P174-177发表的学术论文“一种基于不平滑度的网格简化算法”等等中采用的加权平均法等等。其中二次误差测度法原理简单,但是需要通过矩阵来求解折叠代价,在不通过加速手段进行简化处理的前提下效率较低;特征保持法对于细节特征保持较好,但对于复杂模型往往得不到很好的处理结果;加权平均法思路简单、计算较快,但对特征复杂模型无法取得较好的效果,且当简化程度增大时细节特征丢失严重,模型变形较大。对于新顶点的选择,现有算法可以分为两种,即段黎明等人在学术期刊《光学精密工程》2017,25(2),P460-468发表的学术论文“高效率的三角网格模型保特征简化方法”等等中采用的子集选择法和李现民等人在学术期刊《计算机辅助设计与图形学学报》2002,14(1),P8-13发表的学术论文“基于子分规则的边折叠简化方法”等等中采用的优化选择法。子集选择法即选择三角面片中的顶点或边上的点,该方法计算速度较快但简化模型与原模型相差较大;优化选择法是求取空间中的一点使得折叠代价最小,该类方法简化效果虽然较好,但是计算速度较慢。总之,由于三角网格模型形状的复杂性,单纯的三角网格模型简化算法难以实现复杂三角网格模型简化的特征保持和简化效率的平衡问题,有必要提出一种新的技术方案。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种三角网格模型特征保持混合简化方法,通过以顶点曲度值为权值计算折叠后新顶点、基于点面距离计算折叠对象的折叠代价,对三角网格模型进行特征保持的混合简化,较好地解决了复杂三角网格模型简化的特征保持和简化效率的平衡问题。本专利技术解决其技术问题所采用的技术方案是:一种三角网格模型特征保持混合简化方法,包括以下步骤:步骤a、读入三角网格模型并建立半边数据结构后,以顶点曲度值为权值计算折叠后新顶点,以减小模型简化的变形;步骤b、基于点面距离计算折叠对象的折叠代价,控制边或面片的简化顺序以控制模型简化前后的变形程度;步骤c、对三角网格模型进行特征保持的混合简化,包括孔洞边界特征的边折叠简化、特征区域的边折叠简化和非特征区域三角形折叠简化;三种简化依次顺序进行:即先对三角网格模型迭代进行孔洞边界特征的边折叠简化,在达到指定简化最大误差或简化次数后冻结被简化部分;再对三角网格模型迭代进行特征区域的边折叠简化,同样在达到指定简化最大误差或简化次数后冻结被简化部分;最后对三角网格模型迭代进行非特征区域三角形折叠简化,在达到指定简化最大误差、或简化次数、或简化率后,结束简化;步骤d、非特征区域折叠简化过程中,进行三角面片折叠合法性检查。优选的,步骤a中所述以顶点曲度值为权值计算折叠后新顶点,其具体计算方法为:步骤a1、计算顶点曲度值,如下:其中,KH为顶点平均曲率,KG为顶点高斯曲率;步骤a2、三角网格模型上存在共边相邻两个面片的法矢夹角大于45°的特征区域和边界特征区域,采用边折叠简化方法保留特征,边折叠新顶点v0的计算公式如下:其中,v1和v2为待折叠特征边的起点和终点,Cp1和Cp2为起点和终点的曲度值;步骤a3、对非特征区域三角形则采取三角形折叠方式,折叠后新顶点v′0的计算公式如下:其中,v′1、v′2和v′3为待折叠三角形的顶点,C′p1、C′p2和C′p3为顶点曲度值。优选的,步骤b中所述基于点面距离计算折叠对象的折叠代价,其具体计算方法为:步骤b1、对于折叠后的任一新顶点P,F为P所属折叠对象的一阶邻域三角面片中的某个面片,F所在平面为Π,则点P到平面Π的距离向量为:R=(P-Q)·u,其中,Q为F中任意一个顶点,u为F的单位法向量;步骤b2、第i个折叠对象Obi的折叠代价如下:其中,Δ(Obi)为Obi的折叠代价,Fσ为Obi的一阶邻域所有面片,||R||为向量的模长。优选的,步骤c中所述孔洞边界特征的边折叠简化,具体方法为:步骤c.1.1、识别网格模型中的所有孔洞边界边,对查找出的各边界边一阶邻域面片进行标记;将各边界边按邻接顺序存储到边的vector容器BordRing中,并将各边的终点按顺序存储到顶点的vector容器m_vecPnts中;步骤c.1.2、识别孔洞边界边Ei中的尖锐特征边:识别尖锐特征边时遵循两个原则,其一是计算边Ei的两特征角θ1和θ2,具体为:边Ei的起始顶点为vi、终点为vi+1、边界中边的前一顶点为vi-1、后一顶点为vi+2,则θ1=arccos(vivi+1,vivi-1),θ2=arccos(vi+1vi+2,vi+1vi);其二是通过计算边的折叠代价;判断边Ei的两特征角θ1和θ2,若两特征角均小于阀值,转入步骤c.1.3;若特征角和折叠代价都不满足给定的阀值则跳转到步骤c.1.4;步骤c.1.3、标记该孔洞边界边,取下一条边界边继续步骤c.1.2;步骤c.1.4、计算折叠后的新顶点vt,从边界边表中删除待折叠Ei,用新顶点vt,更新与Ei起点和终点相关的边界边及Ei一阶邻域中的边、三角面片信息;步骤c.1.5、若边界边容器BordRing中无可简化边,则边界处理结束,否则跳转到步骤c.1.2继续简化;步骤c.1.6、重复步骤c.1.1到c.1.5,直到孔洞边界没有再做边折叠简化;步骤c.1.7、对所有孔洞边界的一阶邻域三角面片做处理标记,防止在特征区域的边折叠简化和非特征区域三角形折叠简化过程中被处理。优选的,步骤c中所述特征区域的边折叠简化,具体方法为:步骤c.2.1、孔洞边界简本文档来自技高网
...

【技术保护点】
1.一种三角网格模型特征保持混合简化方法,其特征在于,包括以下步骤:步骤a、读入三角网格模型并建立半边数据结构后,以顶点曲度值为权值计算折叠后新顶点,以减小模型简化的变形;步骤b、基于点面距离计算折叠对象的折叠代价,控制边或面片的简化顺序以控制模型简化前后的变形程度;步骤c、对三角网格模型进行特征保持的混合简化,包括孔洞边界特征的边折叠简化、特征区域的边折叠简化和非特征区域三角形折叠简化;三种简化依次顺序进行:即先对三角网格模型迭代进行孔洞边界特征的边折叠简化,在达到指定简化最大误差或简化次数后冻结被简化部分;再对三角网格模型迭代进行特征区域的边折叠简化,同样在达到指定简化最大误差或简化次数后冻结被简化部分;最后对三角网格模型迭代进行非特征区域三角形折叠简化,在达到指定简化最大误差、或简化次数、或简化率后,结束简化;步骤d、非特征区域折叠简化过程中,进行三角面片折叠合法性检查。

【技术特征摘要】
1.一种三角网格模型特征保持混合简化方法,其特征在于,包括以下步骤:步骤a、读入三角网格模型并建立半边数据结构后,以顶点曲度值为权值计算折叠后新顶点,以减小模型简化的变形;步骤b、基于点面距离计算折叠对象的折叠代价,控制边或面片的简化顺序以控制模型简化前后的变形程度;步骤c、对三角网格模型进行特征保持的混合简化,包括孔洞边界特征的边折叠简化、特征区域的边折叠简化和非特征区域三角形折叠简化;三种简化依次顺序进行:即先对三角网格模型迭代进行孔洞边界特征的边折叠简化,在达到指定简化最大误差或简化次数后冻结被简化部分;再对三角网格模型迭代进行特征区域的边折叠简化,同样在达到指定简化最大误差或简化次数后冻结被简化部分;最后对三角网格模型迭代进行非特征区域三角形折叠简化,在达到指定简化最大误差、或简化次数、或简化率后,结束简化;步骤d、非特征区域折叠简化过程中,进行三角面片折叠合法性检查。2.根据权利要求1中所述的一种三角网格模型特征保持混合简化方法,其特征在于,步骤a中所述以顶点曲度值为权值计算折叠后新顶点,其具体计算方法为:步骤a1、计算顶点曲度值,如下:其中,KH为顶点平均曲率,KG为顶点高斯曲率;步骤a2、三角网格模型上存在共边相邻两个面片的法矢夹角大于45°的特征区域和边界特征区域,采用边折叠简化方法保留特征,边折叠新顶点v0的计算公式如下:其中,v1和v2为待折叠特征边的起点和终点,Cp1和Cp2为起点和终点的曲度值;步骤a3、对非特征区域三角形则采取三角形折叠方式,折叠后新顶点v′0的计算公式如下:其中,v′1、v′2和v′3为待折叠三角形的顶点,C′p1、C′p2和C′p3为顶点曲度值。3.根据权利要求2中所述的一种三角网格模型特征保持混合简化方法,其特征在于,步骤b中所述基于点面距离计算折叠对象的折叠代价,其具体计算方法为:步骤b1、对于折叠后的任一新顶点P,F为P所属折叠对象的一阶邻域三角面片中的某个面片,F所在平面为Π,则点P到平面Π的距离向量为:R=(P-Q)·u,其中,Q为F中任意一个顶点,u为F的单位法向量;步骤b2、第i个折叠对象Obi的折叠代价如下:其中,△(Obi)为Obi的折叠代价,Fσ为Obi的一阶邻域所有面片,||R||为向量的模长。4.根据权利要求3中所述的一种三角网格模型特征保持混合简化方法,其特征在于,步骤c中所述孔洞边界特征的边折叠简化,具体方法为:步骤c.1.1、识别网格模型中的所有孔洞边界边,对查找出的各边界边一阶邻域面片进行标记;将各边界边按邻接顺序存储到边的vector容器BordRing中,并将各边的终点按顺序存储到顶点的vector容器m_vecPnts中;步骤c.1.2、识别孔洞边界边Ei中的尖锐特征边:识别尖锐特征边时遵循两个原则,其一是计算边Ei的两特征角θ1和θ2,具体为:边Ei的起始顶点为vi、终点为vi+1、边界中边的前一顶点为vi-1、后一顶点为vi+2,则θ1=arccos(vivi+1,vivi-1),θ2=arccos(vi+1vi+2,vi+1vi);其二是通过计算边的折叠代价;判断边Ei的两特征角θ1和θ2,若两特征角均小于阀值,转入步骤c.1.3;若特征角和折叠代价都不满足给定的阀值则跳转到步骤c.1.4;步骤c.1.3、标记该孔洞边...

【专利技术属性】
技术研发人员:黄常标曹增欢刘斌江开勇林俊义曹伟路平
申请(专利权)人:华侨大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1