CN100385464C - 一种基于四边形折叠的三维网格图形简化方法 - Google Patents
一种基于四边形折叠的三维网格图形简化方法 Download PDFInfo
- Publication number
- CN100385464C CN100385464C CNB2006100345229A CN200610034522A CN100385464C CN 100385464 C CN100385464 C CN 100385464C CN B2006100345229 A CNB2006100345229 A CN B2006100345229A CN 200610034522 A CN200610034522 A CN 200610034522A CN 100385464 C CN100385464 C CN 100385464C
- Authority
- CN
- China
- Prior art keywords
- quadrilateral
- folding
- summit
- summits
- new
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于四边形折叠的三维网格图形简化方法,包括步骤:①获取三维图形的网格信息数据;②检索出网格中所含的四边形;③确定折叠代价最小的四边形;④折叠化简。其特征是以三维网格中任意两个相连的三角形组合定义为进行一次折叠操作的四边形,且定义四边形折叠的操作为四边形的四个顶点收缩为一个新顶点,一次操作具有减少3个顶点6个三角形面片的高折叠效率;指定以除边界边以外的边来唯一对应和检索网格中所含的四边形,降低四边形检索或指代时的复杂度。本方法不仅可以简化复杂的三维图形数据降低对存储、显示、传输等方面的指标要求,而且与已有方法相比,具有更高的简化速度,是一种快速高效的三维网格图形简化方法。
Description
技术领域
本发明涉及图形数据处理领域,具体涉及对复杂的三维图形数据进行简化的一种基于四边形折叠的三维网格图形简化方法。
背景技术
随着科学技术的不断进步,在计算机图形学、虚拟现实、计算机辅助设计、地理信息系统、医学图形等领域越来越多地应用到三维网格图形,这些图形动辄产生数以百万计的面片,对计算机的存储容量、处理速度、绘制速度、传输效率等都提出很高的要求,然而在很多情况下高分辨率的模型并不总是必要的,这就需要对原始模型进行简化。
几何元素删除法是其中一种重要的图形简化方法,其原理是在保持一定的几何误差的前提下,删除对模型几何特征影响较小的几何“图元”(点、边、面)。“删除”又分直接删除、通过合并两个或多个面来删除边或面、对边或三角形进行折叠等三种情况,移去或删除操作一直进行到模型不能简化或达到指定近似误差为止。
图形简化是目前计算机图形及移动计算上的热门方向,对这方面的研究出现了不少的成果,但在几何元素删除法这方面的相关成果目前只有基于顶点、边(如图1所示)、面(三角形)(如图2所示)删除这几种方法。
发明内容
本发明的目的在于提供一种基于四边形折叠的三维网格图形简化方法,可简化复杂的三维图形数据,降低对存储、显示、传输等方面的指标要求。
一种基于四边形折叠的三维网格图形简化方法,包括步骤:①获取三维图形的网格信息数据;②定义并检索出网格中所含的四边形;③确定折叠代价最小的四边形;④折叠化简操作;其特征在于:以三维网格中任意两个相连的三角形组合定义为进行一次折叠操作的四边形,且定义四边形折叠的操作为四边形的四个顶点收缩为一个新顶点,一次操作具有减少3个顶点6个三角形面片的高折叠效率;指定以除边界边以外的边来唯一对应和检索网格中所含的四边形,降低四边形检索或指代时的复杂度;
所述的确定折叠代价最小的四边形中采用Garland算法中的二次误差度量来计算一个原有顶点进行移动(折叠)的代价,由于四边形折叠需要同时考虑4个顶点移动后造成的误差,本方法以进行折叠操作的四边形4个顶点的误差之和作为折叠代价;
所述的折叠化简操作包括新顶点位置的确定,新顶点的位置可以有如下方法选择:
(a)子集位置:即四边形四个顶点的其中一个顶点,子集位置由于不产生新顶点,需要存储及处理开销较小;
(b)最佳位置:由折叠代价函数计算出其最小值作为折叠后的新顶点;如无解,则可以选取四边形的四个顶点或各边中点这9个位置中的一个作为新顶点的位置;
所述的折叠化简操作中图形的边界方法为:在四边形的边界边上作一个通过该边界边并与该边界边所在的边界三角形垂直的平面a,在计算折叠代价时要考虑新顶点到平面a的距离,保证新顶点不会偏离边界,在含多边界边的特殊情况下(四边形折叠特有),解决方案为同时考虑每条边界边的边界保护,即新顶点到多个新作的垂直平面的距离,例如一个四边形含有三条边界边,则需要同时考虑三个垂直平面以保护边界。
所在的边界三角形垂直的平面a,在计算折叠代价时要考虑新顶点到平面a的距离,保证新顶点不会偏离边界,保持了图形的边界。
本发明一种基于四边形折叠的三维网格图形简化方法具有以下几个方面的特点:
(1)提出两个以公共边相连的三角形可以构成一个四边形,以四边形折叠为基本操作,是一种间接(非三角网格图形原有基本图元)的简化方法。
(2)操作上:Garland的边折叠算法的每次边折叠减少1个顶点与2个三角形面片,周昆的三角形折叠算法的每次折叠减少2个顶点和4个三角形面片相比,本文算法一次四边形折叠能减少3个顶点及6个三角形面片,相当于3次边折叠和1.5次三角形折叠的效果,具有更高的折叠效率,从而实现比边折叠算法和三角形折叠算法更快的简化速度。
(3)误差计算上:采用Garland的QEM(二次误差量度)即以新顶点到旧平面的距离平方和作为顶点移动的误差代价,由于可以通过矩阵叠加简单地计算出误差值,时间复杂性上与Garland、周昆的算法处于同等数量级,所以算法误差计算效率十分高。
如上所述,本方法不仅可以简化复杂的三维图形数据降低对存储、显示、传输等方面的指标要求,而且与已有方法相比,具有更高的简化速度,是一种快速高效的三维网格图形简化方法。
附图说明
图1是本发明的控制流程图;
图2是边折叠;
图3是三角形折叠;
图4是四边形折叠;
图5是边界处理:作垂直平面a;
图7是三维球形模型的简化;
图8是人头模型的简化;
图9是鲨鱼模型的简化。
具体实施方式
下面结合附图对本发明的的三维网格图形简化方法作详细描述。
如图1所示是该发明的一个实施方案的控制流程图,主要包括以下步骤:获取三维图形的网格信息数据、检索出网格中所含的四边形、确定折叠代价最小的四边形、折叠化简。下面作详细介绍。
(1)四边形的定义与检索
算法中定义的四边形并不是网格模型的基本图元,而是由两个相连的三角形组合而成,在执行算法的时候,四边形就可以通过网格模型的边得到,每条边都对应两个相连的三角形,即都对应着一个由它们组合成的四边形,该边则为这个四边形的公共边;由于边界边只对应一个三角形,也即不存在以之为公共边的四边形,因此,在通过边检索四边形的时候,需要排除边界边。
(2)基于四边形的折叠操作
由图4可见,四边形QUAD{v7,v8,v9,v10}是由两个三角形T{v7,v8,v10}及T{v8,v9,v10}通过公共边E{v8 v10}连接而成。简化的基本操作是四边形折叠,在图(a)中,对四边形QUAD{v7,v8,v9,v10},找到与之相关的三角形集合CQ,对QUAD{v7,v8,v9,v10}执行折叠操作,则其四个顶点v7,v8,v9,v10收缩为图(b)中的v0,执行该次折叠操作,共减少3个顶点和6个三角面片。
(3)四边形折叠代价的计算
简化的误差即四边形折叠的代价,本算法引入Garland算法中的二次误差度量,即把新顶点到旧顶点相连平面的距离的平方之和作为顶点移动后引起的误差。
其中,KP为4X4对称矩阵:
由于四边形QUADi折叠需要同时考虑4个顶点移动后造成的误差,我们以进行折叠操作的四边形4个顶点va、vb、vc、vd的误差之和作为误差量度,即:
ε(QUADi)=∑Δ(v)=Δ(va→v0)+Δ(vb→v0)+Δ(vc→v0)+Δ(vd→v0)
=v(Q(va)+Q(vb)+Q(vc)+Q(vb))vT
=vQvT (3)
其中,Q(va)、Q(vb)、Q(vc)、Q(vd)皆为4x4的对称矩阵,Q可以由矩阵叠加得到,因此上式展开可得:
vTQv=q11x2+2q12xy+2q13xz+2q14x+q22y2
+2q23yz+2q24y+q33z2+2q34z+q44 (4)
(4)新顶点位置
进行四边形折叠操作后,新顶点的位置可以有如下方法选择:
(a)子集位置
即四边形四个顶点的其中一个顶点,子集位置由于不产生新顶点,需要存储及处理开销较小,适合像移动终端设备这样的对简化效果要求不高,但对处理开销相对严格的场合。
(b)最佳位置(依据某种评价指标合成的新顶点)
由(4)式可知误差函数Δ(v)是二次函数,因此其最小值是个线性问题。由极值的性质,我们对(4)式中的x,y,z求偏导数,可得方程组(5):
写成矩阵的形式,即
如果(6)式有解,则新顶点v的位置由式(7)唯一给出:
否则,可以选取四边形QUADi的四个顶点或公共边及外部边的中点这9个位置中的一个作为新顶点的位置。
(5)边界的处理
对于非闭合的网格模型,存在含一条或多条边界边的边界四边形,与其相关的三角形集合不能构成一个三角形环,如忽略边界的情况,则在简化过程中会造成边界退化。为避免这种退化,我们在该三角形集合的每条边界边上作一个通过该边界边并与该边界边所在的边界三角形垂直的平面。
如图5示,QUAD{va,vb,vc,vd}是以vavc为公共边的边界四边形,vdvc是网格模型的边界边,作平面a垂直三角形T{va,vc,vd},并与T{va,vc,vd}相交于边vdvc,因此计算vd及vc两顶点的误差矩阵Q时,就需要考虑新顶点到平面a的距离,由于计算机结果与这个垂直平面的选取无关,这样做就将点到边界边的距离加入到误差测度之中,从而保证新顶点不会偏离边界,保持了模型的边界。
基于四边形折叠的网格简化算法是采用新的四边形折叠作为基本简化操作,以QEM作为误差量度,根据图1和图4对该方法的控制流程作如描述:
步骤1.对原始网格中的每条非边界边构成的四边形QUADi,计算其误差矩阵Q;
步骤2.对原始网格中的每个四边形QUADi,通过其误差矩阵Q计算其折叠后生成的最优收缩目标点v,并通过vQvT计算其折叠误差并按顺序入栈,栈顶为最小误差值;
步骤3.选取误差最小的四边形进行折叠;
步骤4.更新与被折叠四边形相关的所有信息;
步骤5.如果四边形序列为空或已经达到简化目标,转到步骤6,否则转步骤3。
步骤6.结束
图6、图7、图8和图9为该方法的几组应用实例。图6是三维球模型进行一次四边形折叠前后的图形比较。图7是由2000个三角形网格组成的三维球形模型使用本简化方法处理后的几组图像,左边是贴面图,右边是拓朴结构图。下表为不同简化程度所对应的面片数:
程度 | 100% | 80% | 50% | 30% |
剩余面片 | 2000 | 1604 | 1004 | 602 |
图8是人头模型的简化,图9是鲸鱼模型的简化。由以上几组应用实例可以看出本简化方法将模型简化了50%以后,仍能够较好保持模型的边界特征,具有很好的简化效果。
Claims (1)
1.一种基于四边形折叠的三维网格图形简化方法,包括步骤:①获取三维图形的网格信息数据;②定义并检索出网格中所含的四边形;③确定折叠代价最小的四边形;④折叠化简操作;其特征在于:以三维网格中任意两个相连的三角形组合定义为进行一次折叠操作的四边形,且定义四边形折叠的操作为四边形的四个顶点收缩为一个新顶点,一次操作具有减少3个顶点6个三角形面片的高折叠效率;指定以除边界边以外的边来唯一对应和检索网格中所含的四边形,降低四边形检索或指代时的复杂度;
所述的确定折叠代价最小的四边形中采用二次误差度量来计算一个原有顶点进行移动折叠的代价,由于四边形折叠需要同时考虑4个顶点移动后造成的误差,本方法以进行折叠操作的四边形4个顶点的误差之和作为折叠代价;
所述的折叠化简操作包括新顶点位置的确定,新顶点的位置可以有如下方法选择:
(a)子集位置:即四边形四个顶点的其中一个顶点,子集位置不产生新顶点,需要存储及处理开销较小;
(b)最佳位置:由折叠代价函数计算出其最小值作为折叠后的新顶点;如无解,则选取四边形的四个顶点或各边中点这9个位置中的一个作为新顶点的位置;
所述的折叠化简操作中图形的边界方法为:在四边形的边界边上作一个通过该边界边并与该边界边所在的边界三角形垂直的平面a,在计算折叠代价时要考虑新顶点到平面a的距离,保证新顶点不会偏离边界,在含多边界边的特殊情况下,解决方案为同时考虑每条边界边的边界保护,即新顶点到多个新作的垂直平面的距离,对于含有三条边界边的四边形,需要同时考虑三个垂直平面以保护边界。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100345229A CN100385464C (zh) | 2006-03-21 | 2006-03-21 | 一种基于四边形折叠的三维网格图形简化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100345229A CN100385464C (zh) | 2006-03-21 | 2006-03-21 | 一种基于四边形折叠的三维网格图形简化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1822051A CN1822051A (zh) | 2006-08-23 |
CN100385464C true CN100385464C (zh) | 2008-04-30 |
Family
ID=36923398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100345229A Expired - Fee Related CN100385464C (zh) | 2006-03-21 | 2006-03-21 | 一种基于四边形折叠的三维网格图形简化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100385464C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546647A (zh) * | 2012-01-17 | 2012-07-04 | 西北大学 | 一种网格模型简化方法和基于该方法的网格模型传输方法 |
CN103035029B (zh) * | 2012-12-06 | 2016-01-20 | 西南石油大学 | 用离散裂缝端点变形消除油藏数值模型极小化网格的方法 |
US11126766B2 (en) | 2016-10-31 | 2021-09-21 | Siemens Industry Software Inc. | System and method for element quality improvement in 3D quadrilateral-dominant surface meshes |
CN107527384B (zh) * | 2017-07-14 | 2020-12-22 | 中山大学 | 一种基于运动特征的三维动态网格简化方法及其系统 |
CN112506217A (zh) * | 2020-11-19 | 2021-03-16 | 一飞(海南)科技有限公司 | 利用三维模型快速生成集群无人机表演立体画面的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334344A (ja) * | 2001-05-11 | 2002-11-22 | Ricoh Co Ltd | 三角形メッシュ簡単化装置およびプログラム |
US6798411B1 (en) * | 1999-10-29 | 2004-09-28 | Intel Corporation | Image processing |
-
2006
- 2006-03-21 CN CNB2006100345229A patent/CN100385464C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798411B1 (en) * | 1999-10-29 | 2004-09-28 | Intel Corporation | Image processing |
JP2002334344A (ja) * | 2001-05-11 | 2002-11-22 | Ricoh Co Ltd | 三角形メッシュ簡単化装置およびプログラム |
Non-Patent Citations (6)
Title |
---|
Simplifying Surfaces with Color and Texture using QuadricError Metrics. Michael Gar1and,Paul S. Heckbertt.IEEE. 1998 |
Simplifying Surfaces with Color and Texture using QuadricError Metrics. Michael Gar1and,Paul S. Heckbertt.IEEE. 1998 * |
一种改进的基于三角形折叠的网格简化算法. 孙永辉等.计算机工程与设计,第24卷第8期. 2003 |
一种改进的基于三角形折叠的网格简化算法. 孙永辉等.计算机工程与设计,第24卷第8期. 2003 * |
基于三角形折叠的网格简化算法. 周昆等.计算机学报,第21卷第6期. 1998 |
基于三角形折叠的网格简化算法. 周昆等.计算机学报,第21卷第6期. 1998 * |
Also Published As
Publication number | Publication date |
---|---|
CN1822051A (zh) | 2006-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8903693B2 (en) | Boundary handling for particle-based simulation | |
US10275942B2 (en) | Compression of a three-dimensional modeled object | |
JP5629705B2 (ja) | グラフィックスプロセッサ上の物理シミュレーション | |
EP3040797B1 (en) | Simulating the machining of a workpiece | |
Liu et al. | Fast dynamic grid deformation based on Delaunay graph mapping | |
CN102779358B (zh) | 用于设计几何三维建模对象的方法及设备 | |
Ivey et al. | Accurate interface normal and curvature estimates on three-dimensional unstructured non-convex polyhedral meshes | |
CN102306396B (zh) | 一种三维实体模型表面有限元网格自动生成方法 | |
US9881388B2 (en) | Compression and decompression of a 3D modeled object | |
US10719549B2 (en) | Querying a database based on a parametric view function | |
CN101241602B (zh) | 一种计算机三维网格图形的简化方法 | |
EP3040945B1 (en) | Creation of bounding boxes on a 3d modeled assembly | |
CN100385464C (zh) | 一种基于四边形折叠的三维网格图形简化方法 | |
US20080275677A1 (en) | System, methods, and computer readable media, for product design using coupled computer aided engineering models | |
US20080162090A1 (en) | System, methods, and computer readable media, for product design using t-spline deformation | |
CN102609992A (zh) | 基于三角网格变形体的自碰撞检测方法 | |
CN103235854A (zh) | 一种离散元仿真中球形颗粒与三角网格间的接触判断方法 | |
US20120283998A1 (en) | Cad design with primitive closed shapes | |
CN109977952A (zh) | 基于局部最大值的候选目标检测方法 | |
JP4564506B2 (ja) | 自由形状変形(FreeFormDeformation)の拡張直接操作(ExtendDirectManipulation)法による進化的デザイン最適化(EvolutionaryDesignOptimisation) | |
US20210141869A1 (en) | Automated Analysis of Mechanical Designs | |
US20150248784A1 (en) | Systems and Methods for Creating a Three-Dimensional Texture Atlas | |
CN116127802B (zh) | 3d视景展示cae仿真结果的方法、装置及系统 | |
CN103093496B (zh) | 一种三维图形仿真方法及系统 | |
CN105279320A (zh) | 一种生成fdtd网格的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080430 Termination date: 20150321 |
|
EXPY | Termination of patent right or utility model |