CN103247077A - 一种基于多顶点对处理的三维模型边折叠简化的方法 - Google Patents
一种基于多顶点对处理的三维模型边折叠简化的方法 Download PDFInfo
- Publication number
- CN103247077A CN103247077A CN2013101418513A CN201310141851A CN103247077A CN 103247077 A CN103247077 A CN 103247077A CN 2013101418513 A CN2013101418513 A CN 2013101418513A CN 201310141851 A CN201310141851 A CN 201310141851A CN 103247077 A CN103247077 A CN 103247077A
- Authority
- CN
- China
- Prior art keywords
- summit
- model
- vertexes
- vertex
- dimensional
- 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
Links
Images
Abstract
本发明公开了一种基于多顶点对处理的三维模型边折叠简化的方法,包括:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;根据模型文件中点的次序循环遍历模型中的顶点v;通过将v的顶点起伏权值与参考阈值进行比较;遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点;采用算法1选择相应的顶点对作为折叠操作的输入;将min_arr[]中的顶点依次合并到当前顶点v,再将顶点v合并到max_u;将简化后保留的顶点及面片信息保存到新的obj文件中。通过实施本发明,能够在以减少图形分辨率的代价上降低三维图形的规模和精度,用较小规模的模型来代替高清模型。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于多顶点对处理的三维模型边折叠简化的方法。
背景技术
随着当今科学技术飞速的发展进步,三维图形由于其更生动具体的立体效果,越来越倾向于取代二维图形在人们生活、工作领域的地位。越来越多的三维图形出现在数字电视、动画游戏、地图绘制和医疗成像等领域中。随着三维模型数据获取技术的不断提高,三维模型的精度也随之增长,这给处理能力有限的交互式设备带来了巨大的压力。然而有些场合下并不需要有如此高精度的三维模型,因此需要对三维模型进行简化,从而加快交互终端的处理能力。
与二维图片用图像分辨率来表示图像精度的方法一样,三维图形也用模型分辨率来对应模型数据密度的大小。模型数据密度大意味着模型分辨率高,模型比较精确精细;模型数据密度小意味着模型分辨率低,模型比较粗糙简陋。因此三维图形网格简化的实质就是:对三维网格模型的点和三角面片进行处理,在尽量保持原始模型特征的情况下,去除不影响原始模型特征的多余的点和面片,从而减低模型的数据密度,获得能够满足需要的分辨率比较低的模型,使得三维图形在设备终端的显示和编辑变得容易并减少三维图形数据在因特网上传输的压力。
早在1976年就有学者James Clark提出了三维模型简化的思想,近些年,随着计算机图形学的发展进步以及三维模型应用范围的拓展,越来越多的研究人员对三维模型简化进行了深入全面的研究,特别是采用网格来表示三维模型成为主流之后,涌现众多的三维模型简化算法。
现有的一个基于边折叠的特征保持的简化算法,以三维模型中点的相邻三角形的单位法向量的变化大小作为权值来对三维模型进行衡量和简化,其重点是考虑折叠前后对拓扑结构的影响。该算法能够比较好的保持简化前后模型的拓扑结构,但是在选择顶点对时,该算法仅进行了非常简单的处理:从当前顶点所有未处理的非特征点的相邻顶点中选出距离最近的个顶点与当前顶点组成折叠操作输入的顶点对。这种选择策略简易容易执行,但是由于每次选择都要遍历当前顶点所有相邻顶点一次,而最终却只选择了一个顶点进行处理。这样使得每次遍历的结果没有得到充分的利用。本专利将设计发明一个基于多顶点对处理的边折叠简化算法,在遍历一个顶点进行处理时,改变以往只处理一个顶点对的做法,同时处理多个顶点对来提升简化的时间效率。
对于现有的技术,该算法在顶点与其相邻顶点之间选择顶点对作为进行折叠操作的输入时,仅仅从当前顶点的相邻顶点中选取一对顶点进行处理最近而已。然而在实际简化中,由于顶点起伏程度小的顶点最终都将合并到起伏程度较大的顶点中,所以可以在一次处理时,加入处理多个顶点,从而提升算法的时间效率。
发明内容
本发明使得对三维模型的简化能够更快,同时也能够较好的保持模型原始的拓扑结构和特征点。从而使得三维模型数据得到大量的减少,降低交互终端的处理压力,同时较高的时间效率能够加快交互终端的交互响应速度,适应将来更加快速的应用场景。
本发明实施例提供了一种基于多顶点对处理的三维模型边折叠简化的方法,所述方法包括:
步骤一:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据模型文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤七,否则进入步骤三;
步骤三:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;如果该点已经进行了处理,同样进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:采用算法1选择相应的顶点对作为折叠操作的输入;
步骤六:将min_arr[]中的顶点依次合并到当前顶点v,再将顶点v合并到max_u;然后转入步骤二,继续进行简化;
步骤七:将简化后保留的顶点及面片信息保存到新的obj文件中,以供下一次简化使用。
通过实施本发明提供的方法,本发明首先通过对大数据量的三维图形进行特征保持的简化操作,能够在以减少图形分辨率的代价上降低三维图形的规模和精度,用较小规模的模型来代替高清模型,从而去除冗余数据,实现在三维图形终端能够顺畅处理和存储,同时也能够在英特网上自由传输的目的,其次,本发明提出的简化算法采用了一种多顶点对的处理方式,充分利用了每次遍历的结果,从中选择出多对顶点对作为折叠操作的输入,这使得简化算法的时间效率得到了极大的提高,基于边折叠的特征保持的简化算法运行一次简化程序只能达到43.4%左右的简化效率,而本发明的基于多顶点对处理的简化算法运行一次,能够达到60%的简化效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的基于多顶点对处理的三维模型边折叠简化的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明使得对三维模型的简化能够更快,同时也能够较好的保持模型原始的拓扑结构和特征点。从而使得三维模型数据得到大量的减少,降低交互终端的处理压力,同时较高的时间效率能够加快交互终端的交互响应速度,适应将来更加快速的应用场景。
本发明是一种基于多顶点对处理的三维模型边折叠简化算法。该算法以现有最接近技术中的边折叠算法为基础,在选择顶点对上进行了改进。每次遍历相邻顶点时,从中选择多对顶点对作为折叠操作的输入,这样每处理到一个顶点时,将会同时删减多个没必要的顶点,从而加快模型简化的速度,提高简化的时间效率。进行多顶点对处理时,并不是简单的将所有满足条件的顶点都作为折叠操作的输入,而是分成两类顶点进行选择。第一类顶点是能够合并到当前顶点的相邻顶点;第二类是将当前顶点合并到该顶点上的相邻顶点。对于第一类顶点,可以尽可能多的进行选择,将其当做折叠操作的输入,对于第二类顶点,则只能选择其中一个,并且如果有多个满足条件的顶点,选择距离最近的一个顶点。
多顶点对处理的伪代码如下(算法1):
申明变量min_arr[]用来记录第一类顶点;
申明变量max_u用来记录第二类顶点;
申明变量min_d用来记录max_u与当前顶点的距离;
以顶点对数组min_arr[]和max_u作为折叠操作的输入;
本专利发明的完整的基于多顶点对处理的边折叠简化算法基本思想如下:
步骤一:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据模型文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤七,否则进入步骤三;
步骤三:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;如果该点已经进行了处理,同样进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:采用算法1选择相应的顶点对作为折叠操作的输入;
步骤六:将min_arr[]中的顶点依次合并到当前顶点v,再将顶点v合并到max_u。然后转入步骤二,继续进行简化;
步骤七:将简化后保留的顶点及面片信息保存到新的obj文件中,以供下一次简化使用。
综上,通过实施本发明提供的方法,本发明首先通过对大数据量的三维图形进行特征保持的简化操作,能够在以减少图形分辨率的代价上降低三维图形的规模和精度,用较小规模的模型来代替高清模型,从而去除冗余数据,实现在三维图形终端能够顺畅处理和存储,同时也能够在英特网上自由传输的目的,其次,本发明提出的简化算法采用了一种多顶点对的处理方式,充分利用了每次遍历的结果,从中选择出多对顶点对作为折叠操作的输入,这使得简化算法的时间效率得到了极大的提高,基于边折叠的特征保持的简化算法运行一次简化程序只能达到43.4%左右的简化效率,而本发明的基于多顶点对处理的简化算法运行一次,能够达到60%的简化效率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种基于多顶点对处理的三维模型边折叠简化的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (1)
1.一种基于多顶点对处理的三维模型边折叠简化的方法,其特征在于,所述方法包括:
步骤一:读取三维模型的obj文件,求出平均起伏权值,确定参考阈值;
步骤二:根据模型文件中点的次序循环遍历模型中的顶点v,全部遍历完则进入步骤七,否则进入步骤三;
步骤三:通过将v的顶点起伏权值与参考阈值进行比较,判断该点是否是特征点,是则进入步骤二;如果该点已经进行了处理,同样进入步骤二;否则进入步骤四;
步骤四:遍历该顶点v的所有相邻顶点,识别出未处理过的非特征顶点,并将该顶点与所有这些相邻非特征顶点均配对作为边折叠操作的候选顶点对;
步骤五:采用算法1选择相应的顶点对作为折叠操作的输入;
步骤六:将min_arr[]中的顶点依次合并到当前顶点v,再将顶点v合并到max_u;然后转入步骤二,继续进行简化;
步骤七:将简化后保留的顶点及面片信息保存到新的obj文件中,以供下一次简化使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101418513A CN103247077A (zh) | 2013-04-22 | 2013-04-22 | 一种基于多顶点对处理的三维模型边折叠简化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101418513A CN103247077A (zh) | 2013-04-22 | 2013-04-22 | 一种基于多顶点对处理的三维模型边折叠简化的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103247077A true CN103247077A (zh) | 2013-08-14 |
Family
ID=48926582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101418513A Pending CN103247077A (zh) | 2013-04-22 | 2013-04-22 | 一种基于多顶点对处理的三维模型边折叠简化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103247077A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632394A (zh) * | 2013-12-02 | 2014-03-12 | 江苏科技大学 | 一种特征保持的模型简化方法 |
CN105006022A (zh) * | 2015-08-11 | 2015-10-28 | 中山大学 | 一种三维几何图形的边折叠简化方法及其装置 |
CN106530374A (zh) * | 2016-10-25 | 2017-03-22 | 合肥东上多媒体科技有限公司 | 一种vr模型的层次细节处理方法 |
CN109643470A (zh) * | 2016-09-08 | 2019-04-16 | 索尼公司 | 信息处理设备和信息处理方法 |
-
2013
- 2013-04-22 CN CN2013101418513A patent/CN103247077A/zh active Pending
Non-Patent Citations (1)
Title |
---|
林谋广: "一种面向移动计算终端的几何压缩方法", 《中国图象图形学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632394A (zh) * | 2013-12-02 | 2014-03-12 | 江苏科技大学 | 一种特征保持的模型简化方法 |
CN103632394B (zh) * | 2013-12-02 | 2016-05-04 | 江苏科技大学 | 一种特征保持的模型简化方法 |
CN105006022A (zh) * | 2015-08-11 | 2015-10-28 | 中山大学 | 一种三维几何图形的边折叠简化方法及其装置 |
CN109643470A (zh) * | 2016-09-08 | 2019-04-16 | 索尼公司 | 信息处理设备和信息处理方法 |
CN106530374A (zh) * | 2016-10-25 | 2017-03-22 | 合肥东上多媒体科技有限公司 | 一种vr模型的层次细节处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11257279B2 (en) | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework | |
US10504253B2 (en) | Conservative cell and portal graph generation | |
US8773422B1 (en) | System, method, and computer program product for grouping linearly ordered primitives | |
CN109215123B (zh) | 基于cGAN的无限地形生成方法、系统、存储介质和终端 | |
US9443345B2 (en) | Method and apparatus for rendering three-dimensional (3D) object | |
CN102890829B (zh) | 一种基于gpu的渲染地形的方法 | |
CN103279980A (zh) | 基于点云数据的树叶建模方法 | |
US9959670B2 (en) | Method for rendering terrain | |
Strugar | Continuous distance-dependent level of detail for rendering heightmaps | |
CN105389850A (zh) | 一种大规模三维场景的新型可见性生成方法 | |
Tasse et al. | Enhanced texture‐based terrain synthesis on graphics hardware | |
CN103295267A (zh) | 一种基于最小折叠代价的三维模型边折叠简化的方法 | |
US10482629B2 (en) | System, method and computer program product for automatic optimization of 3D textured models for network transfer and real-time rendering | |
CN104778741A (zh) | 二维图形转换为三维图形的方法和装置 | |
CN103247077A (zh) | 一种基于多顶点对处理的三维模型边折叠简化的方法 | |
CN110070616A (zh) | 存储器、基于gis平台的统计数据呈现方法、装置和设备 | |
CN114255160B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN103927781A (zh) | 一种三维场景下视觉相关的模型渐进渲染方法 | |
CN115018992A (zh) | 发型模型的生成方法、装置、电子设备及存储介质 | |
CN102117488A (zh) | 一种虚拟环境中构造真实物体表面反射特性的方法 | |
CN103295266A (zh) | 一种基于距离加权最小折叠代价的三维模型边折叠简化的方法 | |
CN109697748A (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN115830266A (zh) | 游戏三维场景图处理方法及装置 | |
KR101284324B1 (ko) | 레이 트레이싱 코어 및 레이 트레이싱 방법 | |
CN110827303B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130814 |