CN109523634A - 优化网格的方法及装置 - Google Patents

优化网格的方法及装置 Download PDF

Info

Publication number
CN109523634A
CN109523634A CN201811161686.7A CN201811161686A CN109523634A CN 109523634 A CN109523634 A CN 109523634A CN 201811161686 A CN201811161686 A CN 201811161686A CN 109523634 A CN109523634 A CN 109523634A
Authority
CN
China
Prior art keywords
mentioned
side length
dimensional grid
optimization
grid
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
Application number
CN201811161686.7A
Other languages
English (en)
Other versions
CN109523634B (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.)
Shining 3D Technology Co Ltd
Original Assignee
Shining 3D Technology Co Ltd
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 Shining 3D Technology Co Ltd filed Critical Shining 3D Technology Co Ltd
Priority to CN201811161686.7A priority Critical patent/CN109523634B/zh
Publication of CN109523634A publication Critical patent/CN109523634A/zh
Application granted granted Critical
Publication of CN109523634B publication Critical patent/CN109523634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Processing Or Creating Images (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

本发明公开了一种优化网格的方法及装置。其中,该方法包括:获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。本发明解决了现有技术中对三维网格的形态进行优化的运行速度过慢,导致三维网格的网格质量较差的技术问题。

Description

优化网格的方法及装置
技术领域
本发明涉及三维网格优化领域,具体而言,涉及一种优化网格的方法及装置。
背景技术
在本技术领域中,当前最通用最稳定的点云生成网格的方法是体素方法,当前应用最为广泛的网格简化方法是QEM简化算法,该算法由GARLAND在1997年提出(Surfacesimplification using quadric error metrics),使用QEM矩阵量化网格简化误差,使用堆排序方法决定网格简化顺序。
但是,在现有技术中,并没有直接用于体素法生成的三角网格的优化算法,现有的网格简化方法,例如QEM主要针对于通用模型,未利用体素法生成网格的特性。并且,现有的网格简化方法为保持网格原有形态引入了大量额外开销,运行速度过慢,达不到实际扫描仪的应用需求。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种优化网格的方法及装置,以至少解决现有技术中对三维网格的形态进行优化的运行速度过慢,导致三维网格的网格质量较差的技术问题。
根据本发明实施例的一个方面,提供了一种优化网格的方法,包括:获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
进一步地,上述边长信息至少包括:上述三维网格中所有边的边长和平均边长,获取三维网格的边长信息包括:通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;基于上述数量和上述边长,得到上述平均边长。
进一步地,依据上述边长信息确定是否对上述三维网格进行优化处理包括:比较任意条边的上述边长和上述平均边长;依据比较结果确定是否对上述三维网格进行优化处理。
进一步地,依据比较结果确定是否对上述三维网格进行优化处理包括:优化步骤,在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较上述任意条边的边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;迭代步骤,迭代上述优化步骤直至不存在需要执行上述翻边操作的边。
进一步地,对上述任意条边执行塌缩操作,包括:获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
进一步地,在获取三维网格的边长信息之前,上述方法还包括:建立上述三维网格的半边结构。
根据本发明实施例的另一方面,还提供了一种优化网格的装置,包括:获取模块,用于获取三维网格的边长信息;优化模块,用于依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
进一步地,上述边长信息至少包括:上述三维网格中所有边的边长和平均边长,上述获取模块,包括:遍历子模块,用于通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;计算子模块,用于基于上述数量和上述边长,得到上述平均边长。
进一步地,上述优化模块包括:比较子模块,用于比较任意条边的上述边长和上述平均边长;优化子模块,用于依据比较结果确定是否对上述三维网格进行优化处理。
进一步地,上述优化子模块,包括:优化单元,用于在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较任意条边的上述边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;迭代单元,用于迭代上述优化单元直至不存在需要执行上述翻边操作的边。
进一步地,上述优化单元,包括:获取子单元,用于获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;塌缩子单元,用于在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的优化网格的方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的优化网格的方法。
在本发明实施例中,通过获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作,达到了提高对三维网格的形态进行优化的运行速度,以及提高三维网格的网格质量的目的,从而实现了在减少三维网格的数据量的同时,保证了三维网格的形态的技术效果,进而解决了现有技术中对三维网格的形态进行优化的运行速度过慢,导致三维网格的网格质量较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种优化网格的方法的流程图;
图2是根据本发明实施例的一种可选的优化网格的方法的流程图;
图3是根据本发明实施例的一种可选的优化网格的方法的流程图;以及
图4是根据本发明实施例的一种优化网格的装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种优化网格的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种优化网格的方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取三维网格的边长信息;
步骤S104,依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
在本发明实施例中,通过获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作,达到了提高对三维网格的形态进行优化的运行速度,以及提高三维网格的网格质量的目的,从而实现了在减少三维网格的数据量的同时,保证了三维网格的形态的技术效果,进而解决了现有技术中对三维网格的形态进行优化的运行速度过慢,导致三维网格的网格质量较差的技术问题。
可选的,本申请实施例中,上述三维表格的数据结构可以理解为一个图结构:点、边、面,可以为有向图,例如半边结构,还可以为无向图。
可选的,上述三维表格可以但不限于为体素法生成的三维表面网格;上述塌缩操作可以为边塌缩操作,在曲面简化中,可以通过边塌缩的方式删除顶点、边和面。边塌缩操作包括两种方式:一种是“edge-collapse”,另一种是“halfedge-collapse”。
在一种可选的实施例中,在获取三维网格的边长信息之前,上述方法还包括:建立上述三维网格的半边结构。
在一种可选的实施例中,上述边长信息至少包括:上述三维网格中所有边的边长和平均边长,图2是根据本发明实施例的一种可选的优化网格的方法的流程图,如图2所示,获取三维网格的边长信息包括:
步骤S202,通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;
步骤S204,基于上述数量和上述边长,得到上述平均边长。
在上述可选的实施例中,通过遍历上述三维网格中的每条边,得到上述三维网格中边的数量和上述每条边的边长,并通过求和得到所有边的总边长,在根据遍历得到的边的数量,通过总边长除以上述边的数量,得到三维网格中边的平均边长。
在一种可选的实施例中,图3是根据本发明实施例的一种可选的优化网格的方法的流程图,如图3所示,依据上述边长信息确定是否对上述三维网格进行优化处理包括:
步骤S302,比较任意条边的上述边长和上述平均边长;
步骤S304,依据比较结果确定是否对上述三维网格进行优化处理。
可选的,上述任意条边可以为上述三维表格中的所有边中的任意条边,其边长可以通过上述步骤S202中的遍历步骤得到。
在一种可选的实施例中,依据比较结果确定是否对上述三维网格进行优化处理包括:
步骤S402,优化步骤,在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较上述任意条边的边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;
步骤S404,迭代步骤,迭代上述优化步骤直至不存在需要执行上述翻边操作的边。
需要说明的是,由于塌缩操作会令三维网格中边的边长改变,即,存在有变长的边有变短的边的情况,因而在对上述任意条边执行塌缩操作之后,重新遍历三维网格中每条边,重新计算所有边的边长。
在重新计算得到所有边的边长之后,可以比较上述任意条边的边长和上述平均边长(仍为步骤S204中获取到的平均边长),在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作,并执行迭代步骤,通过迭代上述优化步骤直至不存在需要执行上述翻边操作的边。
在上述可选的实施例中,只对边长大于上述平均边长的“长边”进行翻边处理,不处理边长小于或等于上述平均边长的“短边”。多次重复上述优化步骤,迭代直至不存在需要执行上述翻边操作的边,并在为上述任意条边的边长小于上述平均边长的情况下,确定对上述边长小于上述平均边长的“短边”进行处理,即执行塌缩操作。
通过上述实施例对三维网格进行优化,扫描重建后在保持扫描物体特征不丢失的前提下大幅减少三维网格中的顶点数和面片数(40%),显著提高了对三维网格的形态进行优化的运行速度,在减少三维网格的数据量的同时,保证了三维网格的形态,去除三维网格中不规则的三角面片,并且,在保证三维网格质量的同时,算法在线性时间复杂度内完成,效率极高。
作为一种可选的实施例,对上述任意条边执行塌缩操作,包括:
步骤S502,获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;
步骤S504,在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
可选的,上述预定值可以但不限于取值为6。在上述实施例中,在第一度值不等于预定值6,第二度值等于预定值6的情况下,可以由第一端点向第二端点进行塌缩操作,其中,上述第一端点和第二端点可以理解为一条边的两个顶点。
以下通过一种可选的实施例,对本申请实施例中的上述网格优化方案进行示例性说明:
步骤S602,遍历三维网格中的每一条边ei,其中,i的取值为大于1的正整数。
步骤S604,计算三维网格中所有边的平均边长d。
步骤S606,计算ei的边长di,如果di<d,那么对此边ei进行塌缩(collapse)操作,其中,上述塌缩操作的方向是:计算边ei两端的两个顶点的度,由度值不为6的顶点,向度值为6的顶点进行塌缩。
步骤S608,在塌缩操作结束后,三维网格会出现“长边”,即边长大于平均边长的边,进而再次重新遍历整个三维网格中的边ei
步骤S610,计算ei的边长di,如果di≥d,那么对此边ei进行翻边(flip)操作,在翻边结束后,即完成一次迭代,记录进行了翻边的边的个数n。
步骤S612,重复步骤S602,步骤S606-步骤S610,直到n=0。
实施例2
根据本发明实施例,还提供了一种用于实施上述优化网格的方法的装置实施例,图4是根据本发明实施例的一种优化网格的装置的结构示意图,如图4所示,上述优化网格的装置,包括:获取模块40、优化模块42,其中:
获取模块40,用于获取三维网格的边长信息;优化模块42,用于依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
在一种可选的实施例中,上述边长信息至少包括:上述三维网格中所有边的边长和平均边长,上述获取模块,包括:遍历子模块,用于通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;计算子模块,用于基于上述数量和上述边长,得到上述平均边长。
在一种可选的实施例中,上述优化模块包括:比较子模块,用于比较任意条边的上述边长和上述平均边长;优化子模块,用于依据比较结果确定是否对上述三维网格进行优化处理。
在一种可选的实施例中,上述优化子模块,包括:优化单元,用于在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较任意条边的上述边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;迭代单元,用于迭代上述优化单元直至不存在需要执行上述翻边操作的边。
在一种可选的实施例中,上述优化单元,包括:获取子单元,用于获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;塌缩子单元,用于在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一个处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述获取模块40、优化模块42对应于实施例1中的步骤S102至步骤S104,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
上述的优化网格的装置还可以包括处理器和存储器,上述获取模块40、优化模块42等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种存储介质实施例。可选地,在本实施例中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行上述任意一种优化网格的方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述存储介质包括存储的程序。
可选地,在程序运行时控制存储介质所在设备执行以下功能:获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
可选地,在程序运行时控制存储介质所在设备执行以下功能:通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;基于上述数量和上述边长,得到上述平均边长。
可选地,在程序运行时控制存储介质所在设备执行以下功能:比较任意条边的上述边长和上述平均边长;依据比较结果确定是否对上述三维网格进行优化处理。
可选地,在程序运行时控制存储介质所在设备执行以下功能:优化步骤,在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较上述任意条边的边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;迭代步骤,迭代上述优化步骤直至不存在需要执行上述翻边操作的边。
可选地,在程序运行时控制存储介质所在设备执行以下功能:获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
可选地,在程序运行时控制存储介质所在设备执行以下功能:建立上述三维网格的半边结构。
根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种优化网格的方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
可选地,上述处理器执行程序时,还可以通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;基于上述数量和上述边长,得到上述平均边长。
可选地,上述处理器执行程序时,还可以比较任意条边的上述边长和上述平均边长;依据比较结果确定是否对上述三维网格进行优化处理。
可选地,上述处理器执行程序时,还可以执行优化步骤,在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较上述任意条边的边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;迭代步骤,迭代上述优化步骤直至不存在需要执行上述翻边操作的边。
可选地,上述处理器执行程序时,还可以获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
可选地,上述处理器执行程序时,还可以建立上述三维网格的半边结构。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取三维网格的边长信息;依据上述边长信息确定是否对上述三维网格进行优化处理,其中,上述优化处理包含如下至少之一:对上述三维网格中的边执行塌缩操作、对上述三维网格中的边执行翻边操作。
可选地,上述计算机程序产品执行程序时,还可以通过遍历上述三维网格中的每条边,得到上述边的数量和上述边长;基于上述数量和上述边长,得到上述平均边长。
可选地,上述计算机程序产品执行程序时,还可以比较任意条边的上述边长和上述平均边长;依据比较结果确定是否对上述三维网格进行优化处理。
可选地,上述计算机程序产品执行程序时,还可以执行优化步骤,在上述比较结果为上述任意条边的边长小于上述平均边长的情况下,确定对上述任意条边执行塌缩操作,并重新获取上述所有边的边长,比较上述任意条边的边长和上述平均边长,在上述任意条边的边长大于上述平均边长的情况下,对上述任意条边执行翻边操作;迭代步骤,迭代上述优化步骤直至不存在需要执行上述翻边操作的边。
可选地,上述计算机程序产品执行程序时,还可以获取上述任意条边的第一端点的第一度值,以及上述任意条边的第二端点的第二度值;在上述第一度值不等于预定值且第二度值等于上述预定值的情况下,由上述第一端点向上述第二端点进行塌缩操作。
可选地,上述计算机程序产品执行程序时,还可以建立上述三维网格的半边结构。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种优化网格的方法,其特征在于,包括:
获取三维网格的边长信息;
依据所述边长信息确定是否对所述三维网格进行优化处理,其中,所述优化处理包含如下至少之一:对所述三维网格中的边执行塌缩操作、对所述三维网格中的边执行翻边操作。
2.根据权利要求1所述的方法,其特征在于,所述边长信息至少包括:所述三维网格中所有边的边长和平均边长,获取三维网格的边长信息包括:
通过遍历所述三维网格中的每条边,得到所述边的数量和所述边长;
基于所述数量和所述边长,得到所述平均边长。
3.根据权利要求2所述的方法,其特征在于,依据所述边长信息确定是否对所述三维网格进行优化处理包括:
比较任意条边的所述边长和所述平均边长;
依据比较结果确定是否对所述三维网格进行优化处理。
4.根据权利要求3所述的方法,其特征在于,依据比较结果确定是否对所述三维网格进行优化处理包括:
优化步骤,在所述比较结果为所述任意条边的边长小于所述平均边长的情况下,确定对所述任意条边执行塌缩操作,并重新获取所述所有边的边长,比较所述任意条边的边长和所述平均边长,在所述任意条边的边长大于所述平均边长的情况下,对所述任意条边执行翻边操作;
迭代步骤,迭代所述优化步骤直至不存在需要执行所述翻边操作的边。
5.根据权利要求4所述的方法,其特征在于,对所述任意条边执行塌缩操作,包括:
获取所述任意条边的第一端点的第一度值,以及所述任意条边的第二端点的第二度值;
在所述第一度值不等于预定值且第二度值等于所述预定值的情况下,由所述第一端点向所述第二端点进行塌缩操作。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在获取三维网格的边
长信息之前,所述方法还包括:
建立所述三维网格的半边结构。
7.一种优化网格的装置,其特征在于,包括:
获取模块,用于获取三维网格的边长信息;
优化模块,用于依据所述边长信息确定是否对所述三维网格进行优化处理,其中,所述优化处理包含如下至少之一:对所述三维网格中的边执行塌缩操作、对所述三维网格中的边执行翻边操作。
8.根据权利要求7所述的装置,其特征在于,所述边长信息至少包括:所述三维网格中所有边的边长和平均边长,所述获取模块,包括:
遍历子模块,用于通过遍历所述三维网格中的每条边,得到所述边的数量和所述边长;
计算子模块,用于基于所述数量和所述边长,得到所述平均边长。
9.根据权利要求8所述的装置,其特征在于,所述优化模块包括:
比较子模块,用于比较任意条边的所述边长和所述平均边长;
优化子模块,用于依据比较结果确定是否对所述三维网格进行优化处理。
10.根据权利要求9所述的装置,其特征在于,所述优化子模块,包括:
优化单元,用于在所述比较结果为所述任意条边的边长小于所述平均边长的情况下,确定对所述任意条边执行塌缩操作,并重新获取所述所有边的边长,比较任意条边的所述边长和所述平均边长,在所述任意条边的边长大于所述平均边长的情况下,对所述任意条边执行翻边操作;
迭代单元,用于迭代所述优化单元直至不存在需要执行所述翻边操作的边。
11.根据权利要求10所述的装置,其特征在于,所述优化单元,包括:
获取子单元,用于获取所述任意条边的第一端点的第一度值,以及所述任意条边的第二端点的第二度值;
塌缩子单元,用于在所述第一度值不等于预定值且第二度值等于所述预定值的情况下,由所述第一端点向所述第二端点进行塌缩操作。
12.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的优化网格的方法。
13.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的优化网格的方法。
CN201811161686.7A 2018-09-30 2018-09-30 优化网格的方法及装置 Active CN109523634B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811161686.7A CN109523634B (zh) 2018-09-30 2018-09-30 优化网格的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811161686.7A CN109523634B (zh) 2018-09-30 2018-09-30 优化网格的方法及装置

Publications (2)

Publication Number Publication Date
CN109523634A true CN109523634A (zh) 2019-03-26
CN109523634B CN109523634B (zh) 2024-04-19

Family

ID=65771653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811161686.7A Active CN109523634B (zh) 2018-09-30 2018-09-30 优化网格的方法及装置

Country Status (1)

Country Link
CN (1) CN109523634B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112258655A (zh) * 2020-11-13 2021-01-22 河北地质大学 一种应用于vr虚拟银行的三维网格简化方法
CN115830273A (zh) * 2023-01-10 2023-03-21 北京飞渡科技股份有限公司 一种三维场景渲染前轻量化网格的优化方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277712A (ja) * 2005-03-01 2006-10-12 Hokkaido Univ 3次元モデルのフィッティング装置、方法及びプログラム
US20060290693A1 (en) * 2005-06-22 2006-12-28 Microsoft Corporation Large mesh deformation using the volumetric graph laplacian
CN104680573A (zh) * 2015-01-20 2015-06-03 西安科技大学 一种基于三角网格简化的纹理映射方法
CN105006022A (zh) * 2015-08-11 2015-10-28 中山大学 一种三维几何图形的边折叠简化方法及其装置
CN106204748A (zh) * 2016-07-05 2016-12-07 华南理工大学 一种基于特征的cad体网格模型编辑、优化算法
US20160358377A1 (en) * 2015-06-08 2016-12-08 Hitachi, Ltd. Analytical Mesh Generation Device and Method
CN106407605A (zh) * 2016-11-01 2017-02-15 南京大学 一种三维服装的粒子化计算机动态仿真方法
CN107578472A (zh) * 2017-08-18 2018-01-12 中国科学院自动化研究所 三维表面三角网络模型的角度优化方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277712A (ja) * 2005-03-01 2006-10-12 Hokkaido Univ 3次元モデルのフィッティング装置、方法及びプログラム
US20060290693A1 (en) * 2005-06-22 2006-12-28 Microsoft Corporation Large mesh deformation using the volumetric graph laplacian
CN104680573A (zh) * 2015-01-20 2015-06-03 西安科技大学 一种基于三角网格简化的纹理映射方法
US20160358377A1 (en) * 2015-06-08 2016-12-08 Hitachi, Ltd. Analytical Mesh Generation Device and Method
CN105006022A (zh) * 2015-08-11 2015-10-28 中山大学 一种三维几何图形的边折叠简化方法及其装置
CN106204748A (zh) * 2016-07-05 2016-12-07 华南理工大学 一种基于特征的cad体网格模型编辑、优化算法
CN106407605A (zh) * 2016-11-01 2017-02-15 南京大学 一种三维服装的粒子化计算机动态仿真方法
CN107578472A (zh) * 2017-08-18 2018-01-12 中国科学院自动化研究所 三维表面三角网络模型的角度优化方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112258655A (zh) * 2020-11-13 2021-01-22 河北地质大学 一种应用于vr虚拟银行的三维网格简化方法
CN112258655B (zh) * 2020-11-13 2023-08-08 河北地质大学 一种应用于vr虚拟银行的三维网格简化方法
CN115830273A (zh) * 2023-01-10 2023-03-21 北京飞渡科技股份有限公司 一种三维场景渲染前轻量化网格的优化方法及装置
CN115830273B (zh) * 2023-01-10 2023-05-09 北京飞渡科技股份有限公司 一种三维场景渲染前轻量化网格的优化方法及装置

Also Published As

Publication number Publication date
CN109523634B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
Komodakis Image completion using global optimization
US5905507A (en) Compression of geometric models using spanning trees
CN109919315A (zh) 一种神经网络的前向推理方法、装置、设备及存储介质
CN110047044A (zh) 一种图像处理模型的构建方法、装置及终端设备
CN112100450A (zh) 一种图计算数据分割方法、终端设备及存储介质
CN108304256B (zh) 一种边缘计算中低开销的任务调度方法及装置
CN107123077B (zh) 对象的渲染方法和装置
CN109523634A (zh) 优化网格的方法及装置
KR20220051162A (ko) 시각적 포지셔닝 방법, 관련 모델의 훈련 방법 및 관련 장치, 기기
CN113256782B (zh) 三维模型的生成方法、装置、存储介质、电子设备
CN110032603A (zh) 一种对关系网络图中的节点进行聚类的方法及装置
CN108320019B (zh) 用于深度卷积神经网络的卷积计算方法及装置
CN108920281A (zh) 大规模图片处理方法及系统
CN109214512A (zh) 一种深度学习的参数交换方法、装置、服务器及存储介质
CN110519782A (zh) 一种通信网多通道选择方法及装置
CN107734556A (zh) 数据传输控制方法及相关产品
Bertault et al. Drawing hypergraphs in the subset standard (short demo paper)
CN109379384A (zh) 无线网络安全隔离方法、装置及电子设备
CN107111878B (zh) 数据处理方法、装置及系统
CN107045732B (zh) 数字地面模型化简方法及装置
CN108521376B (zh) 软件定义网络中基于属性相似性的流表设计方法
CN108230253A (zh) 图像恢复方法、装置、电子设备和计算机存储介质
CN110414663A (zh) 神经网络的卷积实现方法及相关产品
CN108898557A (zh) 图像恢复方法及装置、电子设备、计算机程序及存储介质
CN111107604B (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
GR01 Patent grant
GR01 Patent grant