CN108038909A - 基于角度误差测度的三角网格简化方法 - Google Patents

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

Info

Publication number
CN108038909A
CN108038909A CN201711210524.3A CN201711210524A CN108038909A CN 108038909 A CN108038909 A CN 108038909A CN 201711210524 A CN201711210524 A CN 201711210524A CN 108038909 A CN108038909 A CN 108038909A
Authority
CN
China
Prior art keywords
triangle
folding
error
angular error
vertex
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711210524.3A
Other languages
English (en)
Inventor
娄渊胜
严筱蓉
叶枫
程宜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201711210524.3A priority Critical patent/CN108038909A/zh
Publication of CN108038909A publication Critical patent/CN108038909A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Geometry (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

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

Description

基于角度误差测度的三角网格简化方法
技术领域
本发明涉及一种基于角度误差的三角网格简化方法,具体地说,是一种对三维数字模型中的三角网格进行保持特征的缩略、简化方法,属于三维数据可视化技术领域。
背景技术
伴随着计算机图形学、计算机辅助设计、虚拟现实技术等技术的发展,三维模型可视化作为其中的关键技术也不断完善,使得目前的三维数字模型规模越来越大,伴随之而来的是高速的计算平台和运行所需的大量内存。
高精度模型不一定是必须的,因此如何采用相对简单的模型代替原始模型,如何简化复杂的三角网络模型又不丢失模型的特征细节,成为重点研究的问题。
网格简化就是在保持原始模型特征的同时尽可能地减少模型的点、边和面的数量,使得模型更简洁。其大致可划分为顶点删除法、边折叠法、三角形折叠法和小波分解法这四种。顶点删除法需要对产生的空洞重新三角化,效率较低,而一次三角形折叠操作相当于两次边折叠操作,具有更高的运算效率。
发明内容
发明目的:针对现有技术中存在的特征保持效果不佳、简化结果过于均匀等问题,本发明提供了一种基于角度误差的三角网格简化方法,为三维模型的简化提出了一种新方法。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种基于角度误差的三角形网格简化方法,通过对被折叠三角形的狭长度、局部区域面积和角度误差综合计算,处理得到折叠误差队列,从而获得最优的折叠三角形与新顶点。
主要实现步骤如下:
步骤1:输入需要简化的原始网格模型;
步骤2:对三角形进行预分类。将三角形网络分为内部三角形和边界三角形,边界三角形又分为顶点边界三角形和边边界三角形。通过判断顶点是否为边界点来确定三角形的类型,如果三角形顶点的所有相邻点都在其邻域三角形中出现了至少两次,则此顶点为内点,否则为边界点;没有边界点的三角形为内部三角形;有一个边界点的三角形为顶点边界三角形;有两个边界点的三角形为边边界三角形。
步骤3:对于边边界三角形不进行折叠;对于顶点边界三角形,将三角形的三个顶点、中心以及边的中点带入Δ(Ti)=vi0 TMpvi0进行计算,其中,假定三角形Ti的邻接三角形所在的平面方程为ax+by+cz+d=0(a2+b2+c2=1),Mp则为4×4的对称矩阵:使结果Δ(Ti)最小的点作为新顶点vi0;对于内部三角形,则采用QEM传统算法来确定新顶点的位置。
步骤4:对三角形计算狭长度。对每一个三角形Ti采用Li=2(1-cos(min(α)))式计算狭长度Li,其中min(α)为最小内角;
步骤5:对邻接三角形计算局部区域面积。对每一个三角形Ti采用式计算局部区域面积LRA(Ti),其中假设包含三角形Ti三个顶点的三角形集合为Tn~Tk,Si为每个领域三角形的面积;
步骤6:对每一个折叠点计算折叠后产生的角度误差。如图2所示,三角形T0被折叠为点vi0时,T0的一阶邻域三角形T1至T10转化为了新顶点vi0的一阶邻域三角形△OAB,△OBC,△OCD,△ODE,△OEF,△OFG,△OAG,它们之间形成了相对应的二面角。以这些二面角角度中的最大值作为该三角形的角度误差,记为αi,则对于单个的领域三角形,其角度误差可表示为:
其中ni为单个领域三角形折叠前的单位法向量,n′i为折叠后的新顶点vi0的单个邻域三角形的单位法向量。
记ni0,ni1,ni0,ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数,则折叠三角形Ti的角度误差可表示为:
步骤7:综合计算三角形的折叠误差矩阵。本文提出的角度误差测度,折叠产生的误差越小说明该三角形处于特征不明显的区域,则折叠代价较小,可优先被折叠,结合Garland的QEM算法得到新的折叠误差矩阵为:
结合新顶点排列折叠误差得到三角形误差队列;
步骤8:对队列中代价最小的三角形进行折叠操作;
优选地,所述步骤2中,依据三角形的顶点为边界点的个数来对三角形进行分类,分为内部三角形、顶点边界三角形和边边界三角形。并在其后步骤中针对不同类型的三角形采取不同的策略确定新顶点的位置。
优选地,所述步骤4中,设立三角形狭长度作为控制因子,通过最小内角来展示狭长度。
优选地,所述步骤5中,设立三角形局部区域面积作为控制因子,通过三角形的邻接三角形集合来展示局部区域面积。
优选地,所述步骤6中,设立角度误差,通过折叠前的一阶邻域三角形的单位法向量和折叠后的新顶点的一阶邻域三角形的单位法向量,经此公式,其中ni0,ni1,ni0,ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数,从而得到折叠角度误差αi
本发明采用上述技术方案,具有以下有益效果:将模型中的三角网格进行分类,并对不同的三角形采用不同的新顶点确定方法,可以避免过度无用的运算。通过最小内角来展示狭长度,其值的大小可说明三角形的形状,从而判断折叠顺序。通过邻接三角形集合来展示局部区域面积,其值可体现该区域的网格密度。设立角度误差,只需通过领域三角形的单位法向量,即可得到该三角形被折叠的角度误差,可有效区分高曲率区和低曲率区,在保持特征的同时得到有效地简化,并且避免了传统简化方法在折叠过程中会产生因邻域三角形法向量突变而造成的三角形翻折,使折叠后的平面依然光滑,具有良好的特征保持和视觉效果。
附图说明
图1为本发明实施例的方法流程图;
图2为角度误差分析图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于角度误差测度的三角网格简化方法,包括如下步骤:
步骤1:输入需要简化的原始模型,对模型中的三角形进行预分类。将三角形网络分为内部三角形和边界三角形,边界三角形又分为顶点边界三角形和边边界三角形。通过判断顶点是否为边界点来确定三角形的类型,如果三角形顶点的所有相邻点都在其邻域三角形中出现了至少两次,则此顶点为内点,否则为边界点。
步骤2:对于边边界三角形不进行折叠;对于顶点边界三角形,将三角形的三个顶点、中心以及边的中点带入Δ(Ti)=vi0 TMpvi0进行计算,其中,假定三角形Ti的邻接三角形所在的平面方程为ax+by+cz+d=0(a2+b2+c2=1),则Mp为4×4的对称矩阵:使结果Δ(Ti)最小的点作为新顶点vi0;对于内部三角形,则采用QEM传统算法来确定新顶点的位置。
步骤3:对每一个三角形Ti采用Li=2(1-cos(min(α)))式计算狭长度Li,其中min(α)为最小内角;
步骤4:对每一个三角形Ti采用式计算局部区域面积LRA(Ti),其中假设包含三角形Ti三个顶点的三角形集合为Tn~Tk,Si为每个领域三角形的面积;
步骤5:通过计算折叠三角形Ti所产生的角度误差,其中ni0,ni1,ni0,ni1,…,nik为三角形Ti折叠前的一阶邻域三角形的单位法向量,n′i0,n′i1,…,n′ik为折叠后的新顶点vi0的一阶邻域三角形的单位法向量,k为顶点vi0的一阶邻域三角形的个数。
步骤6:将步骤3、4、5中的狭长度、局部区域面积和角度误差作为特征值,利用式计算新的折叠误差矩阵Q″i,其中Qi为Garland的传统QEM算法中的误差矩阵,再结合新顶点vi0用Δ′(Ti)=vi0 TQ″ivi0,计算三角形新的误差标准Δ′(Ti),并按折叠误差从小到大排列待折叠的三角形,得到三角形误差队列。
步骤7:取出误差队列中折叠代价最小的三角形,进行折叠操作,同时删除该三角形的一阶邻域三角形,并重复步骤3至6。

Claims (7)

1.一种基于角度误差测度的三角网格简化方法,其特征在于,主要实现步骤如下:
步骤1:输入需要简化的原始网格模型;
步骤2:对三角形进行预分类;
步骤3:对三角形的固定点进行二次误差测度测量、计算并确定新顶点位置;
步骤4:对三角形计算狭长度;
步骤5:对邻接三角形计算局部区域面积;
步骤6:对每一个折叠点计算折叠后产生的角度误差;
步骤7:综合计算三角形的折叠误差矩阵;
步骤8:对队列中代价最小的三角形进行折叠操作。
2.如权利要求1所述的基于角度误差测度的三角网格简化方法,其特征在于,步骤2对原始网格模型中的三角形进行预分类,将三角形网络分为内部三角形和边界三角形,边界三角形又分为顶点边界三角形和边边界三角形;通过判断顶点是否为边界点来确定三角形的类型,如果三角形顶点的所有相邻点都在其邻域三角形中出现了至少两次,则此顶点为内点,否则为边界点。
3.如权利要求2所述的基于角度误差测度的三角网格简化方法,其特征在于,对于边边界三角形不进行折叠;对于顶点边界三角形,将三角形的三个顶点、中心以及边的中点带入Δ(Ti)=vi0 TMpvi0进行计算,其中,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算法得到新的折叠误差矩阵为:
<mrow> <msubsup> <mi>Q</mi> <mi>i</mi> <mrow> <mo>&amp;prime;</mo> <mo>&amp;prime;</mo> </mrow> </msubsup> <mo>=</mo> <mfrac> <msub> <mi>L</mi> <mi>i</mi> </msub> <mrow> <mi>L</mi> <mi>R</mi> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <msub> <mi>&amp;alpha;</mi> <mi>i</mi> </msub> </mrow> </mfrac> <msub> <mi>Q</mi> <mi>i</mi> </msub> </mrow>
结合新顶点排列折叠误差得到三角形误差队列。
CN201711210524.3A 2017-11-28 2017-11-28 基于角度误差测度的三角网格简化方法 Pending CN108038909A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711210524.3A CN108038909A (zh) 2017-11-28 2017-11-28 基于角度误差测度的三角网格简化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711210524.3A CN108038909A (zh) 2017-11-28 2017-11-28 基于角度误差测度的三角网格简化方法

Publications (1)

Publication Number Publication Date
CN108038909A true CN108038909A (zh) 2018-05-15

Family

ID=62093039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711210524.3A Pending CN108038909A (zh) 2017-11-28 2017-11-28 基于角度误差测度的三角网格简化方法

Country Status (1)

Country Link
CN (1) CN108038909A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113593032A (zh) * 2021-05-24 2021-11-02 北京建筑大学 顾及角度误差的三维建筑模型边折叠简化算法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877147A (zh) * 2010-06-29 2010-11-03 浙江大学 三维三角形网格模型的简化算法
CN102881044A (zh) * 2012-09-27 2013-01-16 重庆大学 一种基于三角形折叠的三维网格模型的简化方法
CN105303614A (zh) * 2015-10-12 2016-02-03 中国人民解放军空军航空大学 改进的qem三维模型简化方法
CN105761314A (zh) * 2016-03-16 2016-07-13 北京理工大学 一种基于显著颜色属性特征保持的模型简化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877147A (zh) * 2010-06-29 2010-11-03 浙江大学 三维三角形网格模型的简化算法
CN102881044A (zh) * 2012-09-27 2013-01-16 重庆大学 一种基于三角形折叠的三维网格模型的简化方法
CN105303614A (zh) * 2015-10-12 2016-02-03 中国人民解放军空军航空大学 改进的qem三维模型简化方法
CN105761314A (zh) * 2016-03-16 2016-07-13 北京理工大学 一种基于显著颜色属性特征保持的模型简化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIAORONG YAN 等: "The Triangle Collapse Algorithm Based on Angle Error Metrics", 《THIRD INTERNATIONAL CONFERENCE OF PIONEERING COMPUTER SCIENTISTS,ENGINEERS AND EDUCATORS,ICPCSEE 2017》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113593032A (zh) * 2021-05-24 2021-11-02 北京建筑大学 顾及角度误差的三维建筑模型边折叠简化算法

Similar Documents

Publication Publication Date Title
CN102881044B (zh) 一种基于三角形折叠的三维网格模型的简化方法
CN108961411B (zh) 一种保持外观特征的复杂三维建筑物模型简化方法
Guo et al. Automatic and high-quality surface mesh generation for CAD models
CN102521863B (zh) 一种基于粒子系统的三维流体标矢量统一动态表示方法
CN101308579B (zh) 一种三维动画模型的自适应简化方法
WO2021204026A1 (zh) 基于分布式系统的海量dem金字塔切片并行构建方法
CN105787226A (zh) 四边有限元网格模型的参数化模型重建
CN102831275B (zh) 一种3d流体的仿真方法及系统
CN102279981B (zh) 一种三维图像网格化方法
CN113505443A (zh) 一种任意外形的三维绕流问题自适应笛卡尔网格生成方法
CN102509339A (zh) 一种带纹理约束的三维模型顶点聚类简化方法
Zhou et al. Generation of a tree-like support structure for fused deposition modelling based on the L-system and an octree
CN104008561A (zh) 一种基于gpu模拟过程式动画的实现方法
CN105225272B (zh) 一种基于多轮廓线三角网重构的三维实体建模方法
CN100555295C (zh) 一种计算机自动开版的玩具设计制作方法
CN109766578A (zh) 一种三维机翼结冰后表面重构方法
CN101383053B (zh) 基于表面积保持的3d网格变形方法
CN107610228A (zh) 基于海量点云的曲面增量拓扑重建方法
CN105653881B (zh) 基于多密度层次的流场可视化方法
CN108038909A (zh) 基于角度误差测度的三角网格简化方法
CN101169871A (zh) 面向大规模静态场景实时渲染的hlod预处理方法
Wang Whole aero-engine meshing and CFD simulation
Liu et al. Distributed poly-square mapping for large-scale semi-structured quad mesh generation
CN103679814A (zh) 一种三角形网格模型的处理方法及装置
CN109785443A (zh) 一种针对大型海洋工程装备的三维模型简化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180515