CN111667581B - 3d模型的处理方法、装置、设备及存储介质 - Google Patents

3d模型的处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111667581B
CN111667581B CN202010544212.1A CN202010544212A CN111667581B CN 111667581 B CN111667581 B CN 111667581B CN 202010544212 A CN202010544212 A CN 202010544212A CN 111667581 B CN111667581 B CN 111667581B
Authority
CN
China
Prior art keywords
smooth
smooth group
group
triangular
normal
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
CN202010544212.1A
Other languages
English (en)
Other versions
CN111667581A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010544212.1A priority Critical patent/CN111667581B/zh
Publication of CN111667581A publication Critical patent/CN111667581A/zh
Application granted granted Critical
Publication of CN111667581B publication Critical patent/CN111667581B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

本申请实施例提供一种3D模型的处理方法、装置、设备及存储介质,该方法应用于3D建模领域,用于提高3D建模效率和建模效果。该方法包括如下步骤:首先获取3D模型中第一顶点处的光滑组信息,光滑组信息用于指示在第一顶点处的各个三角网格对应的光滑组,其中一个光滑组对应至少一个三角网格,至少一个三角网格具有相同的光滑组法线。然后获取光滑组信息中的各个光滑组所包括三角网格信息。根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线,再根据更新后的各个光滑组法线对3D模型进行后处理。上述处理过程大大提升了对3D模型的优化效率和优化效果。

Description

3D模型的处理方法、装置、设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种3D模型的处理方法、装置、设备及存储介质。
背景技术
在美术建模软件(比如3Dmax、Maya、Blender等)中,有对三维(threedimensional,3D)模型的光滑组进行编辑的功能,通过对光滑组进行适当调整,使得3D模型的光照结果更加符合物理实际。
目前,美术人员需要逐个检查3D模型的光滑组信息,比较耗时耗力,且容易出错。
发明内容
本申请实施例提供一种3D模型的处理方法、装置、设备及存储介质,提高对3D模型的优化效率。
第一方面,本申请实施例提供一种3D模型的处理方法,包括:
获取3D模型中第一顶点处的光滑组信息,所述光滑组信息用于指示在所述第一顶点处的各个三角网格对应的光滑组,一个所述光滑组对应至少一个三角网格,对应同一光滑组的所述至少一个三角网格具有相同的初始光滑组法线;
获取所述光滑组信息中的各个光滑组所包括三角网格信息,根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线;
根据更新后的各个光滑组法线对所述3D模型进行后处理。
可选的,所述三角网格信息包括三角网格的初始面法线、面积值以及三角网格在各个顶点处的角度值。
可选的,在一种可能的设计中,所述根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线,包括:
根据第一光滑组对应的三角网格的初始面法线,所述第一光滑组对应的三角网格的面积值、所述第一光滑组对应的三角网格在所述第一顶点处的角度值以及所述第一光滑组的初始光滑组法线,确定更新后的第一光滑组法线;
其中,所述第一光滑组为所述第一顶点处的任意一个光滑组。
可选的,在一种可能的设计中,所述根据更新后的各个光滑组法线对所述3D模型进行后处理,包括:
根据更新后的第一光滑组法线,从所述第一光滑组对应的三角网格中剔除满足预设剔除条件的三角网格;
其中,所述第一光滑组法线为所述第一顶点处的任意一个光滑组的光滑组法线。
可选的,所述预设剔除条件包括:三角网格的初始面法线与所述更新后的第一光滑组法线之间夹角值在第一预设夹角值范围内。
可选的,在一种可能的设计中,所述根据更新后的各个光滑组法线对所述3D模型进行后处理,包括:
根据更新后的各个光滑组法线,将满足预设合并条件的相邻的两个光滑组的三角网格进行合并。
可选的,所述预设合并条件包括:相邻的两个光滑组对应的更新后的光滑组法线之间的夹角值在第二预设夹角值范围内。
第二方面,本申请实施例一种3D模型的处理装置,包括:
获取模块,用于获取3D模型中第一顶点处的光滑组信息,所述光滑组信息用于指示在所述第一顶点处的各个三角网格对应的光滑组,一个所述光滑组对应至少一个三角网格,对应同一光滑组的所述至少一个三角网格具有相同的初始光滑组法线;
获取所述光滑组信息中各个光滑组所包括三角网格信息;
处理模块,用于根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线;
根据更新后的各个光滑组法线对所述3D模型进行后处理。
可选的,所述三角网格信息包括三角网格的初始面法线、面积值以及三角网格在各个顶点处的角度值。
可选的,在一种可能的设计中,处理模块,具体用于:
根据第一光滑组对应的三角网格的初始面法线,所述第一光滑组对应的三角网格的面积值、所述第一光滑组对应的三角网格在所述第一顶点处的角度值以及所述第一光滑组的初始光滑组法线,确定更新后的第一光滑组法线;
其中,所述第一光滑组为所述第一顶点处的任意一个光滑组。
可选的,在一种可能的设计中,处理模块,具体用于:
根据更新后的第一光滑组法线,从所述第一光滑组对应的三角网格中剔除满足预设剔除条件的三角网格;
其中,所述第一光滑组法线为所述第一顶点处的任意一个光滑组的光滑组法线。
可选的,所述预设剔除条件包括:三角网格的初始面法线与所述更新后的第一光滑组法线之间夹角值在第一预设夹角值范围内。
可选的,在一种可能的设计中,处理模块,具体用于:
根据更新后的各个光滑组法线,将满足预设合并条件的相邻的两个光滑组的三角网格进行合并。
可选的,所述预设合并条件包括:相邻的两个光滑组对应的更新后的光滑组法线之间的夹角值在第二预设夹角值范围内。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括:用于存储计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行第一方面中任一项所述的方法。
本申请实施例提供一种3D模型的处理方法、装置、设备及存储介质,该方法应用于3D建模领域,用于提高3D建模效率和建模效果。该方法包括如下步骤:首先获取3D模型中第一顶点处的光滑组信息,光滑组信息用于指示在第一顶点处的各个三角网格对应的光滑组,其中一个光滑组对应至少一个三角网格,至少一个三角网格具有相同的光滑组法线。然后获取光滑组信息中的各个光滑组所包括三角网格信息。根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线,再根据更新后的各个光滑组法线对3D模型进行后处理。上述处理过程大大提升了对3D模型的优化效率和优化效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的3D模型中三角网格的示意图;
图2为本申请实施例提供的3D模型的处理方法的流程图;
图3为本申请实施例提供的3D模型中空间顶点A的顶点索引盒子的示意图;
图4为本申请实施例提供的3D模型中空间顶点A的法线索引盒子的示意图;
图5为本申请实施例提供的3D模型的处理装置的结构示意图;
图6为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例中涉及到的专业术语或名词进行解释说明。
光滑组(smoothing group)是一组为了表现平滑表面的多边形组合。建模软件(比如3DMax)根据模型表面的平滑过渡情况进行分组,比如立方体,因为6个面之间两两都是相互不平滑的,所以一共会有6个光滑组,每个面对应一个光滑组。一个光滑组可以对应一个或多个面。
光滑组法线,即光滑组对应的面法线。如果一个光滑组对应一个面,则该光滑组的光滑组法线为该面的面法线。如果一个光滑组对应多个面,则该光滑组的光滑组法线可根据多个面的面法线计算得到。
面法线,即垂直于某一平面的法线。
作为一种示例,如图1所示,3D模型中的空间顶点A对应6个三角网格片,分别为面1至面6,其中面1、2、3在A点具有相同的光滑组法线Na,即面1、2、3为一个光滑组。同样的,面4、5、6在A点具有相同的光滑组法线Nb,即面4、5、6为一个光滑组。
目前,美术人员通过现有的美术建模软件绘制3D模型,3D模型分为线框模型、表面模型和实体模型三种。其中,表面模型运用最为广泛,三角网格片为表面模型的一种常见形式,3D模型由一定数量的三角网格片组成。为了使得3D模型的模拟光照结果更加逼真,美术人员在通过软件(比如3DMax)绘制出3D模型的初始形状之后,可以通过软件中对光滑组的编辑功能,手动调整模型中各个光滑组的光滑组信息,纠正不符合物理实际的光滑组。然而,手动调节3D模型的光滑组信息,降低建模的整体效率,尤其对于复杂3D模型的纠正过程,更加费时费力。
基于上述问题,本申请实施例提供一种3D模型的处理方法,可通过获取3D模型中各个顶点处的光滑组信息以及各个光滑组所包括三角网格信息,根据光滑组信息和各个光滑组所包括三角网格信息,更新3D模型中各个顶点处的光滑组的光滑组法线。以第一顶点(3D模型中的任意一个顶点)为例,本申请实施例中,对第一顶点处的光滑组法线的更新过程包括:将在第一顶点处的具有相同初始光滑组法线的各个三角网格中面积较小的三角网格剔除,通过对剩余三角网格的初始面法线进行加权求和,得到更新后的第一顶点处的光滑组法线。然后基于更新后的第一顶点处的各个光滑组法线,根据更新后的第一顶点处的各个光滑组法线,对第一顶点处的三角网络进行部分合并或者拆分。该方法大大提升了对3D模型进行优化的效率,创建的3D模型更加符合实际,效果逼真。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的3D模型的处理方法的流程图。如图2所示,本申请实施例提供的处理方法,包括如下步骤:
步骤101、获取3D模型中第一顶点处的光滑组信息。
其中,光滑组信息用于指示在第一顶点处的各个三角网格对应的光滑组。一个光滑组对应至少一个三角网格,至少一个三角网格具有相同的初始光滑组法线。
在本申请实施例中,获取3D模型中第一顶点处的光滑组信息,具体包括:获取在第一顶点处的至少一个光滑组,以及每一个光滑组的初始光滑组法线。其中,一个光滑组的初始光滑组法线是根据该光滑组对应的至少一个三角网格的初始面法线确定的。
第一顶点为3D模型中的任意一个顶点,第一顶点处对应一个或多个三角网格。示例性的,如图1所示,空间顶点A处对应6个三角网格。
空间顶点A的光滑组信息可存储在顶点索引盒子中,即将空间顶点A处的所有光滑组法线存储在该盒子中。图3示出了空间顶点A的顶点索引盒子的示意图,如图3所示,空间顶点A(x,y,z)处有两个光滑组,两个光滑组的初始光滑组法线分别为Na和Nb,将Na和Nb存放至顶点A的索引盒子中。顶点索引盒子可以包括3D模型中各个顶点处的初始光滑组法线集。
空间顶点A处的顶点索引可存储在法线索引盒子中,即将空间顶点A处的所有顶点索引存储在一个或多个法线索引盒子中。应理解,一个顶点索引对应空间顶点A的一个三角网格,法线索引盒子体现了空间顶点A处的光滑组与三角网格的对应关系。图4示出了空间顶点A的法线索引盒子的示意图,如图4所示,空间顶点A处的一个光滑组的初始光滑组法线为Na,图1所示的三角网格1、2、3的初始光滑组法线均为Na,这3个三角网格对应空间顶点A的顶点索引分别为A1、A2、A3,将顶点索引A1、A2、A3放入一个盒子中。同样的,空间顶点A处的另一个光滑组的初始光滑组法线为Nb,图1所示的三角网格4、5、6的初始光滑组法线均为Nb,这3个三角网格对应空间顶点A的顶点索引分别为A4、A5、A6,将顶点索引A4、A5、A6放入一个盒子中。
步骤102、获取光滑组法线信息中的各个光滑组所包括三角网格信息。
在本申请实施例中,三角网格信息包括三角网格的初始面法线、面积值以及三角网格在各个顶点处的角度值。其中,初始面法线是三角网格在3D模型中最初的面法线,即垂直于该三角网格的法线。三角网格包括3个顶点,三角网格的3个顶点处的角度值之和为180°。
步骤103、根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线。
以第一光滑组为例,第一光滑组为第一顶点处的任意一个光滑组,根据第一光滑组所包括三角网格信息,更新第一光滑组的初始光滑组法线,具体包括:根据第一光滑组对应的三角网格的初始面法线、面积值、第一光滑组对应的三角网格在第一顶点处的角度值以及第一光滑组的初始光滑组法线,得到更新后的第一光滑组法线。
上述更新过程主要是将在第一顶点处的具有相同初始光滑组法线的各个三角网格中面积较小的三角网格剔除,通过对剩余三角网格的初始面法线进行加权求和,更新第一顶点处的各个光滑组的初始光滑组法线。
示例性的,以上述空间顶点A的其中一个光滑组为例,该光滑组的初始光滑组法线为Na,Na对应3个三角网格,分别为三角网格1、2、3。如果三角网格3的面积较小,则将三角网格3剔除,即计算光滑组法线时不考虑三角网格3的初始面法线,仅根据三角网格1和三角网格2的初始面法线计算光滑组法线,得到更新后的N′a。相应的,可以采用相同原理更新空间顶点A处的另一个光滑组的初始光滑组法线Nb,得到更新后的N′b
步骤104、根据更新后的各个光滑组法线对3D模型进行后处理。
在本申请实施例中,对3D模型的后处理包括合并三角网格、拆分三角网格的至少一项。
具体的,基于步骤103得到的更新后的光滑组法线,可以对3D模型中相邻光滑组的三角网格进行合并,或者,对3D模型中同一光滑组中的某些三角网格进行拆分。
上述合并操作可以将与更新后的光滑组法线方向相近的该光滑组相邻的三角网格合并到该光滑组中,也可以将相邻的两个光滑组的三角网格合并到一个光滑组中,避免3D模型中弯曲角度很小的相邻两个光滑组的边界出现不自然的折痕。
上述拆分操作可以将与更新后的光滑组法线方向差别较大的该光滑组中的三角网格拆分,被拆分的三角网格单独作为一个光滑组,使得3D模型中的角度变化较大处光滑组的模拟光照更加符合实际情况。
本申请实施例提供的3D模型的处理方法,首先获取3D模型中第一顶点处的光滑组法线信息,光滑组法线信息用于指示在第一顶点处的各个三角网格对应的光滑组,其中一个光滑组对应至少一个三角网格,对应同一光滑组的至少一个三角网格具有相同的光滑组法线。然后获取光滑组信息中的各个光滑组所包括三角网格信息。根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线,再根据更新后的各个光滑组法线对3D模型进行后处理。上述处理过程大大提升了对3D模型进行优化的效率。
可选的,在一些实施例中,上述实施例中的步骤103,具体包括:
根据第一光滑组对应的三角网格的初始面法线、面积值、第一光滑组对应的三角网格在第一顶点处的角度值以及第一光滑组的初始光滑组法线,确定更新后的第一光滑组法线。其中,第一光滑组为第一顶点的任意一个光滑组。
具体的,可以通过下述公式确定更新后的第一光滑组法线:
式中,N′表示更新后的第一光滑组法线;ai表示第一顶点在第一光滑组对应的第i个三角网格中两条边的夹角与第一顶点在第一光滑组对应的所有三角网格的总角度的比值;Si表示第一顶点在第一光滑组对应的第i个三角网格的面积;λ表示预设面积阈值;(Si<λ:0,1)表示对于三角网格的面积小于或等于预设面积阈值的三角网格不加入统计,取0,对于三角网格的面积大于预设面积阈值的三角网格加入统计,取1;Ni表示第一顶点在第一光滑组对应的第i个三角网格的初始面法线;n为大于或者等于2的正整数。
为了便于理解,下面以图1所示的空间顶点A为例,对上述公式进行说明。该示例仅对顶点A的初始光滑组法线Na进行更新,更新后的光滑组法线记为N′a。初始光滑组法线Na对应的三角网格有:三角网格1、三角网格2、三角网格3,这3个三角网格的面积分别记为S1、S2、S3,这3个三角网格的初始面法线分别记为N1、N2、N3。假设这3个三角网格中只有三角网格3的面积小于预设面积阈值,即S3<λ,顶点A在三角网格1、三角网格2、三角网格3中两条边的夹角值分别为90°、80°、10°,顶点A在这3个三角网格的总角度值为180°,则a1、a2、a3分别为0.5、0.44、0.05,则更新后的N′a=0.5×N1+0.44×N2。需要说明的是,上述法线均为三维矢量。
可选的,在一些实施例中,上述实施例中的步骤104,包括:根据更新后的第一光滑组法线,从第一光滑组对应的三角网格中剔除满足预设剔除条件的三角网格;第一光滑组法线为第一顶点的任意一个光滑组的光滑组法线。
其中,预设剔除条件包括:三角网格的初始面法线与更新后的第一光滑组法线之间夹角值在第一预设夹角值范围内。例如,第一预设夹角值范围可以为[80°,100°]。美术人员可以根据实际需求对第一预设夹角值范围进行自定义设置,对此本申请实施例不作任何限制。
示例性的,以图1所示的空间顶点A为例,引用上述更新过程的示例,顶点A的初始光滑组法线Na对应的三角网格有:三角网格1、三角网格2、三角网格3,这3个三角网格的初始面法线分别记为N1、N2、N3,更新后的光滑组法线记为N′a,假设N1与N′a之间的夹角值为30°,N2与N′a之间的夹角值为40°,N3与N′a之间的夹角值为80°,第一预设夹角值范围为[80°,100°]。由于三角网格3的初始面法线与更新后的光滑组法线之间的夹角值过大,将三角网格3从该光滑组中剔除,三角网格3作为独立的一个光滑组。
上述实施例示出了对3D模型的三角网格的拆分步骤,将与更新后的光滑组法线方向差别较大的该光滑组中的三角网格拆分,被拆分的三角网格单独作为一个光滑组,使得3D模型中的角度变化较大处光滑组的模拟光照更加符合实际情况。
可选的,在一些实施例中,三角网格的初始面法线与更新后的第一光滑组法线之间夹角值没有落在第一预设夹角值范围内,即不符合预设剔除条件的三角网格对应的光滑组保持不变。
可选的,在一些实施例中,上述实施例中的步骤104,包括:根据更新后的各个光滑组法线,将满足预设合并条件的相邻的两个光滑组的三角网格进行合并。
其中,预设合并条件包括:相邻的两个光滑组对应的更新后的光滑组法线之间的夹角值在第二预设夹角值范围内。例如,第二预设夹角值范围可以为[0°,30°]。美术人员可以根据实际需求对第二预设夹角值范围进行自定义设置,对此本申请实施例不作任何限制。
示例性的,以图1所示的空间顶点A为例,对顶点A的初始光滑组法线Na和Nb进行法线更新,分别得到更新后的光滑组法线N′a和N′b,若N′a和N′b之间的夹角值在第二预设夹角值范围[0°,30°],则将光滑组法线N′a的三角网格和光滑组法线N′b的三角网格合并到一个光滑组中,即将图1所示的三角网格1、2、3与三角网格4、5、6合并到一个光滑组中。
上述实施例示出了对3D模型的光滑组的合并步骤,实现将相邻的两个光滑组的三角网格合并到一个光滑组中,避免3D模型中弯曲角度很小的相邻两个光滑组的边界出现不自然的折痕。
本申请实施例可以根据上述方法实施例对3D模型的处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图5为本申请实施例提供的3D模型的处理装置的结构示意图。如图5所示,该处理装置200,包括:
获取模块201,用于获取3D模型中第一顶点处的光滑组信息,所述光滑组信息用于指示在所述第一顶点处的各个三角网格对应的光滑组,一个所述光滑组对应至少一个三角网格,对应同一光滑组的所述至少一个三角网格具有相同的初始光滑组法线;
获取所述光滑组信息中各个光滑组所包括三角网格信息;
处理模块202,用于根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线;
根据更新后的各个光滑组法线对所述3D模型进行后处理。
可选的,所述三角网格信息包括三角网格的初始面法线、面积值以及三角网格在各个顶点处的角度值。
可选的,在一种可能的设计中,处理模块202,具体用于:
根据第一光滑组对应的三角网格的初始面法线,所述第一光滑组对应的三角网格的面积值、所述第一光滑组对应的三角网格在所述第一顶点处的角度值以及所述第一光滑组的初始光滑组法线,确定更新后的第一光滑组法线;
其中,所述第一光滑组为所述第一顶点处的任意一个光滑组。
可选的,在一种可能的设计中,处理模块202,具体用于:
根据更新后的第一光滑组法线,从所述第一光滑组对应的三角网格中剔除满足预设剔除条件的三角网格;
其中,所述第一光滑组法线为所述第一顶点处的任意一个光滑组的光滑组法线。
可选的,所述预设剔除条件包括:三角网格的初始面法线与所述更新后的第一光滑组法线之间夹角值在第一预设夹角值范围内。
可选的,在一种可能的设计中,处理模块202,具体用于:
根据更新后的各个光滑组法线,将满足预设合并条件的相邻的两个光滑组的三角网格进行合并。
可选的,所述预设合并条件包括:相邻的两个光滑组对应的更新后的光滑组法线之间的夹角值在第二预设夹角值范围内。
本申请实施例提供的3D模型的处理装置,用于执行前述任一方法实施例中的各个步骤,其实现原理和技术效果类似,在此不再赘述。
图6为本申请实施例提供的电子设备的硬件结构示意图。如图6所示,该电子设备300,包括:
至少一个处理器301(图6中仅示出了一个处理器);以及
与所述至少一个处理器通信连接的存储器302;其中,
所述存储器302存储有可被所述至少一个处理器301执行的指令,所述指令被所述至少一个处理器301执行,以使所述电子设备300能够执行前述任一方法实施例中的各个步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现前述任一方法实施例中的技术方案。
应理解,本申请实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种3D模型的处理方法,其特征在于,包括:
获取3D模型中第一顶点处的光滑组信息,所述光滑组信息用于指示在所述第一顶点处的各个三角网格对应的光滑组,一个所述光滑组对应至少一个三角网格,对应同一光滑组的所述至少一个三角网格具有相同的初始光滑组法线;
获取所述光滑组信息中的各个光滑组所包括三角网格信息,根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线;
根据更新后的各个光滑组法线对所述3D模型进行后处理;
其中,通过下述公式确定更新后的第一光滑组法线:
式中,N表示更新后的第一光滑组法线;ai表示第一顶点在第一光滑组对应的第i个三角网格中两条边的夹角与第一顶点在第一光滑组对应的所有三角网格的总角度的比值;Si表示第一顶点在第一光滑组对应的第i个三角网格的面积;λ表示预设面积阈值;(Si<λ:0,1)表示对于三角网格的面积小于或等于预设面积阈值的三角网格不加入统计,取0,对于三角网格的面积大于预设面积阈值的三角网格加入统计,取1;Ni表示第一顶点在第一光滑组对应的第i个三角网格的初始面法线;n为大于或者等于2的正整数;
所述根据更新后的各个光滑组法线对所述3D模型进行后处理,包括:
根据更新后的第一光滑组法线,从所述第一光滑组对应的三角网格中剔除满足预设剔除条件的三角网格;
其中,所述第一光滑组法线为所述第一顶点处的任意一个光滑组的光滑组法线;
或者,根据更新后的各个光滑组法线,将满足预设合并条件的相邻的两个光滑组的三角网格进行合并。
2.根据权利要求1所述的方法,其特征在于,所述三角网格信息包括三角网格的初始面法线、面积值以及三角网格在各个顶点处的角度值。
3.根据权利要求1或2所述的方法,其特征在于,所述根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线,包括:
根据第一光滑组对应的三角网格的初始面法线,所述第一光滑组对应的三角网格的面积值、所述第一光滑组对应的三角网格在所述第一顶点处的角度值以及所述第一光滑组的初始光滑组法线,确定更新后的第一光滑组法线;
其中,所述第一光滑组为所述第一顶点处的任意一个光滑组。
4.根据权利要求1所述的方法,其特征在于,所述预设剔除条件包括:三角网格的初始面法线与所述更新后的第一光滑组法线之间夹角值在第一预设夹角值范围内。
5.根据权利要求1所述的方法,其特征在于,所述预设合并条件包括:相邻的两个光滑组对应的更新后的光滑组法线之间的夹角值在第二预设夹角值范围内。
6.一种3D模型的处理装置,其特征在于,包括:
获取模块,用于获取3D模型中第一顶点处的光滑组信息,所述光滑组信息用于指示在所述第一顶点处的各个三角网格对应的光滑组,一个所述光滑组对应至少一个三角网格,对应同一光滑组的所述至少一个三角网格具有相同的初始光滑组法线;
获取所述光滑组信息中各个光滑组所包括三角网格信息;
处理模块,用于根据各个光滑组所包括三角网格信息,更新各个光滑组的初始光滑组法线;
根据更新后的各个光滑组法线对所述3D模型进行后处理;
其中,通过下述公式确定更新后的第一光滑组法线:
式中,N表示更新后的第一光滑组法线;ai表示第一顶点在第一光滑组对应的第i个三角网格中两条边的夹角与第一顶点在第一光滑组对应的所有三角网格的总角度的比值;Si表示第一顶点在第一光滑组对应的第i个三角网格的面积;λ表示预设面积阈值;(Si<λ:0,1)表示对于三角网格的面积小于或等于预设面积阈值的三角网格不加入统计,取0,对于三角网格的面积大于预设面积阈值的三角网格加入统计,取1;Ni表示第一顶点在第一光滑组对应的第i个三角网格的初始面法线;n为大于或者等于2的正整数;
所述处理模块,具体用于根据更新后的第一光滑组法线,从所述第一光滑组对应的三角网格中剔除满足预设剔除条件的三角网格;
其中,所述第一光滑组法线为所述第一顶点处的任意一个光滑组的光滑组法线;
所述处理模块,具体用于根据更新后的各个光滑组法线,将满足预设合并条件的相邻的两个光滑组的三角网格进行合并。
7.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,包括:用于存储计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行权利要求1-5中任一项所述的方法。
CN202010544212.1A 2020-06-15 2020-06-15 3d模型的处理方法、装置、设备及存储介质 Active CN111667581B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010544212.1A CN111667581B (zh) 2020-06-15 2020-06-15 3d模型的处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010544212.1A CN111667581B (zh) 2020-06-15 2020-06-15 3d模型的处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111667581A CN111667581A (zh) 2020-09-15
CN111667581B true CN111667581B (zh) 2023-08-22

Family

ID=72387881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010544212.1A Active CN111667581B (zh) 2020-06-15 2020-06-15 3d模型的处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111667581B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109427088A (zh) * 2017-08-18 2019-03-05 腾讯科技(深圳)有限公司 一种模拟光照的渲染方法及终端
CN109448125A (zh) * 2018-09-26 2019-03-08 深圳市华讯方舟太赫兹科技有限公司 一种三角网格模型的处理方法、处理终端及存储介质
CN110223372A (zh) * 2019-06-13 2019-09-10 网易(杭州)网络有限公司 模型渲染的方法、装置、设备及存储介质
CN111127649A (zh) * 2019-12-30 2020-05-08 重庆市勘测院 构建三维体块模型的方法及装置、服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109427088A (zh) * 2017-08-18 2019-03-05 腾讯科技(深圳)有限公司 一种模拟光照的渲染方法及终端
CN109448125A (zh) * 2018-09-26 2019-03-08 深圳市华讯方舟太赫兹科技有限公司 一种三角网格模型的处理方法、处理终端及存储介质
CN110223372A (zh) * 2019-06-13 2019-09-10 网易(杭州)网络有限公司 模型渲染的方法、装置、设备及存储介质
CN111127649A (zh) * 2019-12-30 2020-05-08 重庆市勘测院 构建三维体块模型的方法及装置、服务器

Also Published As

Publication number Publication date
CN111667581A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
US8089480B2 (en) Method for meshing a curved surface
WO2022016310A1 (zh) 基于点云数据的三维重建方法、装置和计算机设备
CN107886569B (zh) 一种基于离散李导数的测度可控的曲面参数化方法及系统
US20150127301A1 (en) Updating A CAD Model To Reflect Global Or Local Shape Changes
CN110084894B (zh) 三维模型的局部放大展示方法、装置与电子设备
US10296664B2 (en) Scalable and precise fitting of NURBS surfaces to large-size mesh representations
CN114708375B (zh) 纹理映射方法、系统、计算机及可读存储介质
CN115222806B (zh) 多边形处理方法、装置、设备及计算机可读存储介质
CN111369682A (zh) 生成体叶状结构的方法、设备和计算机可读存储介质
CN114742956B (zh) 模型处理方法、装置、设备及计算机可读存储介质
CN108986020A (zh) 一种三维曲面近似展开成平面的自适应方法
CN114202632A (zh) 网格线性结构恢复方法、装置、电子设备及存储介质
CN110717141A (zh) 一种车道线优化方法、装置及存储介质
CN111667581B (zh) 3d模型的处理方法、装置、设备及存储介质
CN113496468B (zh) 深度图像的修复方法、装置和存储介质
CN115205411A (zh) 一种遮挡体生成方法、装置、电子设备和介质
Song et al. Hierarchical spline approximation of the signed distance function
CN114119928A (zh) 一种基于网格操作的肺内器官三维模型优化方法及系统
CN114445595A (zh) 孔洞三角形网格生成方法、装置、设备及存储介质
CN111524075A (zh) 深度图像滤波方法、图像合成方法、装置、设备及介质
CN111445585B (zh) 基于对偶凸包域的三维形状对应方法及装置
CN117197000B (zh) 一种快速网格去噪方法、装置及电子设备
CN116229005B (zh) 三维巷道模型的测地线确定方法和装置
Randrianarivony Harmonic variation of edge size in meshing CAD geometries from IGES format
CN117456115B (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