三维模型简化方法及装置与流程

allin2023-09-11  198



1.本发明涉及模型数据处理技术领域,尤其涉及一种三维模型简化方法及装置。


背景技术:

2.随着建模技术的发展,越来越多领域开始采用三维建模技术来实现实体空间的再现和模拟,例如在施工领域,bim技术已经日渐成熟,并已经可以为实际施工提供模拟效果和材料方案。但现有的建模技术在利用到三维模型时,其模型数据量较大,没有考虑到对三维模型中的构件进行简化,从而在应用在一些数据算力较弱或传输带宽较小的场景中时,存在运算效率低的缺点。可见,现有技术存在缺陷,亟待解决。


技术实现要素:

3.本发明所要解决的技术问题在于,提供一种三维模型简化方法及装置,在保留了模型的边缘特征的同时减少模型的数据量,能够在后续进行模型运算时减少数据的运算量。
4.为了解决上述技术问题,本发明第一方面公开了一种三维模型简化方法,所述方法包括:
5.获取欲简化的目标三维模型;
6.确定所述目标三维模型中处于多个不同的模型区域的多个三维构件;
7.对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合;
8.将多个所述模型区域对应的所述二维投影集合,确定为所述目标三维模型对应的简化模型。
9.作为一种可选的实施方式,在本发明第一方面中,所述二维投影集合包括所述三维构件的至少一个构件面在所述二维平面上的投影多边形;所述对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合,包括:
10.对于所述目标三维模型中多个所述模型区域中的任一三维构件,确定该三维构件的至少一个构件面;
11.对于任一所述构件面,将该构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在所述二维平面上的投影多边形;
12.将该三维构件对应的所有所述构件面对应的所述投影多边形,确定为该三维构件对应的二维投影集合。
13.作为一种可选的实施方式,在本发明第一方面中,所述确定该三维构件的至少一个构件面,包括:
14.遍历该三维构件的所有面,得到该三维构件的多个候选构件面;
15.判断任一所述候选构件面的面法向量与所述第一维方向的第一夹角是否小于预设的第一角度阈值,若是,则将该候选构件面剔除;
16.根据该三维构件进行所述剔除后的剩余的所有候选构件面,确定该三维构件的至少一个构件面。
17.作为一种可选的实施方式,在本发明第一方面中,所述对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合之后,所述方法还包括:
18.筛选出任一所述二维投影集合中的至少一个交集多边形集合;所述交集多边形集合中包括有多个相互之间存在交集的所述投影多边形;
19.将任一所述交集多边形集合中的所有所述投影多边形进行融合,以得到该交集多边形集合对应的融合多边形;
20.将该二维投影集合对应的所有所述交集多边形集合对应的所有所述融合多边形,确定为该二维投影集合对应的融合多边形集合。
21.作为一种可选的实施方式,在本发明第一方面中,所述对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合之后,所述方法还包括:
22.筛选出任一所述二维投影集合中的内部多边形;所述内部多边形为被完全包括在任一其他多边形内的多边形;所述多边形为所述投影多边形或所述融合多边形;
23.对该二维投影集合中的所述内部多边形进行删除;
24.和/或,
25.筛选出任一所述二维投影集合中的小面积多边形;所述小面积多边形为面积小于预设的面积阈值的所述多边形;
26.对该二维投影集合中的所述多边形进行删除;
27.和/或,
28.对于任一所述二维投影集合中的任一所述多边形,删除该多边形中符合预设的多余顶点规则的顶点。
29.作为一种可选的实施方式,在本发明第一方面中,所述对于任一所述二维投影集合中的任一所述多边形,删除该多边形的符合预设的多余顶点规则的顶点,包括:
30.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中重叠的多个顶点;
31.对所述重叠的多个顶点中除保留的一个顶点以外的所有其他顶点进行删除;
32.和/或,
33.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个靠近顶点集合;所述靠近顶点集合包括两个相互之间的距离小于预设的距离阈值的顶点;
34.对任一所述靠近顶点集合中的一个顶点进行删除;
35.和/或,
36.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个共线顶点集合;所述共线顶点集合包括处在同一线上的至少三个顶点;
37.对任一所述共线顶点集合中除相互之间的距离最大的两个顶点以外的所有其他
顶点进行删除;
38.和/或,
39.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个伪共线顶点集合;所述伪共线顶点集合包括相互之间形成的两条交叉线段的三个顶点;所述两条交叉线段的第二夹角小于第二角度阈值;
40.对任一所述伪共线顶点集合中位于所述第二夹角的夹角顶点处的顶点进行删除。
41.作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
42.确定所述目标三维模型的包围盒;
43.确定所述包围盒的几何中心的中心坐标值;
44.将所述简化模型中任一模型坐标减去所述中心坐标值,得到所述简化模型对应的多个简化模型坐标;
45.将所述多个简化模型坐标和所述中心坐标值,保存为所述简化模型的坐标数据。
46.本发明实施例第二方面公开了一种三维模型简化装置,所述装置包括:
47.模型获取模块,用于获取欲简化的目标三维模型;
48.构件确定模块,用于确定所述目标三维模型中处于多个不同的模型区域的多个三维构件;
49.构件投影模块,用于对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合;
50.模型确定模块,用于将多个所述模型区域对应的所述二维投影集合,确定为所述目标三维模型对应的简化模型。
51.作为一种可选的实施方式,在本发明第二方面中,所述二维投影集合包括所述三维构件的至少一个构件面在所述二维平面上的投影多边形;所述构件投影模块包括:
52.构件面确定单元,用于对于所述目标三维模型中多个所述模型区域中的任一三维构件,确定该三维构件的至少一个构件面;
53.构件面投影单元,用于对于任一所述构件面,将该构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在所述二维平面上的投影多边形;
54.集合确定单元,用于将该三维构件对应的所有所述构件面对应的所述投影多边形,确定为该三维构件对应的二维投影集合。
55.作为一种可选的实施方式,在本发明第二方面中,所述构件面确定单元确定该三维构件的至少一个构件面的具体方式,包括:
56.遍历该三维构件的所有面,得到该三维构件的多个候选构件面;
57.判断任一所述候选构件面的面法向量与所述第一维方向的第一夹角是否小于预设的第一角度阈值,若是,则将该候选构件面剔除;
58.根据该三维构件进行所述剔除后的剩余的所有候选构件面,确定该三维构件的至少一个构件面。
59.作为一种可选的实施方式,在本发明第二方面中,所述装置还包括融合模块,用于执行以下步骤:
60.筛选出任一所述二维投影集合中的至少一个交集多边形集合;所述交集多边形集合中包括有多个相互之间存在交集的所述投影多边形;
61.将任一所述交集多边形集合中的所有所述投影多边形进行融合,以得到该交集多边形集合对应的融合多边形;
62.将该二维投影集合对应的所有所述交集多边形集合对应的所有所述融合多边形,确定为该二维投影集合对应的融合多边形集合。
63.作为一种可选的实施方式,在本发明第二方面中,所述装置还包括多边形简化模块,用于执行以下步骤:
64.筛选出任一所述二维投影集合中的内部多边形;所述内部多边形为被完全包括在任一其他多边形内的多边形;所述多边形为所述投影多边形或所述融合多边形;
65.对该二维投影集合中的所述内部多边形进行删除;
66.和/或,
67.筛选出任一所述二维投影集合中的小面积多边形;所述小面积多边形为面积小于预设的面积阈值的所述多边形;
68.对该二维投影集合中的所述多边形进行删除;
69.和/或,
70.对于任一所述二维投影集合中的任一所述多边形,删除该多边形中符合预设的多余顶点规则的顶点。
71.作为一种可选的实施方式,在本发明第二方面中,所述多边形简化模块对于任一所述二维投影集合中的任一所述多边形,删除该多边形的符合预设的多余顶点规则的顶点的具体方式,包括:
72.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中重叠的多个顶点;
73.对所述重叠的多个顶点中除保留的一个顶点以外的所有其他顶点进行删除;
74.和/或,
75.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个靠近顶点集合;所述靠近顶点集合包括两个相互之间的距离小于预设的距离阈值的顶点;
76.对任一所述靠近顶点集合中的一个顶点进行删除;
77.和/或,
78.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个共线顶点集合;所述共线顶点集合包括处在同一线上的至少三个顶点;
79.对任一所述共线顶点集合中除相互之间的距离最大的两个顶点以外的所有其他顶点进行删除;
80.和/或,
81.对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个伪共线顶点集合;所述伪共线顶点集合包括相互之间形成的两条交叉线段的三个顶点;所述两条交叉线段的第二夹角小于第二角度阈值;
82.对任一所述伪共线顶点集合中位于所述第二夹角的夹角顶点处的顶点进行删除。
83.作为一种可选的实施方式,在本发明第二方面中,所述装置还包括坐标简化模块,
用于执行以下步骤:
84.确定所述目标三维模型的包围盒;
85.确定所述包围盒的几何中心的中心坐标值;
86.将所述简化模型中任一模型坐标减去所述中心坐标值,得到所述简化模型对应的多个简化模型坐标;
87.将所述多个简化模型坐标和所述中心坐标值,保存为所述简化模型的坐标数据。
88.本发明第三方面公开了另一种三维模型简化装置,所述装置包括:
89.存储有可执行程序代码的存储器;
90.与所述存储器耦合的处理器;
91.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的三维模型简化方法中的部分或全部步骤。
92.本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的三维模型简化方法中的部分或全部步骤。
93.与现有技术相比,本发明实施例具有以下有益效果:
94.本发明实施例中,公开了一种三维模型简化方法及装置,该方法包括:获取欲简化的目标三维模型;确定所述目标三维模型中处于多个不同的模型区域的多个三维构件;对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合;将多个所述模型区域对应的所述二维投影集合,确定为所述目标三维模型对应的简化模型。可见,本发明实施例能够通过对不同模型区域中的三维构件进行二维投影,以得到该区域上的构件的二维投影集合,从而在保留了模型的边缘特征的同时大大减少了模型的数据量,进而能够在后续进行模型运算时减少数据的运算量,提高运算效率。
附图说明
95.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
96.图1是本发明实施例公开的一种三维模型简化方法的流程示意图。
97.图2是本发明实施例公开的另一种三维模型简化方法的流程示意图。
98.图3是本发明实施例公开的一种三维模型简化装置的结构示意图。
99.图4是本发明实施例公开的另一种三维模型简化装置的结构示意图。
100.图5是本发明实施例公开的又一种三维模型简化装置的结构示意图。
101.图6是本发明实施例公开的简化前的大体量bim模型的效果示意图。
102.图7是本发明实施例公开的简化后的bim体量模型的效果示意图。
具体实施方式
103.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的
附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
104.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
105.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
106.本发明公开了一种三维模型简化方法及装置,能够通过对不同模型区域中的三维构件进行二维投影,以得到该区域上的构件的二维投影集合,从而在保留了模型的边缘特征的同时大大减少了模型的数据量,进而能够在后续进行模型运算时减少数据的运算量,提高运算效率。以下分别进行详细说明。
107.实施例一
108.请参阅图1,图1是本发明实施例公开的一种三维模型简化方法的流程示意图。其中,图1所描述的三维模型简化方法可以应用于三维数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图1所示,该三维模型简化方法可以包括以下操作:
109.101、获取欲简化的目标三维模型。
110.可选的,目标三维模型可以为用于表征不同领域的不同实体的三维模型,例如其可以为用于表征建筑领域的建筑物的bim三维模型,也可以为用于表现艺术领域的动画角色或拟真角色的三维模型,本发明不做限定。
111.可选的,目标三维模型的模型数据格式可以为3ds、max、fbx、obj、mtl、blend、c4d、dae、gltf或glb,本发明不作穷举,应当能够理解,任何可以执行本发明所述的模型简化方法的模型数据格式,都应被认为包括在本发明的保护范围之内。
112.可选的,目标三维模型的获取,可以为响应于操作人员的操作而访问任一硬件储存位置进行获取,也可以为接收设备端或软件端发送的信息而获取,还可以为根据设置的自动程序自动生成获取指令进行获取,本发明不做限定。
113.102、确定目标三维模型中处于多个不同的模型区域的多个三维构件。
114.可选的,模型区域用于表征目标三维模型中的在不同维度上的特定区域,例如其具体可以用于表示目标三维模型中的在高度维度上,例如第一维方向上的不同坐标值区间上,的特定区域,此时不同模型区域用于表示目标三维模型的不同高度,在一些实际的应用场景中,例如建筑领域,其可以用于表示建筑物的不同楼层区域。又例如,模型区域可以具体可以用于表示目标三维模型中的在人体结构维度上的特定区域,此时不同模型区域用于表示目标三维模型的不同结构区域,在一些实际的应用场景中,例如绘画艺术领域,其可以用于表示人体的不同生理结构区域,如四肢区域或躯干区域等。又例如,模型区域可以具体
可以用于表示目标三维模型中的在功能维度上的特定区域,此时不同模型区域用于表示目标三维模型的不同功能区域,在一些实际的应用场景中,例如室内领域,其可以用于表示家居空间的不同生活区域,如客厅区域或厨房区域等。
115.可选的,确定目标三维模型中处于多个不同的模型区域的多个三维构件的方式,可以为:
116.获取目标三维模型对应的区域划分信息;
117.对于目标三维模型中的任一三维构件,确定该三维构件对应的构件包围盒;
118.确定构件包围盒的盒坐标信息;
119.根据盒坐标信息和区域划分信息,确定该三维构件对应的模型区域。
120.可选的,区域划分信息可以用于表示目标三维模型的不同模型区域在至少一个维度方向上的不同坐标值区间,该维度方向可以为第一维方向、第二维方向或第三维方向。可选的,可以判断盒坐标是否处于区域划分信息中目标三维模型的任一模型区域在至少一个维度方向上的坐标值区间内,若是,则判断该三维构件对应于该模型区域。在一个具体的实施方案中,当模型区域用于表征建筑物的不同高度区域时,区域划分信息可以用于表示目标三维模型的不同模型区域在第一维方向上的不同坐标值区间(此时暂定第一维方向为高度维度方向),此时可以根据构件包围盒的盒坐标,判断构件包围盒是否与任一坐标值区间存在被包含或交集的关系,若是,则确定该构件包围盒对应的三维构件对应于该坐标值区间对应的模型区域(模型高度)。
121.可选的,构件包围盒可以为aabb包围盒(axis-aligned bounding box),包围球(sphere),方向包围盒obb(oriented bounding box)或固定方向凸包fdh(fixed directions hulls或k-dop),本发明不作具体的限定。
122.103、对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合。
123.可选的,目标三维模型所在的坐标系至少包括上述第一维方向、第二维方向和第三维方向这三个维度,可选的,其也可以存于包括更多维度的坐标系中。在一些具体的实施方案中,当目标三维模型所在的坐标系为常见的xyz坐标系时,第一维方向、第二维方向和第三维方向可以分别为x轴方向、y轴方向和z轴方向中的一种。具体的,由于在进行二维投影时,沿高度方向朝向平面方向进行投影是较为常见的做法,因此第一维方向为z轴方向,第二维方向和第三维方向组成的二维平面是xy轴平面是较为优选的做法,但其他选择或做法能够得到相同效果的,也并不被排除出本发明的保护范围。
124.可选的,对三维构件进行投影以得到二维投影集合的方式,除了下面实施方式中所述的遍历构件面进行投影的方式,也可以直接对三维构件整体上进行投影以得到二维投影集合。
125.104、将多个模型区域对应的二维投影集合,确定为目标三维模型对应的简化模型。
126.可选的,可以将二维投影集合与对应的模型区域之间建立关联关系,并将二维投影集合和该关联关系进行输出,得到目标三维模型对应的简化模型。后续,在处理该简化模型时,例如对该简化模型中的二维投影集合进行三角化以得到立体化的简化模型时,其可以直接根据关联关系还原特定三维构件所在的模型区域,从而可以更快速地对模型进行还
原,尽量减少简化模型丢失的数据。
127.可见,上述发明实施例能够通过对不同模型区域中的三维构件进行二维投影,以得到该区域上的构件的二维投影集合,从而在保留了模型的边缘特征的同时大大减少了模型的数据量,进而能够在后续进行模型运算时减少数据的运算量,提高运算效率。
128.作为一种可选的实施方式,二维投影集合可以包括三维构件的至少一个构件面在二维平面上的投影多边形。相应的,上述步骤103中的,对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合,包括:
129.对于目标三维模型中多个模型区域中的任一三维构件,确定该三维构件的至少一个构件面;
130.对于任一构件面,将该构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在二维平面上的投影多边形;
131.将该三维构件对应的所有构件面对应的投影多边形,确定为该三维构件对应的二维投影集合。
132.可选的,确定该三维构件的至少一个构件面的方式,可以为遍历该三维构件的所有构件面,并从所有构件面中确定出至少一个需要用来投影的构件面。
133.可见,通过实施该可选的实施方式,能够对任一三维构件的构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在二维平面上的投影多边形,从而能够在对模型进行简化的同时,更好地保留了三维构件的边缘特征。
134.作为一种可选的实施方式,上述步骤中的,确定该三维构件的至少一个构件面,包括:
135.遍历该三维构件的所有面,得到该三维构件的多个候选构件面;
136.判断任一候选构件面的面法向量与第一维方向的第一夹角是否小于预设的第一角度阈值,若是,则将该候选构件面剔除;
137.根据该三维构件进行剔除后的剩余的所有候选构件面,确定该三维构件的至少一个构件面。
138.可选的,该第一角度阈值可以由操作人员根据实验值或经验值进行确定,并可以根据实际操作中的效果进行调整,以得到最好的判断效果。
139.可见,通过实施该可选的实施方式,能够对面法向量与第一维方向的第一夹角小于第一角度阈值的候选构件面进行删除,从而能够对近乎平行于二维平面的构件面进行删除,这些构件面大部分在投影后仅会被包括在最终形成的投影多边形中,对这些构件面的删除,可以有效减少模型简化的运算数据量,且其不会影响最终的简化效果。
140.作为一种可选的实施方式,上述步骤103中的,对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合之后,该方法还包括:
141.筛选出任一二维投影集合中的至少一个交集多边形集合,其中,交集多边形集合中包括有多个相互之间存在交集的投影多边形;
142.将任一交集多边形集合中的所有投影多边形进行融合,以得到该交集多边形集合
对应的融合多边形;
143.将该二维投影集合对应的所有交集多边形集合对应的所有融合多边形,确定为该二维投影集合对应的融合多边形集合。
144.可选的,可以根据多边形融合算法,将任一交集多边形集合中的所有投影多边形进行融合得到一个多边形,以得到该交集多边形集合对应的融合多边形,具体的,融合的步骤可以包括:
145.判断交集多边形集合中的所有投影多边形的交集部分;
146.除保留一个投影多边形的交集部分外,删除其他所有投影多边形的交集部分;
147.对进行删除后的所有投影多边形进行组合,得到该交集多边形集合对应的融合多边形。
148.可选的,可以对任一交集多边形集合中的所有投影多边形进行递归融合,也即重复进行上述步骤,以达到最好的融合效果。
149.可选的,在进行投影多边形的融合时,为避免部分多边形之间因精度问题或误差原因不能正确融合,可以在融合前或判断交集前,根据多边形扩展算法,对所有投影多边形做预设大小范围内的向外扩充,以让后续融合的步骤中,可以允许尽量多的多边形能够融合起来。
150.可见,通过实施该可选的实施方式,能够将二维投影集合中的存在交集的投影多边形进行融合,以得到融合多边形,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
151.作为一种可选的实施方式,上述步骤103中的,对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合之后,该方法还包括:
152.筛选出任一二维投影集合中的内部多边形;
153.对该二维投影集合中的内部多边形进行删除。
154.具体的,内部多边形为被完全包括在任一其他多边形内的多边形,可选的,多边形可以为投影多边形或融合多边形。
155.可选的,上述步骤的执行,可以在上面的实施方式的融合多边形步骤的之前和/或之后执行,其可以针对融合前的投影多边形和/或融合后的融合多边形进行,本发明不做限定。
156.可见,通过实施该可选的实施方式,能够将二维投影集合中的存在包含关系的内部多边形进行删除,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
157.作为一种可选的实施方式,上述步骤103中的,对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合之后,该方法还包括:
158.筛选出任一二维投影集合中的小面积多边形;
159.对该二维投影集合中的多边形进行删除。
160.具体的,小面积多边形为面积小于预设的面积阈值的多边形,可选的,多边形可以为投影多边形或融合多边形。
161.可选的,上述步骤的执行,可以在上面的实施方式的融合多边形步骤的之前和/或之后执行,其可以针对融合前的投影多边形和/或融合后的融合多边形进行,本发明不做限定。
162.可见,通过实施该可选的实施方式,能够将二维投影集合中的面积小于预设阈值的多边形进行删除,从而能够对面积较小的不重要的构件面的投影进行删除,排除无关小构件的干扰,进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
163.作为一种可选的实施方式,上述步骤103中的,对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合之后,该方法还包括:
164.对于任一二维投影集合中的任一多边形,删除该多边形中符合预设的多余顶点规则的顶点。
165.可选的,多边形可以为投影多边形或融合多边形。
166.可选的,上述步骤的执行,可以在上面的实施方式的融合多边形步骤的之前和/或之后执行,其可以针对融合前的投影多边形和/或融合后的融合多边形进行,本发明不做限定。
167.可见,通过实施该可选的实施方式,能够删除该多边形中符合预设的多余顶点规则的顶点,从而能够对多余顶点进行删除,进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
168.作为一种可选的实施方式,上述步骤中的,对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点,包括:
169.对于任一二维投影集合中的任一多边形,确定该多边形中重叠的多个顶点;
170.对重叠的多个顶点中除保留的一个顶点以外的所有其他顶点进行删除。
171.可见,通过实施该可选的实施方式,能够删除该多边形中重叠的顶点,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
172.作为一种可选的实施方式,上述步骤中的,对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点,包括:
173.对于任一二维投影集合中的任一多边形,确定该多边形中的至少一个靠近顶点集合,其中,靠近顶点集合包括两个相互之间的距离小于预设的距离阈值的顶点;
174.对任一靠近顶点集合中的一个顶点进行删除。
175.可选的,在删除了其中一个顶点后,剩余的顶点会自动与距离最近的顶点通过直线进行连接以补全多边形。
176.可见,通过实施该可选的实施方式,能够删除该多边形中距离过近的顶点,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
177.作为一种可选的实施方式,上述步骤中的,对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点,包括:
178.对于任一二维投影集合中的任一多边形,确定该多边形中的至少一个共线顶点集
boundingbox),包围球(sphere),方向包围盒obb(oriented bounding box)或固定方向凸包fdh(fixed directions hulls或k-dop),本发明不作具体的限定。优选的,目标三维模型的包围盒可以选择aabb包围盒或包围球,因为这些包围盒类型的几何中心较易计算,可以有效减少运算量。
197.206、确定包围盒的几何中心的中心坐标值。
198.可选的,确定包围盒的几何中心可以通过几何中心确定算法来确定,例如,aabb包围盒已经是常见的长方形包围盒算法,可以通过计算其至少两条对角线的交点来确定其几何中心。
199.可选的,中心坐标值至少包括有在第一维方向、第二维方向和第三维方向这三个方向上的坐标值。
200.207、将简化模型中任一模型坐标减去中心坐标值,得到简化模型对应的多个简化模型坐标。
201.可选的,简化模型中任一模型坐标,可以为简化模型中任一二维投影集合中的多边形的任一点的坐标,同样,模型坐标至少包括有在第一维方向、第二维方向和第三维方向这三个方向上的坐标值。可选的,将任一模型坐标减去中心坐标值,可以为将两者在至少一个维度方向上的对应的两个坐标值进行相减,以得到简化模型坐标。优选的,可以将两者在三个维度方向(第一维方向、第二维方向和第三维方向)上的对应的两个坐标值进行相减,以得到简化模型坐标。
202.可选的,本实施例的其中一个目的在于对模型的坐标进行简化,因此,将简化模型中任一模型坐标减去中心坐标值,得到简化模型对应的多个简化模型坐标,可以包括:
203.计算简化模型中的所有模型坐标在任一维度方向上的平均坐标值;
204.从第一维方向、第二维方向和第三维方向中筛选出平均坐标值最大或平均坐标值大于预设的坐标值阈值的维度方向作为目标维度方向;
205.将简化模型中任一模型坐标在目标维度方向上的坐标值减去中心坐标值在目标维度方向上的坐标值,得到简化模型对应的多个简化模型坐标。
206.可选的,坐标值阈值可以由操作人员根据实验值或经验值进行确定,并可以根据实际操作中的效果进行调整,以得到最好的判断效果。
207.通过上述步骤,可以实现对实际坐标值较大或大于标准值的维度方向进行坐标值简化,可以更加精确地对坐标值进行简化。
208.208、将多个简化模型坐标和中心坐标值,保存为简化模型的坐标数据。
209.可选的,可以将简化模型坐标替换简化模型中的原有模型坐标,并将中心坐标值作为参考值进行保存,或同时,将中心坐标值与简化模型的模型坐标进行相减的方式进行保存,这样设置的原因是在于,在后续需要对目标三维模型的真实坐标进行还原时,可以直接将中心坐标值和/或相减方式作为参考进行坐标还原。
210.本发明实施例的目的之一在于,现有技术中,在进行三维模型的数据处理时,由于基点坐标选择不当的原因,三维模型的实际坐标值会变得很大,此时常用的图形引擎对模型进行加载时会有很明显的闪烁及错位现象,因此本发明实施例提出了进一步的改进方案,由上可见,本发明实施例根据整体模型的包围盒的几何中心重新确定参考坐标原点,并通过坐标相减的方式有效降低模型中的坐标值,从而可以进一步对模型的复杂度进行简
化,有效提高模型的运算效率,减少模型展示或运算的出错。
211.实施例三
212.请参阅图3,图3是本发明实施例公开的一种三维模型简化装置的结构示意图。其中,图3所描述的三维模型简化装置可以应用于三维数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图3所示,该三维模型简化装置可以包括:
213.模型获取模块301,用于获取欲简化的目标三维模型。
214.可选的,目标三维模型可以为用于表征不同领域的不同实体的三维模型,例如其可以为用于表征建筑领域的建筑物的bim三维模型,也可以为用于表现艺术领域的动画角色或拟真角色的三维模型,本发明不做限定。
215.可选的,目标三维模型的模型数据格式可以为3ds、max、fbx、obj、mtl、blend、c4d、dae、gltf或glb,本发明不作穷举,应当能够理解,任何可以执行本发明所述的模型简化方法的模型数据格式,都应被认为包括在本发明的保护范围之内。
216.可选的,目标三维模型的获取,可以为响应于操作人员的操作而访问任一硬件储存位置进行获取,也可以为接收设备端或软件端发送的信息而获取,还可以为根据设置的自动程序自动生成获取指令进行获取,本发明不做限定。
217.构件确定模块302,用于确定目标三维模型中处于多个不同的模型区域的多个三维构件。
218.可选的,模型区域用于表征目标三维模型中的在不同维度上的特定区域,例如其具体可以用于表示目标三维模型中的在高度维度上,例如第一维方向上的不同坐标值区间上,的特定区域,此时不同模型区域用于表示目标三维模型的不同高度,在一些实际的应用场景中,例如建筑领域,其可以用于表示建筑物的不同楼层区域。又例如,模型区域可以具体可以用于表示目标三维模型中的在人体结构维度上的特定区域,此时不同模型区域用于表示目标三维模型的不同结构区域,在一些实际的应用场景中,例如绘画艺术领域,其可以用于表示人体的不同生理结构区域,如四肢区域或躯干区域等。又例如,模型区域可以具体可以用于表示目标三维模型中的在功能维度上的特定区域,此时不同模型区域用于表示目标三维模型的不同功能区域,在一些实际的应用场景中,例如室内领域,其可以用于表示家居空间的不同生活区域,如客厅区域或厨房区域等。
219.可选的,确定目标三维模型中处于多个不同的模型区域的多个三维构件的方式,可以为:
220.获取目标三维模型对应的区域划分信息;
221.对于目标三维模型中的任一三维构件,确定该三维构件对应的构件包围盒;
222.确定构件包围盒的盒坐标信息;
223.根据盒坐标信息和区域划分信息,确定该三维构件对应的模型区域。
224.可选的,区域划分信息可以用于表示目标三维模型的不同模型区域在至少一个维度方向上的不同坐标值区间,该维度方向可以为第一维方向、第二维方向或第三维方向。可选的,可以判断盒坐标是否处于区域划分信息中目标三维模型的任一模型区域在至少一个维度方向上的坐标值区间内,若是,则判断该三维构件对应于该模型区域。在一个具体的实施方案中,当模型区域用于表征建筑物的不同高度区域时,区域划分信息可以用于表示目
标三维模型的不同模型区域在第一维方向上的不同坐标值区间(此时暂定第一维方向为高度维度方向),此时可以根据构件包围盒的盒坐标,判断构件包围盒是否与任一坐标值区间存在被包含或交集的关系,若是,则确定该构件包围盒对应的三维构件对应于该坐标值区间对应的模型区域(模型高度)。
225.可选的,构件包围盒可以为aabb包围盒(axis-aligned bounding box),包围球(sphere),方向包围盒obb(oriented bounding box)或固定方向凸包fdh(fixed directions hulls或k-dop),本发明不作具体的限定。
226.构件投影模块303,用于对目标三维模型中多个模型区域中的三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成三维构件对应的二维投影集合。
227.可选的,目标三维模型所在的坐标系至少包括上述第一维方向、第二维方向和第三维方向这三个维度,可选的,其也可以存于包括更多维度的坐标系中。在一些具体的实施方案中,当目标三维模型所在的坐标系为常见的xyz坐标系时,第一维方向、第二维方向和第三维方向可以分别为x轴方向、y轴方向和z轴方向中的一种。具体的,由于在进行二维投影时,沿高度方向朝向平面方向进行投影是较为常见的做法,因此第一维方向为z轴方向,第二维方向和第三维方向组成的二维平面是xy轴平面是较为优选的做法,但其他选择或做法能够得到相同效果的,也并不被排除出本发明的保护范围。
228.可选的,对三维构件进行投影以得到二维投影集合的方式,除了下面实施方式中所述的遍历构件面进行投影的方式,也可以直接对三维构件整体上进行投影以得到二维投影集合。
229.模型确定模块304,用于将多个模型区域对应的二维投影集合,确定为目标三维模型对应的简化模型。
230.可选的,可以将二维投影集合与对应的模型区域之间建立关联关系,并将二维投影集合和该关联关系进行输出,得到目标三维模型对应的简化模型。后续,在处理该简化模型时,例如对该简化模型中的二维投影集合进行三角化以得到立体化的简化模型时,其可以直接根据关联关系还原特定三维构件所在的模型区域,从而可以更快速地对模型进行还原,尽量减少简化模型丢失的数据。
231.可见,上述发明实施例能够通过对不同模型区域中的三维构件进行二维投影,以得到该区域上的构件的二维投影集合,从而在保留了模型的边缘特征的同时大大减少了模型的数据量,进而能够在后续进行模型运算时减少数据的运算量,提高运算效率。
232.作为一种可选的实施方式,二维投影集合包括三维构件的至少一个构件面在二维平面上的投影多边形,如图4所示,构件投影模块303包括:
233.构件面确定单元3031,用于对于目标三维模型中多个模型区域中的任一三维构件,确定该三维构件的至少一个构件面;
234.构件面投影单元3032,用于对于任一构件面,将该构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在二维平面上的投影多边形;
235.集合确定单元3033,用于将该三维构件对应的所有构件面对应的投影多边形,确定为该三维构件对应的二维投影集合。
236.可选的,构件面确定单元3031确定该三维构件的至少一个构件面的方式,可以为遍历该三维构件的所有构件面,并从所有构件面中确定出至少一个需要用来投影的构件面。
237.可见,通过实施该可选的实施方式,能够对任一三维构件的构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在二维平面上的投影多边形,从而能够在对模型进行简化的同时,更好地保留了三维构件的边缘特征。
238.作为一种可选的实施方式,构件面确定单元3032确定该三维构件的至少一个构件面的具体方式,包括:
239.遍历该三维构件的所有面,得到该三维构件的多个候选构件面;
240.判断任一候选构件面的面法向量与第一维方向的第一夹角是否小于预设的第一角度阈值,若是,则将该候选构件面剔除;
241.根据该三维构件进行剔除后的剩余的所有候选构件面,确定该三维构件的至少一个构件面。
242.可选的,该第一角度阈值可以由操作人员根据实验值或经验值进行确定,并可以根据实际操作中的效果进行调整,以得到最好的判断效果。
243.可见,通过实施该可选的实施方式,能够对面法向量与第一维方向的第一夹角小于第一角度阈值的候选构件面进行删除,从而能够对近乎平行于二维平面的构件面进行删除,这些构件面大部分在投影后仅会被包括在最终形成的投影多边形中,对这些构件面的删除,可以有效减少模型简化的运算数据量,且其不会影响最终的简化效果。
244.作为一种可选的实施方式,如图4所示,该装置还包括融合模块305,用于执行以下步骤:
245.筛选出任一二维投影集合中的至少一个交集多边形集合,其中,交集多边形集合中包括有多个相互之间存在交集的投影多边形;
246.将任一交集多边形集合中的所有投影多边形进行融合,以得到该交集多边形集合对应的融合多边形;
247.将该二维投影集合对应的所有交集多边形集合对应的所有融合多边形,确定为该二维投影集合对应的融合多边形集合。
248.可选的,可以根据多边形融合算法,将任一交集多边形集合中的所有投影多边形进行融合得到一个多边形,以得到该交集多边形集合对应的融合多边形,具体的,融合的步骤可以包括:
249.判断交集多边形集合中的所有投影多边形的交集部分;
250.除保留一个投影多边形的交集部分外,删除其他所有投影多边形的交集部分;
251.对进行删除后的所有投影多边形进行组合,得到该交集多边形集合对应的融合多边形。
252.可选的,可以对任一交集多边形集合中的所有投影多边形进行递归融合,也即重复进行上述步骤,以达到最好的融合效果。
253.可选的,在进行投影多边形的融合时,为避免部分多边形之间因精度问题或误差原因不能正确融合,可以在融合前或判断交集前,根据多边形扩展算法,对所有投影多边形
做预设大小范围内的向外扩充,以让后续融合的步骤中,可以允许尽量多的多边形能够融合起来。
254.可见,通过实施该可选的实施方式,能够将二维投影集合中的存在交集的投影多边形进行融合,以得到融合多边形,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
255.作为一种可选的实施方式,如图4所示,该装置还包括多边形简化模块306,用于执行以下步骤:
256.筛选出任一二维投影集合中的内部多边形;
257.对该二维投影集合中的内部多边形进行删除。
258.具体的,内部多边形为被完全包括在任一其他多边形内的多边形,可选的,多边形可以为投影多边形或融合多边形。
259.可选的,上述步骤的执行,可以在上面的实施方式的融合多边形步骤的之前和/或之后执行,其可以针对融合前的投影多边形和/或融合后的融合多边形进行,本发明不做限定。
260.可见,通过实施该可选的实施方式,能够将二维投影集合中的存在包含关系的内部多边形进行删除,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
261.作为一种可选的实施方式,多边形简化模块306还用于执行以下步骤:
262.筛选出任一二维投影集合中的小面积多边形;
263.对该二维投影集合中的多边形进行删除。
264.具体的,小面积多边形为面积小于预设的面积阈值的多边形,可选的,多边形可以为投影多边形或融合多边形。
265.可选的,上述步骤的执行,可以在上面的实施方式的融合多边形步骤的之前和/或之后执行,其可以针对融合前的投影多边形和/或融合后的融合多边形进行,本发明不做限定。
266.可见,通过实施该可选的实施方式,能够将二维投影集合中的面积小于预设阈值的多边形进行删除,从而能够对面积较小的不重要的构件面的投影进行删除,排除无关小构件的干扰,进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
267.作为一种可选的实施方式,多边形简化模块306还用于执行以下步骤:
268.对于任一二维投影集合中的任一多边形,删除该多边形中符合预设的多余顶点规则的顶点。
269.可选的,多边形可以为投影多边形或融合多边形。
270.可选的,上述步骤的执行,可以在上面的实施方式的融合多边形步骤的之前和/或之后执行,其可以针对融合前的投影多边形和/或融合后的融合多边形进行,本发明不做限定。
271.可见,通过实施该可选的实施方式,能够删除该多边形中符合预设的多余顶点规则的顶点,从而能够对多余顶点进行删除,进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
272.作为一种可选的实施方式,多边形简化模块306对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点的具体方式,包括:
273.对于任一二维投影集合中的任一多边形,确定该多边形中重叠的多个顶点;
274.对重叠的多个顶点中除保留的一个顶点以外的所有其他顶点进行删除。
275.可见,通过实施该可选的实施方式,能够删除该多边形中重叠的顶点,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
276.作为一种可选的实施方式,多边形简化模块306对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点的具体方式,包括:
277.对于任一二维投影集合中的任一多边形,确定该多边形中的至少一个靠近顶点集合,其中,靠近顶点集合包括两个相互之间的距离小于预设的距离阈值的顶点;
278.对任一靠近顶点集合中的一个顶点进行删除。
279.可选的,在删除了其中一个顶点后,剩余的顶点会自动与距离最近的顶点通过直线进行连接以补全多边形。
280.可见,通过实施该可选的实施方式,能够删除该多边形中距离过近的顶点,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
281.作为一种可选的实施方式,多边形简化模块306对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点的具体方式,包括:
282.对于任一二维投影集合中的任一多边形,确定该多边形中的至少一个共线顶点集合,其中,共线顶点集合包括处在同一线上的至少三个顶点;
283.对任一共线顶点集合中除相互之间的距离最大的两个顶点以外的所有其他顶点进行删除。
284.可见,通过实施该可选的实施方式,能够删除该多边形中共线的多余顶点,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
285.作为一种可选的实施方式,多边形简化模块306对于任一二维投影集合中的任一多边形,删除该多边形的符合预设的多余顶点规则的顶点的具体方式,包括:
286.对于任一二维投影集合中的任一多边形,确定该多边形中的至少一个伪共线顶点集合,其中,伪共线顶点集合包括相互之间形成的两条交叉线段的三个顶点,具体的,两条交叉线段的第二夹角小于第二角度阈值;
287.对任一伪共线顶点集合中位于第二夹角的夹角顶点处的顶点进行删除。
288.可选的,该第二角度阈值可以由操作人员根据实验值或经验值进行确定,并可以根据实际操作中的效果进行调整,以得到最好的判断效果。
289.可选的,可选的,在位于第二夹角的夹角顶点处的顶点后,剩余的两个顶点会通过直线进行连接以补全多边形。
290.可见,通过实施该可选的实施方式,能够删除该多边形中近乎共线或形成了可忽略的尖锐凸起的多余顶点,从而进一步对模型的复杂度进行简化,并在有效保留三维构件的最外缘的特征的同时最大程度减少数据量。
291.作为一种可选的实施方式,如图4所示,该装置还包括坐标简化模块307,用于执行以下步骤:
292.确定目标三维模型的包围盒;
293.确定包围盒的几何中心的中心坐标值;
294.将简化模型中任一模型坐标减去中心坐标值,得到简化模型对应的多个简化模型坐标;
295.将多个简化模型坐标和中心坐标值,保存为简化模型的坐标数据。
296.可选的,目标三维模型的包围盒可以为aabb包围盒(axis-aligned boundingbox),包围球(sphere),方向包围盒obb(oriented bounding box)或固定方向凸包fdh(fixed directions hulls或k-dop),本发明不作具体的限定。优选的,目标三维模型的包围盒可以选择aabb包围盒或包围球,因为这些包围盒类型的几何中心较易计算,可以有效减少运算量。
297.可选的,确定包围盒的几何中心可以通过几何中心确定算法来确定,例如,aabb包围盒已经是常见的长方形包围盒算法,可以通过计算其至少两条对角线的交点来确定其几何中心。
298.可选的,中心坐标值至少包括有在第一维方向、第二维方向和第三维方向这三个方向上的坐标值。
299.可选的,简化模型中任一模型坐标,可以为简化模型中任一二维投影集合中的多边形的任一点的坐标,同样,模型坐标至少包括有在第一维方向、第二维方向和第三维方向这三个方向上的坐标值。可选的,将任一模型坐标减去中心坐标值,可以为将两者在至少一个维度方向上的对应的两个坐标值进行相减,以得到简化模型坐标。优选的,可以将两者在三个维度方向(第一维方向、第二维方向和第三维方向)上的对应的两个坐标值进行相减,以得到简化模型坐标。
300.可选的,本实施方式的其中一个目的在于对模型的坐标进行简化,因此,将简化模型中任一模型坐标减去中心坐标值,得到简化模型对应的多个简化模型坐标,可以包括:
301.计算简化模型中的所有模型坐标在任一维度方向上的平均坐标值;
302.从第一维方向、第二维方向和第三维方向中筛选出平均坐标值最大或平均坐标值大于预设的坐标值阈值的维度方向作为目标维度方向;
303.将简化模型中任一模型坐标在目标维度方向上的坐标值减去中心坐标值在目标维度方向上的坐标值,得到简化模型对应的多个简化模型坐标。
304.可选的,坐标值阈值可以由操作人员根据实验值或经验值进行确定,并可以根据实际操作中的效果进行调整,以得到最好的判断效果。
305.通过上述步骤,可以实现对实际坐标值较大或大于标准值的维度方向进行坐标值简化,可以更加精确地对坐标值进行简化。
306.可选的,可以将简化模型坐标替换简化模型中的原有模型坐标,并将中心坐标值作为参考值进行保存,或同时,将中心坐标值与简化模型的模型坐标进行相减的方式进行保存,这样设置的原因是在于,在后续需要对目标三维模型的真实坐标进行还原时,可以直接将中心坐标值和/或相减方式作为参考进行坐标还原。
307.本实施方式的目的之一在于,现有技术中,在进行三维模型的数据处理时,由于基
点坐标选择不当的原因,三维模型的实际坐标值会变得很大,此时常用的图形引擎对模型进行加载时会有很明显的闪烁及错位现象,因此本发明实施例提出了进一步的改进方案,由上可见,本发明实施例根据整体模型的包围盒的几何中心重新确定参考坐标原点,并通过坐标相减的方式有效降低模型中的坐标值,从而可以进一步对模型的复杂度进行简化,有效提高模型的运算效率,减少模型展示或运算的出错。
308.实施例四
309.请参阅图5,图5是本发明实施例公开的又一种三维模型简化装置。图5所描述的三维模型简化装置可以应用于三维数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图5所示,该三维模型简化装置可以包括:
310.存储有可执行程序代码的存储器401;
311.与存储器401耦合的处理器402;
312.其中,处理器402调用存储器401中存储的可执行程序代码,用于执行实施例一或实施例二所描述的三维模型简化方法的步骤。
313.实施例五
314.本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的三维模型简化方法的步骤。
315.实施例六
316.本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的三维模型简化方法的步骤。
317.上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
318.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
319.本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
320.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specificintegrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchippic18f26k20以及silicone labs c8051f320,存储器控制
器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
321.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
322.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
323.本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
324.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
325.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
326.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
327.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
328.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
329.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
330.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
331.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
332.最后应说明的是:本发明实施例公开的一种三维模型简化方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。

技术特征:
1.一种三维模型简化方法,其特征在于,所述方法包括:获取欲简化的目标三维模型;确定所述目标三维模型中处于多个不同的模型区域的多个三维构件;对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合;将多个所述模型区域对应的所述二维投影集合,确定为所述目标三维模型对应的简化模型。2.根据权利要求1所述的三维模型简化方法,其特征在于,所述二维投影集合包括所述三维构件的至少一个构件面在所述二维平面上的投影多边形;所述对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合,包括:对于所述目标三维模型中多个所述模型区域中的任一三维构件,确定该三维构件的至少一个构件面;对于任一所述构件面,将该构件面沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以得到该构件面对应的在所述二维平面上的投影多边形;将该三维构件对应的所有所述构件面对应的所述投影多边形,确定为该三维构件对应的二维投影集合。3.根据权利要求2所述的三维模型简化方法,其特征在于,所述确定该三维构件的至少一个构件面,包括:遍历该三维构件的所有面,得到该三维构件的多个候选构件面;判断任一所述候选构件面的面法向量与所述第一维方向的第一夹角是否小于预设的第一角度阈值,若是,则将该候选构件面剔除;根据该三维构件进行所述剔除后的剩余的所有候选构件面,确定该三维构件的至少一个构件面。4.根据权利要求2所述的三维模型简化方法,其特征在于,所述对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合之后,所述方法还包括:筛选出任一所述二维投影集合中的至少一个交集多边形集合;所述交集多边形集合中包括有多个相互之间存在交集的所述投影多边形;将任一所述交集多边形集合中的所有所述投影多边形进行融合,以得到该交集多边形集合对应的融合多边形;将该二维投影集合对应的所有所述交集多边形集合对应的所有所述融合多边形,确定为该二维投影集合对应的融合多边形集合。5.根据权利要求4所述的三维模型简化方法,其特征在于,所述对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合之后,所述方法还包括:筛选出任一所述二维投影集合中的内部多边形;所述内部多边形为被完全包括在任一其他多边形内的多边形;所述多边形为所述投影多边形或所述融合多边形;
对该二维投影集合中的所述内部多边形进行删除;和/或,筛选出任一所述二维投影集合中的小面积多边形;所述小面积多边形为面积小于预设的面积阈值的所述多边形;对该二维投影集合中的所述多边形进行删除;和/或,对于任一所述二维投影集合中的任一所述多边形,删除该多边形中符合预设的多余顶点规则的顶点。6.根据权利要求5所述的三维模型简化方法,其特征在于,所述对于任一所述二维投影集合中的任一所述多边形,删除该多边形的符合预设的多余顶点规则的顶点,包括:对于任一所述二维投影集合中的任一所述多边形,确定该多边形中重叠的多个顶点;对所述重叠的多个顶点中除保留的一个顶点以外的所有其他顶点进行删除;和/或,对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个靠近顶点集合;所述靠近顶点集合包括两个相互之间的距离小于预设的距离阈值的顶点;对任一所述靠近顶点集合中的一个顶点进行删除;和/或,对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个共线顶点集合;所述共线顶点集合包括处在同一线上的至少三个顶点;对任一所述共线顶点集合中除相互之间的距离最大的两个顶点以外的所有其他顶点进行删除;和/或,对于任一所述二维投影集合中的任一所述多边形,确定该多边形中的至少一个伪共线顶点集合;所述伪共线顶点集合包括相互之间形成的两条交叉线段的三个顶点;所述两条交叉线段的第二夹角小于第二角度阈值;对任一所述伪共线顶点集合中位于所述第二夹角的夹角顶点处的顶点进行删除。7.根据权利要求1所述的三维模型简化方法,其特征在于,所述方法还包括:确定所述目标三维模型的包围盒;确定所述包围盒的几何中心的中心坐标值;将所述简化模型中任一模型坐标减去所述中心坐标值,得到所述简化模型对应的多个简化模型坐标;将所述多个简化模型坐标和所述中心坐标值,保存为所述简化模型的坐标数据。8.一种三维模型简化装置,其特征在于,所述装置包括:模型获取模块,用于获取欲简化的目标三维模型;构件确定模块,用于确定所述目标三维模型中处于多个不同的模型区域的多个三维构件;构件投影模块,用于对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合;
模型确定模块,用于将多个所述模型区域对应的所述二维投影集合,确定为所述目标三维模型对应的简化模型。9.一种三维模型简化装置,其特征在于,所述装置包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-7任一项所述的三维模型简化方法。10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-7任一项所述的三维模型简化方法。

技术总结
本发明公开了一种三维模型简化方法及装置,该方法包括:获取欲简化的目标三维模型;确定所述目标三维模型中处于多个不同的模型区域的多个三维构件;对所述目标三维模型中多个所述模型区域中的所述三维构件,沿第一维方向朝向由第二维方向和第三维方向组成的二维平面进行投影,以形成所述三维构件对应的二维投影集合;将多个所述模型区域对应的所述二维投影集合,确定为所述目标三维模型对应的简化模型。可见,本发明能够通过对不同模型区域中的三维构件进行二维投影,以得到该区域上的构件的二维投影集合,从而在保留了模型的边缘特征的同时大大减少了模型的数据量,进而能够在后续进行模型运算时减少数据的运算量,提高运算效率。效率。效率。


技术研发人员:武腾 李文浩
受保护的技术使用者:广东博智林机器人有限公司
技术研发日:2022.04.08
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-12146.html

最新回复(0)