首页 / 专利库 / 显示技术 / 虚拟现实辅助设计 / 基于角度误差测度的三角网格简化方法

基于度误差测度的三角网格简化方法

阅读:1007发布:2020-05-29

专利汇可以提供基于度误差测度的三角网格简化方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于 角 度误差测度的三角网格简化方法,包括如下步骤:按一定条件对三角形进行分类;对三角形的固定点进行二次误差测度的测量与计算;设计确定新 顶点 位置 ;计算三角形的狭长度;计算三角形的局部区域面积;计算折叠点的角度误差测度;综合计算三角形折叠误差矩阵;排列误差队列;实现对三角形的优化折叠操作。本发明能为使用者提供一种较好的保持原始三角形网络模型的拓扑结构和几何边界特征的简化方法,提高运算效率,减少空间占用,可广泛的应用在 计算机图形学 、 计算机辅助设计 、 虚拟现实 技术等需求之中。,下面是基于度误差测度的三角网格简化方法专利的具体信息内容。

1.一种基于度误差测度的三角网格简化方法,其特征在于,主要实现步骤如下:
步骤1:输入需要简化的原始网格模型
步骤2:对三角形进行预分类;
步骤3:对三角形的固定点进行二次误差测度测量、计算并确定新顶点位置
步骤4:对三角形计算狭长度;
步骤5:对邻接三角形计算局部区域面积;
步骤6:对每一个折叠点计算折叠后产生的角度误差;
步骤7:综合计算三角形的折叠误差矩阵;
步骤8:对队列中代价最小的三角形进行折叠操作。
2.如权利要求1所述的基于角度误差测度的三角网格简化方法,其特征在于,步骤2对原始网格模型中的三角形进行预分类,将三角形网络分为内部三角形和边界三角形,边界三角形又分为顶点边界三角形和边边界三角形;通过判断顶点是否为边界点来确定三角形的类型,如果三角形顶点的所有相邻点都在其邻域三角形中出现了至少两次,则此顶点为内点,否则为边界点。
3.如权利要求2所述的基于角度误差测度的三角网格简化方法,其特征在于,对于边边界三角形不进行折叠;对于顶点边界三角形,将三角形的三个顶点、中心以及边的中点带入Δ(Ti)=vi0TMpvi0进行计算,其中,Mp为4×4的对称矩阵,使结果Δ(Ti)最小的点作为新顶点vi0;对于内部三角形,则采用QEM算法来确定新顶点的位置。
4.如权利要求1所述的基于角度误差测度的三角网格简化方法,其特征在于,步骤4中对每一个三角形Ti采用Li=2(1-cos(min(α)))式计算狭长度Li,其中min(α)为最小内角。
5.如权利要求1所述的基于角度误差测度的三角网格简化方法,其特征在于,步骤5中对每一个三角形Ti采用 式计算局部区域面积LRA(Ti),其中假设包含三角
形Ti三个顶点的三角形集合为Tn~Tk。
6.如权利要求1所述的基于角度误差测度的三角网格简化方法,其特征在于,步
骤6中将被三角形与新顶点的一阶邻域三角形之间的二面角的最大值记为αi,通过进行计算,其中ni0,ni1,ni0,
ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数。
7.如权利要求1所述的基于角度误差测度的三角网格简化方法,其特征在于,步骤7中结合Garland的QEM算法得到新的折叠误差矩阵为:
结合新顶点排列折叠误差得到三角形误差队列。

说明书全文

基于度误差测度的三角网格简化方法

技术领域

[0001] 本发明涉及一种基于角度误差的三角网格简化方法,具体地说,是一种对三维数字模型中的三角网格进行保持特征的缩略、简化方法,属于三维数据可视化技术领域。

背景技术

[0002] 伴随着计算机图形学计算机辅助设计虚拟现实技术等技术的发展,三维模型可视化作为其中的关键技术也不断完善,使得目前的三维数字模型规模越来越大,伴随之而来的是高速的计算平台和运行所需的大量内存。
[0003] 高精度模型不一定是必须的,因此如何采用相对简单的模型代替原始模型,如何简化复杂的三角网络模型又不丢失模型的特征细节,成为重点研究的问题。
[0004] 网格简化就是在保持原始模型特征的同时尽可能地减少模型的点、边和面的数量,使得模型更简洁。其大致可划分为顶点删除法、边折叠法、三角形折叠法和小波分解法这四种。顶点删除法需要对产生的空洞重新三角化,效率较低,而一次三角形折叠操作相当于两次边折叠操作,具有更高的运算效率。

发明内容

[0005] 发明目的:针对现有技术中存在的特征保持效果不佳、简化结果过于均匀等问题,本发明提供了一种基于角度误差的三角网格简化方法,为三维模型的简化提出了一种新方法。
[0006] 技术方案:为实现上述发明目的,本发明采用的技术方案为一种基于角度误差的三角形网格简化方法,通过对被折叠三角形的狭长度、局部区域面积和角度误差综合计算,处理得到折叠误差队列,从而获得最优的折叠三角形与新顶点。
[0007] 主要实现步骤如下:
[0008] 步骤1:输入需要简化的原始网格模型
[0009] 步骤2:对三角形进行预分类。将三角形网络分为内部三角形和边界三角形,边界三角形又分为顶点边界三角形和边边界三角形。通过判断顶点是否为边界点来确定三角形的类型,如果三角形顶点的所有相邻点都在其邻域三角形中出现了至少两次,则此顶点为内点,否则为边界点;没有边界点的三角形为内部三角形;有一个边界点的三角形为顶点边界三角形;有两个边界点的三角形为边边界三角形。
[0010] 步骤3:对于边边界三角形不进行折叠;对于顶点边界三角形,将三角形的三个顶T点、中心以及边的中点带入Δ(Ti)=vi0 Mpvi0进行计算,其中,假定三角形Ti的邻接三角形所在的平面方程为ax+by+cz+d=0(a2+b2+c2=1),Mp则为4×4的对称矩阵:
使结果Δ(Ti)最小的点作为新顶点vi0;对于内部三角形,
则采用QEM传统算法来确定新顶点的位置
[0011] 步骤4:对三角形计算狭长度。对每一个三角形Ti采用Li=2(1-cos(min(α)))式计算狭长度Li,其中min(α)为最小内角;
[0012] 步骤5:对邻接三角形计算局部区域面积。对每一个三角形Ti采用式计算局部区域面积LRA(Ti),其中假设包含三角形Ti三个顶点的三角形
集合为Tn~Tk,Si为每个领域三角形的面积;
[0013] 步骤6:对每一个折叠点计算折叠后产生的角度误差。如图2所示,三角形T0被折叠为点vi0时,T0的一阶邻域三角形T1至T10转化为了新顶点vi0的一阶邻域三角形△OAB,△OBC,△OCD,△ODE,△OEF,△OFG,△OAG,它们之间形成了相对应的二面角。以这些二面角角度中的最大值作为该三角形的角度误差,记为αi,则对于单个的领域三角形,其角度误差可表示为:
[0014] 其中ni为单个领域三角形折叠前的单位法向量,n′i为折叠后的新顶点vi0的单个邻域三角形的单位法向量。
[0015] 记ni0,ni1,ni0,ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数,则折叠三角形Ti的角度误差可表示为:
[0016] 步骤7:综合计算三角形的折叠误差矩阵。本文提出的角度误差测度,折叠产生的误差越小说明该三角形处于特征不明显的区域,则折叠代价较小,可优先被折叠,结合Garland的QEM算法得到新的折叠误差矩阵为:
[0017]
[0018] 结合新顶点排列折叠误差得到三角形误差队列;
[0019] 步骤8:对队列中代价最小的三角形进行折叠操作;
[0020] 优选地,所述步骤2中,依据三角形的顶点为边界点的个数来对三角形进行分类,分为内部三角形、顶点边界三角形和边边界三角形。并在其后步骤中针对不同类型的三角形采取不同的策略确定新顶点的位置。
[0021] 优选地,所述步骤4中,设立三角形狭长度作为控制因子,通过最小内角来展示狭长度。
[0022] 优选地,所述步骤5中,设立三角形局部区域面积作为控制因子,通过三角形的邻接三角形集合来展示局部区域面积。
[0023] 优选地,所述步骤6中,设立角度误差,通过折叠前的一阶邻域三角形的单位法向量和折叠后的新顶点的一阶邻域三角形的单位法向量,经此公式,其中ni0,ni1,ni0,
ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数,从而得到折叠角度误差αi。
[0024] 本发明采用上述技术方案,具有以下有益效果:将模型中的三角网格进行分类,并对不同的三角形采用不同的新顶点确定方法,可以避免过度无用的运算。通过最小内角来展示狭长度,其值的大小可说明三角形的形状,从而判断折叠顺序。通过邻接三角形集合来展示局部区域面积,其值可体现该区域的网格密度。设立角度误差,只需通过领域三角形的单位法向量,即可得到该三角形被折叠的角度误差,可有效区分高曲率区和低曲率区,在保持特征的同时得到有效地简化,并且避免了传统简化方法在折叠过程中会产生因邻域三角形法向量突变而造成的三角形翻折,使折叠后的平面依然光滑,具有良好的特征保持和视觉效果。附图说明
[0025] 图1为本发明实施例的方法流程图
[0026] 图2为角度误差分析图。

具体实施方式

[0027] 下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0028] 一种基于角度误差测度的三角网格简化方法,包括如下步骤:
[0029] 步骤1:输入需要简化的原始模型,对模型中的三角形进行预分类。将三角形网络分为内部三角形和边界三角形,边界三角形又分为顶点边界三角形和边边界三角形。通过判断顶点是否为边界点来确定三角形的类型,如果三角形顶点的所有相邻点都在其邻域三角形中出现了至少两次,则此顶点为内点,否则为边界点。
[0030] 步骤2:对于边边界三角形不进行折叠;对于顶点边界三角形,将三角形的三个顶点、中心以及边的中点带入Δ(Ti)=vi0TMpvi0进行计算,其中,假定三角形Ti的邻接三角形所在的平面方程为ax+by+cz+d=0(a2+b2+c2=1),则Mp为4×4的对称矩阵:使结果Δ(Ti)最小的点作为新顶点vi0;对于内部三角形,
则采用QEM传统算法来确定新顶点的位置。
[0031] 步骤3:对每一个三角形Ti采用Li=2(1-cos(min(α)))式计算狭长度Li,其中min(α)为最小内角;
[0032] 步骤4:对每一个三角形Ti采用 式计算局部区域面积LRA(Ti),其中假设包含三角形Ti三个顶点的三角形集合为Tn~Tk,Si为每个领域三角形的面积;
[0033] 步骤5:通过 计算折叠三角形Ti所产生的角度误差,其中ni0,ni1,ni0,ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数。
[0034] 步骤6:将步骤3、4、5中的狭长度、局部区域面积和角度误差作为特征值,利用式计算新的折叠误差矩阵Q″i,其中Qi为Garland的传统QEM算法中的误差矩阵,再结合新顶点vi0用Δ′(Ti)=vi0TQ″ivi0,计算三角形新的误差标准Δ′(Ti),并按折叠误差从小到大排列待折叠的三角形,得到三角形误差队列。
[0035] 步骤7:取出误差队列中折叠代价最小的三角形,进行折叠操作,同时删除该三角形的一阶邻域三角形,并重复步骤3至6。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈