CN103295266B - 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 - Google Patents

一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 Download PDF

Info

Publication number
CN103295266B
CN103295266B CN201310210453.2A CN201310210453A CN103295266B CN 103295266 B CN103295266 B CN 103295266B CN 201310210453 A CN201310210453 A CN 201310210453A CN 103295266 B CN103295266 B CN 103295266B
Authority
CN
China
Prior art keywords
summit
distance
threedimensional model
model
edge contraction
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.)
Active
Application number
CN201310210453.2A
Other languages
English (en)
Other versions
CN103295266A (zh
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.)
Institute of Dongguan of Sun Yat Sen University
National Sun Yat Sen University
Original Assignee
Institute of Dongguan of Sun Yat Sen University
National Sun Yat Sen University
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 Institute of Dongguan of Sun Yat Sen University, National Sun Yat Sen University filed Critical Institute of Dongguan of Sun Yat Sen University
Priority to CN201310210453.2A priority Critical patent/CN103295266B/zh
Publication of CN103295266A publication Critical patent/CN103295266A/zh
Application granted granted Critical
Publication of CN103295266B publication Critical patent/CN103295266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于距离加权最小折叠代价的三维模型边折叠简化的方法,包括如下步骤:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;根据模型文件中点的次序循环遍历模型中的顶点v;通过将v的顶点起伏权值与参考阈值进行比较;遍历该顶点v的所有相邻顶点;计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;对每一对顶点都模拟进行边折叠操作;选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入;将简化后保留的顶点及面片信息保存到新的obj文件中。通过实施本发明,能够尽量减少简化模型产生狭长三角面片的出现,从而尽量保持了原始模型的拓扑结构和特征点。

Description

一种基于距离加权最小折叠代价的三维模型边折叠简化的 方法
技术领域
本发明涉及技术计算机领域,具体涉及一种基于距离加权最小折叠代价的三维模型边折叠简化的方法。
背景技术
随着当今科学技术飞速的发展进步,三维图形由于其更生动具体的立体效果,越来越倾向于取代二维图形在人们生活、工作领域的地位。越来越多的三维图形出现在数字电视、动画游戏、地图绘制和医疗成像等领域中。随着三维模型数据获取技术的不断提高,三维模型的精度也随之增长,这给处理能力有限的交互式设备带来了巨大的压力。然而有些场合下并不需要有如此高精度的三维模型,因此需要对三维模型进行简化,从而加快交互终端的处理能力。
与二维图片用图像分辨率来表示图像精度的方法一样,三维图形也用模型分辨率来对应模型数据密度的大小。模型数据密度大意味着模型分辨率高,模型比较精确精细;模型数据密度小意味着模型分辨率低,模型比较粗糙简陋。因此三维图形网格简化的实质就是:对三维网格模型的点和三角面片进行处理,在尽量保持原始模型特征的情况下,去除不影响原始模型特征的多余的点和面片,从而减低模型的数据密度,获得能够满足需要的分辨率比较低的模型,使得三维图形在设备终端的显示和编辑变得容易并减少三维图形数据在因特网上传输的压力。
早在1976年就有学者James Clark提出了三维模型简化的思想,近些年,随着计算机图形学的发展进步以及三维模型应用范围的拓展,越来越多的研究人员对三维模型简化进行了深入全面的研究,特别是采用网格来表示三维模型成为主流之后,涌现众多的三维模型简化算法。
现有的一个基于最小折叠代价的三维模型边折叠简化算法,通过顶点对折叠代价的衡量,综合考虑顶点对的选择对三维模型拓扑结构的影响以及对被选择的顶点对不同折叠操作对模型拓扑结构的影响,从而使得简化后的模型能够保留更多原始模型的特征。
对于现有的技术,该算法虽然综合考虑了顶点对的选择对三维模型拓扑结构的影响以及对被选择的顶点对不同折叠操作对模型拓扑结构的影响,使得简化后的模型能够保留更多原始模型的特征。但是其对于存在狭长三角面片的网格模型缺乏考虑。如图1所示,点A和B为选择的具有最小折叠代价的顶点对,如果将点B向点A合并,则对模型不会产生较大的影响。然而可能存在点A向点B合并,那么在合并后,就将产生如图2所示的结果:产生了多个狭长的小三角面片。
发明内容
本发明是对一种基于距离加权最小折叠代价的三维模型边折叠简化算法的改进,其主要目标是处理存在狭长三角面片的三维模型。使用本发明的基于距离加权最小折叠代价的边折叠简化算法,能够尽量减少简化模型产生狭长三角面片的出现,从而尽量保持了原始模型的拓扑结构和特征点。
本发明是一种基于距离加权最小折叠代价的三维模型边折叠简化的方法。该算法以基于最小折叠代价的边折叠算法为基础,在选择顶点对上进行了改进。首先计算出所有顶点与其所有相邻顶点的平均距离,然后将顶点与相邻顶点的距离与平均距离的比值作为折叠代价的一个系数,距离比值与折叠代价两者的乘积作为新的折叠代价参与评估,该方法包括如下步骤:
步骤一:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据三维模型的obj文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤八,否则进入步骤三;
步骤三:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;
步骤六:对每一对顶点都模拟进行边折叠操作,计算边折叠之后产生的折叠代价,将其与相应顶点的距离比值的乘积作为新的折叠代价。进入步骤七;
步骤七:选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入,如果有多个这样的顶点对存在,选择距离最近的顶点对。此时模型顶点数减少一个。然后转入步骤二,继续进行简化;
步骤八:将简化后保留的顶点及面片信息保存到新的三维模型的obj文件中,以供下一次简化使用。
通过本发明提供的方法,本发明首先保持了基于最小折叠代价的三维模型边折叠简化算法的简化有效性,即简化后能够达到同样的保持原始模型拓扑结构和特征的效果。其次,本发明创造性的将顶点间的距离与折叠代价相结合进行了考虑,这使得在简化过程中降低了狭长三角面片出现的可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中的三维模型顶点对合并前的示意图;
图2是现有技术中的三维模型顶点对合并后的示意图;
图3是本发明实施例中的基于距离加权最小折叠代价的三维模型边折叠简化的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明是对一种基于距离加权最小折叠代价的三维模型边折叠简化算法的改进,其主要目标是处理存在狭长三角面片的三维模型。使用本发明的基于距离加权最小折叠代价的边折叠简化算法,能够尽量减少简化模型产生狭长三角面片的出现,从而尽量保持了原始模型的拓扑结构和特征点。
本发明是一种基于距离加权最小折叠代价的三维模型边折叠简化算法。该算法以基于最小折叠代价的边折叠算法为基础,在选择顶点对上进行了改进。首先计算出所有顶点与其所有相邻顶点的平均距离,然后将顶点与相邻顶点的距离与平均距离的比值作为折叠代价的一个系数,距离比值与折叠代价两者的乘积作为新的折叠代价参与评估。
图3示出了本发明实施例中的基于距离加权最小折叠代价的三维模型边折叠简化的方法流程图,包括如下步骤:
开始;
S301:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
S302:根据三维模型的obj文件中点的次序循环遍历模型中的顶点v;
S303:判断遍历是否结束,如果全部遍历完则进入S309,否则进入S304;
S304:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入S302;否则进入S305;
S305:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
S306:计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;
S307:对每一对顶点都模拟进行边折叠操作,计算边折叠之后产生的折叠代价,将其与相应顶点的距离比值的乘积作为新的折叠代价。进入S308;
S308:选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入,如果有多个这样的顶点对存在,选择距离最近的顶点对。此时模型顶点数减少一个。然后转入S302,继续进行简化;
S309:将简化后保留的顶点及面片信息保存到新的三维模型的obj文件中,以供下一次简化使用;
结束。
伪代码如下:
综上,本发明首先保持了基于最小折叠代价的三维模型边折叠简化算法的简化有效性,即简化后能够达到同样的保持原始模型拓扑结构和特征的效果。其次,本发明创造性的将顶点间的距离与折叠代价相结合进行了考虑,这使得在简化过程中降低了狭长三角面片出现的可能。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于距离加权最小折叠代价的三维模型边折叠简化的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (1)

1.一种基于距离加权最小折叠代价的三维模型边折叠简化的方法,其特征在于,包括如下步骤:
步骤一:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据三维模型的obj文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤八,否则进入步骤三;
步骤三:通过将顶点v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及该顶点与每个相邻顶点的距离比值;
步骤六:对每一对顶点都模拟进行边折叠操作,计算边折叠之后产生的折叠代价,将其与相应顶点的距离比值的乘积作为新的折叠代价,进入步骤七;
步骤七:选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入,如果有多个这样的顶点对存在,选择距离最近的顶点对;此时模型顶点数减少一个,然后转入步骤二,继续进行简化;
步骤八:将简化后保留的顶点及面片信息保存到新的三维模型的obj文件中,以供下一次简化使用。
CN201310210453.2A 2013-05-31 2013-05-31 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 Active CN103295266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310210453.2A CN103295266B (zh) 2013-05-31 2013-05-31 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310210453.2A CN103295266B (zh) 2013-05-31 2013-05-31 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法

Publications (2)

Publication Number Publication Date
CN103295266A CN103295266A (zh) 2013-09-11
CN103295266B true CN103295266B (zh) 2016-08-17

Family

ID=49096065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310210453.2A Active CN103295266B (zh) 2013-05-31 2013-05-31 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法

Country Status (1)

Country Link
CN (1) CN103295266B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105006022A (zh) * 2015-08-11 2015-10-28 中山大学 一种三维几何图形的边折叠简化方法及其装置
CN106530374A (zh) * 2016-10-25 2017-03-22 合肥东上多媒体科技有限公司 一种vr模型的层次细节处理方法
CN109472744B (zh) * 2018-10-29 2023-02-17 梦工场珠宝企业管理有限公司 三维模型缩小方法
CN113781642A (zh) * 2021-10-22 2021-12-10 苏州葛兰岱尔数字科技有限公司 一种基于减面算法的三维模型多层级lod的生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430184A (zh) * 2001-12-29 2003-07-16 田捷 利用半边数据结构实现三维网格模型的简化方法
US7333105B2 (en) * 2004-03-02 2008-02-19 Siemens Medical Solutions Usa, Inc. Active polyhedron for 3D image segmentation
CN101231761A (zh) * 2008-01-29 2008-07-30 南京大学 一种保持外观特征的网格模型简化方法
CN102024268A (zh) * 2010-12-13 2011-04-20 武汉大学 一种保持外观特征的模型简化方法
CN102546647A (zh) * 2012-01-17 2012-07-04 西北大学 一种网格模型简化方法和基于该方法的网格模型传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430184A (zh) * 2001-12-29 2003-07-16 田捷 利用半边数据结构实现三维网格模型的简化方法
US7333105B2 (en) * 2004-03-02 2008-02-19 Siemens Medical Solutions Usa, Inc. Active polyhedron for 3D image segmentation
CN101231761A (zh) * 2008-01-29 2008-07-30 南京大学 一种保持外观特征的网格模型简化方法
CN102024268A (zh) * 2010-12-13 2011-04-20 武汉大学 一种保持外观特征的模型简化方法
CN102546647A (zh) * 2012-01-17 2012-07-04 西北大学 一种网格模型简化方法和基于该方法的网格模型传输方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进的基于二次误差测度的网格简化算法;吴韦力 等;《厦门大学学报( 自然科学版)》;20070531;第46卷(第3期);337-341 *

Also Published As

Publication number Publication date
CN103295266A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
US11107272B2 (en) Scalable volumetric 3D reconstruction
CN104392486B (zh) 一种点云场景重建方法
Mezger et al. Hierarchical techniques in collision detection for cloth animation
CN103279980B (zh) 基于点云数据的树叶建模方法
Galin et al. Authoring hierarchical road networks
CN105654492A (zh) 基于消费级摄像头的鲁棒实时三维重建方法
CN105469406A (zh) 一种基于包围盒与空间划分的虚拟物体碰撞检测方法
CN103295266B (zh) 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法
CN107220372B (zh) 一种三维地图线要素注记自动放置方法
CN108052703A (zh) 基于混合层次包围盒的快速碰撞检测方法
CN101794459A (zh) 一种立体视觉影像与三维虚拟物体的无缝融合方法
CN104504760B (zh) 实时更新三维图像的方法和系统
Xie et al. Automatic simplification and visualization of 3D urban building models
CN106599053A (zh) 一种三维模型检索方法
CN102567465B (zh) 复眼视觉基础上的三维模型几何相似性搜索方法
CN116385672A (zh) 一种三维地形场景模型数据产品的构建方法
CN103295267A (zh) 一种基于最小折叠代价的三维模型边折叠简化的方法
CN113129443A (zh) 一种拓扑关系保持的三维建筑物简化方法及系统
CN105023288A (zh) 二维矢量实线在三维场景中的视觉误差消除方法
CN103247077A (zh) 一种基于多顶点对处理的三维模型边折叠简化的方法
CN103902657B (zh) 一种基于草绘图的三维模型检索方法
CN102393827A (zh) 一种基于连续法向锥剔除的柔性场景连续碰撞检测方法
CN105184869B (zh) 建筑物线划数据在二维平台上显示三维透视效果的方法
Amiraghdam et al. LOOPS: LOcally Optimized Polygon Simplification
CN103678588A (zh) 空间数据化简方法和装置

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