CN103295266A - 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 - Google Patents
一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 Download PDFInfo
- Publication number
- CN103295266A CN103295266A CN2013102104532A CN201310210453A CN103295266A CN 103295266 A CN103295266 A CN 103295266A CN 2013102104532 A CN2013102104532 A CN 2013102104532A CN 201310210453 A CN201310210453 A CN 201310210453A CN 103295266 A CN103295266 A CN 103295266A
- Authority
- CN
- China
- Prior art keywords
- summit
- model
- vertex
- distance
- collapse
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于距离加权最小折叠代价的三维模型边折叠简化的方法,包括如下步骤:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;根据模型文件中点的次序循环遍历模型中的顶点v;通过将v的顶点起伏权值与参考阈值进行比较;遍历该顶点v的所有相邻顶点;计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;对每一对顶点都模拟进行边折叠操作;选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入;将简化后保留的顶点及面片信息保存到新的obj文件中。通过实施本发明,能够尽量减少简化模型产生狭长三角面片的出现,从而尽量保持了原始模型的拓扑结构和特征点。
Description
技术领域
本发明涉及技术计算机领域,具体涉及一种基于距离加权最小折叠代价的三维模型边折叠简化的方法。
背景技术
随着当今科学技术飞速的发展进步,三维图形由于其更生动具体的立体效果,越来越倾向于取代二维图形在人们生活、工作领域的地位。越来越多的三维图形出现在数字电视、动画游戏、地图绘制和医疗成像等领域中。随着三维模型数据获取技术的不断提高,三维模型的精度也随之增长,这给处理能力有限的交互式设备带来了巨大的压力。然而有些场合下并不需要有如此高精度的三维模型,因此需要对三维模型进行简化,从而加快交互终端的处理能力。
与二维图片用图像分辨率来表示图像精度的方法一样,三维图形也用模型分辨率来对应模型数据密度的大小。模型数据密度大意味着模型分辨率高,模型比较精确精细;模型数据密度小意味着模型分辨率低,模型比较粗糙简陋。因此三维图形网格简化的实质就是:对三维网格模型的点和三角面片进行处理,在尽量保持原始模型特征的情况下,去除不影响原始模型特征的多余的点和面片,从而减低模型的数据密度,获得能够满足需要的分辨率比较低的模型,使得三维图形在设备终端的显示和编辑变得容易并减少三维图形数据在因特网上传输的压力。
早在1976年就有学者James Clark提出了三维模型简化的思想,近些年,随着计算机图形学的发展进步以及三维模型应用范围的拓展,越来越多的研究人员对三维模型简化进行了深入全面的研究,特别是采用网格来表示三维模型成为主流之后,涌现众多的三维模型简化算法。
现有的一个基于最小折叠代价的三维模型边折叠简化算法,通过顶点对折叠代价的衡量,综合考虑顶点对的选择对三维模型拓扑结构的影响以及对被选择的顶点对不同折叠操作对模型拓扑结构的影响,从而使得简化后的模型能够保留更多原始模型的特征。
对于现有的技术,该算法虽然综合考虑了顶点对的选择对三维模型拓扑结构的影响以及对被选择的顶点对不同折叠操作对模型拓扑结构的影响,使得简化后的模型能够保留更多原始模型的特征。但是其对于存在狭长三角面片的网格模型缺乏考虑。如图1所示,点A和B为选择的具有最小折叠代价的顶点对,如果将点B向点A合并,则对模型不会产生较大的影响。然而可能存在点A向点B合并,那么在合并后,就将产生如图2所示的结果:产生了多个狭长的小三角面片。
发明内容
本发明是对一种基于距离加权最小折叠代价的三维模型边折叠简化算法的改进,其主要目标是处理存在狭长三角面片的三维模型。使用本发明的基于距离加权最小折叠代价的边折叠简化算法,能够尽量减少简化模型产生狭长三角面片的出现,从而尽量保持了原始模型的拓扑结构和特征点。
本发明是一种基于距离加权最小折叠代价的三维模型边折叠简化的方法。该算法以基于最小折叠代价的边折叠算法为基础,在选择顶点对上进行了改进。首先计算出所有顶点与其所有相邻顶点的平均距离,然后将顶点与相邻顶点的距离与平均距离的比值作为折叠代价的一个系数,距离比值与折叠代价两者的乘积作为新的折叠代价参与评估,该方法包括如下步骤:
步骤一:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据模型文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤八,否则进入步骤三;
步骤三:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;
步骤六:对每一对顶点都模拟进行边折叠操作,计算边折叠之后产生的折叠代价,将其与相应顶点的距离比值的乘积作为新的折叠代价。进入步骤七;
步骤七:选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入,如果有多个这样的顶点对存在,选择距离最近的顶点对。此时模型顶点数减少一个。然后转入步骤二,继续进行简化;
步骤八:将简化后保留的顶点及面片信息保存到新的obj文件中,以供下一次简化使用。
通过本发明提供的方法,本发明首先保持了基于最小折叠代价的三维模型边折叠简化算法的简化有效性,即简化后能够达到同样的保持原始模型拓扑结构和特征的效果。其次,本发明创造性的将顶点间的距离与折叠代价相结合进行了考虑,这使得在简化过程中降低了狭长三角面片出现的可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中的三维模型顶点对合并前的示意图;
图2是现有技术中的三维模型顶点对合并后的示意图;
图3是本发明实施例中的基于距离加权最小折叠代价的三维模型边折叠简化的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明是对一种基于距离加权最小折叠代价的三维模型边折叠简化算法的改进,其主要目标是处理存在狭长三角面片的三维模型。使用本发明的基于距离加权最小折叠代价的边折叠简化算法,能够尽量减少简化模型产生狭长三角面片的出现,从而尽量保持了原始模型的拓扑结构和特征点。
本发明是一种基于距离加权最小折叠代价的三维模型边折叠简化算法。该算法以基于最小折叠代价的边折叠算法为基础,在选择顶点对上进行了改进。首先计算出所有顶点与其所有相邻顶点的平均距离,然后将顶点与相邻顶点的距离与平均距离的比值作为折叠代价的一个系数,距离比值与折叠代价两者的乘积作为新的折叠代价参与评估。
图3示出了本发明实施例中的基于距离加权最小折叠代价的三维模型边折叠简化的方法流程图,包括如下步骤:
开始;
S301:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
S102:根据模型文件中点的次序循环遍历模型中的顶点v;
S103:判断遍历是否结束,如果全部遍历完则进入S309,否则进入S304;
S304:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入S202;否则进入S305;
S305:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
S306:计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;
S307:对每一对顶点都模拟进行边折叠操作,计算边折叠之后产生的折叠代价,将其与相应顶点的距离比值的乘积作为新的折叠代价。进入S308;
S308:选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入,如果有多个这样的顶点对存在,选择距离最近的顶点对。此时模型顶点数减少一个。然后转入S202,继续进行简化;
S309:将简化后保留的顶点及面片信息保存到新的obj文件中,以供下一次简化使用;
结束。
伪代码如下:
综上,本发明首先保持了基于最小折叠代价的三维模型边折叠简化算法的简化有效性,即简化后能够达到同样的保持原始模型拓扑结构和特征的效果。其次,本发明创造性的将顶点间的距离与折叠代价相结合进行了考虑,这使得在简化过程中降低了狭长三角面片出现的可能。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于距离加权最小折叠代价的三维模型边折叠简化的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (1)
1.一种基于距离加权最小折叠代价的三维模型边折叠简化的方法,其特征在于,包括如下步骤:
读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据模型文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤八,否则进入步骤三;
步骤三:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:计算出该顶点与所有相邻非特征顶点之间的距离,求和并算出平均距离以及每个相邻顶点的距离比值;
步骤六:对每一对顶点都模拟进行边折叠操作,计算边折叠之后产生的折叠代价,将其与相应顶点的距离比值的乘积作为新的折叠代价,进入步骤七;
步骤七:选择折叠代价最小的那对候选顶点对作为进行边折叠操作的输入,如果有多个这样的顶点对存在,选择距离最近的顶点对;此时模型顶点数减少一个,然后转入步骤二,继续进行简化;
步骤八:将简化后保留的顶点及面片信息保存到新的obj文件中,以供下一次简化使用。
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 true CN103295266A (zh) | 2013-09-11 |
CN103295266B 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) |
Cited By (4)
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模型的层次细节处理方法 |
CN109472744A (zh) * | 2018-10-29 | 2019-03-15 | 梦工场珠宝企业管理有限公司 | 三维模型缩小方法 |
CN113781642A (zh) * | 2021-10-22 | 2021-12-10 | 苏州葛兰岱尔数字科技有限公司 | 一种基于减面算法的三维模型多层级lod的生成方法 |
Citations (5)
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 | 西北大学 | 一种网格模型简化方法和基于该方法的网格模型传输方法 |
-
2013
- 2013-05-31 CN CN201310210453.2A patent/CN103295266B/zh active Active
Patent Citations (5)
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)
Title |
---|
吴韦力 等: "一种改进的基于二次误差测度的网格简化算法", 《厦门大学学报( 自然科学版)》 * |
Cited By (5)
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模型的层次细节处理方法 |
CN109472744A (zh) * | 2018-10-29 | 2019-03-15 | 梦工场珠宝企业管理有限公司 | 三维模型缩小方法 |
CN109472744B (zh) * | 2018-10-29 | 2023-02-17 | 梦工场珠宝企业管理有限公司 | 三维模型缩小方法 |
CN113781642A (zh) * | 2021-10-22 | 2021-12-10 | 苏州葛兰岱尔数字科技有限公司 | 一种基于减面算法的三维模型多层级lod的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103295266B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443842A (zh) | 基于视角融合的深度图预测方法 | |
CN109215123B (zh) | 基于cGAN的无限地形生成方法、系统、存储介质和终端 | |
CN104835202A (zh) | 一种三维虚拟场景快速构建方法 | |
EP2927877B1 (en) | Method and apparatus for rendering same regions of multi frames | |
US9324186B2 (en) | Method for representing terrain, method for creating terrain primitives, and apparatus using the methods | |
AU2020416878B2 (en) | Map generation method and apparatus, electronic device, and computer storage medium | |
CN107248142B (zh) | 一种文物碎片自动拼接方法 | |
CN103871102A (zh) | 一种基于高程点和道路轮廓面的道路三维精细建模方法 | |
CN103295266A (zh) | 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 | |
CN107170040A (zh) | 一种三维桥梁场景构建方法和装置 | |
CN103295267A (zh) | 一种基于最小折叠代价的三维模型边折叠简化的方法 | |
CN101794459A (zh) | 一种立体视觉影像与三维虚拟物体的无缝融合方法 | |
CN112102467B (zh) | 一种基于gpu的并行八叉树生成、装置及电子设备 | |
CN116385672A (zh) | 一种三维地形场景模型数据产品的构建方法 | |
CN109697748A (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN103247077A (zh) | 一种基于多顶点对处理的三维模型边折叠简化的方法 | |
CN107016732A (zh) | 使用描述符的3d对象定位 | |
CN108744520A (zh) | 确定游戏模型摆放位置的方法、装置和电子设备 | |
CN115830266A (zh) | 游戏三维场景图处理方法及装置 | |
CN106570934A (zh) | 针对大场景的空间隐函数建模方法 | |
CN105184869B (zh) | 建筑物线划数据在二维平台上显示三维透视效果的方法 | |
KR102672603B1 (ko) | 맵 생성 방법 및 장치, 전자 디바이스, 및 컴퓨터 저장 매체 | |
CN116030190B (zh) | 一种基于点云与目标多边形的目标三维模型生成方法 | |
CN109559376B (zh) | 一种三维地形生成方法及装置 | |
Gorte et al. | Representation and reconconstruction of triangular irregular networks with vertical walls |
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 |