发明内容
有鉴于此,本发明实施例提供一种三维模型数据的处理方法、装置、电子设备及存储介质,有利于提高三维模型的渲染速度。
第一方面,本发明实施例提供一种三维模型数据的处理方法,包括:获取三维空间中的多个三维模型;提取所述多个三维模型的轮廓关键点的三维坐标值;将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理,分别得到对应的二维坐标值;其中,每个所述三维模型降维处理后得到的二维坐标值所确定的点的连线围成封闭的二维几何图形;在确定一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形的情况下,将包含的封闭几何图形的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第一修剪后的关键点坐标值;或在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;将所述第一修剪后的关键点坐标值或第二修剪后的关键点坐标值,按照与所述降维处理的同一维度方向进行升维处理,得到整理后的关键点坐标值;其中,针对每一关键点坐标值,进行所述升维处理的升维维度值,与进行所述降维处理的降维维度值相等。
结合第一方面,在第一方面的第一种实施方式中,所述一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形包括:若一个三维模型降维处理后得到的二维几何图形中,存在一封闭几何图形的所有顶点包含在所述二维几何图形中,则确定所述二维几何图形中,包含有封闭的几何图形。
结合第一方面,在第一方面的第二种实施方式中,所述三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线,包括:若至少两个三维模型降维处理后得到的二维几何图形的轮廓边线上,存在至少两个相邻的重合关键点,则确定所述二维几何图形之间有重合的轮廓边线;其中,所述至少两个相邻的重合关键点的连线为重合的轮廓边线。
结合第一方面,在第一方面的第三种实施方式中,所述在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值,包括:若三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线,则将重合的轮廓边线中的第一轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;其中,在重合的轮廓边线中,所述第一轮廓边线为进行所述降维处理时降维维度值最小的轮廓边线。
结合第一方面或第一方面的第一种至第三种实施方式中任一种,在第一方面的第四种实施方式中,在所述提取所述多个三维模型的轮廓关键点的三维坐标值之后,在所述将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理之前,所述方法还包括:根据所述多个三维模型的轮廓关键点的三维坐标值,查找所述多个三维模型中统一存在的维度方向。
结合第一方面或第一方面的第一种至第三种实施方式中任一种,在第一方面的第五实施方式中,在所述得到整理后的关键点坐标值之后,所述方法还包括:将所述多个三维模型的轮廓关键点的坐标值,以及所述整理后的关键点坐标值进行保存,以根据所述多个三维模型的轮廓关键点的坐标值建立目标三维模型的顶面图形,根据所述整理后的关键点坐标值建立所述目标三维模型的侧面图形。
第二方面,本发明的实施例还提供一种三维模型数据的处理装置,包括:获取单元,用于获取三维空间中的多个三维模型;提取单元,用于提取所述多个三维模型的轮廓关键点的三维坐标值;降维单元,用于将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理,分别得到对应的二维坐标值;其中,每个所述三维模型降维处理后得到的二维坐标值所确定的点的连线围成封闭的二维几何图形;第一删除单元,用于在确定一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形的情况下,将包含的封闭几何图形的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第一修剪后的关键点坐标值;或第二删除单元,用于在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;升维单元,用于将所述第一修剪后的关键点坐标值或第二修剪后的关键点坐标值,按照与所述降维处理的同一维度方向进行升维处理,得到整理后的关键点坐标值;其中,针对每一关键点坐标值,进行所述升维处理的升维维度值,与进行所述降维处理的降维维度值相等。
结合第二方面,在第二方面的第一种实施方式中,所述装置还包括第一确定单元,用于:若一个三维模型降维处理后得到的二维几何图形中,存在一封闭几何图形的所有顶点包含在所述二维几何图形中,则确定所述二维几何图形中,包含有封闭的几何图形。
结合第二方面,在第二方面的第二种实施方式中,所述装置还包括第二确定单元,用于:若至少两个三维模型降维处理后得到的二维几何图形的轮廓边线上,存在至少两个相邻的重合关键点,则确定所述二维几何图形之间有重合的轮廓边线;其中,所述至少两个相邻的重合关键点的连线为重合的轮廓边线。
结合第二方面,在第二方面的第三种实施方式中,所述第二删除单元,具体用于:若三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线,则将重合的轮廓边线中的第一轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;其中,在重合的轮廓边线中,所述第一轮廓边线为进行所述降维处理时降维维度值最小的轮廓边线。
结合第二方面或第二方面的第一至第三种实施方式中任一种,在第二方面的第四种实施方式中,所述装置还包括查找单元,用于在所述提取所述多个三维模型的轮廓关键点的三维坐标值之后,在所述将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理之前,根据所述多个三维模型的轮廓关键点的三维坐标值,查找所述多个三维模型中统一存在的维度方向。
结合第二方面或第二方面的第一至第三种实施方式中任一种,在第二方面的第五种实施方式中,所述装置还包括存储单元,用于在所述得到整理后的关键点坐标值之后,将所述多个三维模型的轮廓关键点的坐标值,以及所述整理后的关键点坐标值进行保存,以根据所述多个三维模型的轮廓关键点的坐标值建立目标三维模型的顶面图形,根据所述整理后的关键点坐标值建立所述目标三维模型的侧面图形。
第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明实施例提供的任一种三维模型数据的处理方法。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种三维模型数据的处理方法。
本发明的实施例提供的三维模型数据的处理方法、装置、电子设备及存储介质,能够通过对三维模型数据进行降维处理,找出三维模型之间因为彼此遮挡而无需展现的部分,并将这部分对应的数据删除,然后通过相应的升维处理,还原三维模型的外在可见部分,从而在不影响三维模型外观展示的条件下有效减少了数据量,大大节约系统资源,有利于提高三维模型的渲染速度。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种三维模型数据的处理方法,能够在不影响三维模型外观展示的条件下有效减少数据量,节约系统资源,从而提高渲染速度。
图1为本发明的实施例提供的三维模型数据的处理方法的一种流程图。如图1所示,本实施例中的三维模型数据的处理方法可包括:
S11,获取三维空间中的多个三维模型;
具体的,三维空间中可以存在多个三维模型,这些三维模型彼此之间的相对位置固定不变,因此又可以称为三维静态模型。在本发明实施例的三维模型数据的处理中,可以涉及到空间中的多个三维模型,为了叙述简便,在本发明的一个实施例中,可以以这多个三维模型中的任意两个三维模型--第一三维模型和第二三维模型为例进行说明。在处理更多的三维模型中的数据时,既可以按照处理两个三维模型的方法来同时处理更多的三维模型数据,也可以对多个三维模型中的每两个三维模型都进行类似的处理,本发明的实施例对此不做限定。
S12,提取所述多个三维模型的轮廓关键点的三维坐标值;
本步骤中,三维空间中的每个三维模型都是由若干个轮廓关键点按照预设规则连接成模型的轮廓线,再由多条轮廓线围成。对三维模型进行展示,也就是将外层轮廓线撑起的表面渲染显示出来。因此,在对轮廓关键点的三维坐标值进行提取时,还应该记录下各坐标点之间的约束条件,例如各坐标点如何形成轮廓线和轮廓面等的情况。
S13,将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理,分别得到对应的二维坐标值;其中,每个所述三维模型降维处理后得到的二维坐标值所确定的点的连线围成封闭的二维几何图形;
在同一维度方向上进行降维处理,也就是将多个三维模型的轮廓关键点的三维坐标值的同一个维度的坐标分量删除,由原来的三维降低成二维。从几何效果上看,相当于沿着该同一维度方向对这些三维模型进行投影,在平面上形成相应的封闭的二维几何图形。
例如,在本发明的一个实施例中,第一三维模型和第二三维模型是多个三维模型中的任意两个,进行降维处理后,第一三维模型的轮廓关键点的三维坐标对应形成第一二维坐标值,第二三维模型的轮廓关键点的三维坐标对应形成第二二维坐标值。其中,第一二维坐标值之间的连线可以围成封闭的第一二维几何图形,第二二维坐标值之间的连线可以围成封闭的第二二维几何图形。
降维处理的原理可以通过举例说明。在本发明的一个实施例中,第一三维模型中的一个轮廓关键点A3的坐标值为A3(12,5,30),第二三维模型中的一个轮廓关键点B3的坐标值为B3(4,15,40),则进行降维处理,例如将最后一个坐标分量去掉后,得到的第一二维坐标值为A2(12,5),第二二维坐标值B2(4,15)。
S14,在确定一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形的情况下,将包含的封闭几何图形的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第一修剪后的关键点坐标值;或在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;
由于各三维模型之间的相对位置可能存在多种,例如一些三维模型之间的相对位置关系可能是彼此间隔分离的,一些三维模型之间的相对位置关系可能是彼此相邻抵靠的,而另一些三维模型之间的相对位置关系也可能是一个三维模型包含于另一个三维模型中。通过步骤S13中的降维处理后,三维模型之间不同的相对位置也会导致二维几何图形相对位置的不同,因此,可以根据二维几何图形之间的位置关系反过来确定出相应的三维模型之间的位置关系。
下面对一个三维模型包含于另一个三维模型中的情况,以及三维模型之间的彼此相邻抵靠的情况分别进行说明。
具体而言,在本发明的一个实施例中,如果可以确定在任何一个二维几何图形中包含封闭的几何图形,则说明该二维几何图形对应的三维模型中包含有其他的三维模型。对于存在包含关系的三维模型,三维模型之间的交界面全部被遮挡住,即,交界面对于用户不可见。
仍以第一三维模型和第二三维模型为例,如果第一二维几何图形中包含封闭的几何图形,则说明对应的第一三维模型中包含有其他的三维模型。可选的,该其他的三维模型既可以是第二三维模型,也可以是除第一三维模型和第二三维模型之外的其他三位模型,而且包含的三维模型的数量可以为一个或多个,本发明的实施例对此不做限定。
根据本发明的一种实施方式,确定一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形可包括:
若一个三维模型降维处理后得到的二维几何图形中,存在一封闭几何图形的所有顶点包含在所述二维几何图形中,则确定所述二维几何图形中,包含有封闭的几何图形。
例如,如图2A所示,一个封闭的几何图形ABCD的四个顶点都位于第一二维几何图形E1中,则确定第一二维几何图形E1中包含封闭的几何图形ABCD;在图2B中,另一个封闭的几何图形HIJKL的五个顶点中顶点K未在第二二维几何图形E2中,则确定第二二维几何图形E2中不包含封闭的几何图形HIJKL。
如果确定二维几何图形中包含有封闭的几何图形,则需要对被包含的几何图形的关键点所对应的二维坐标值删除。举例说明,如图3所示,在本发明的一个实施例中,对第一三维模型P3进行降维处理后,得到的第一二维几何图形为P2,在P2中存在一个封闭的几何图形Q2,则可以将构成Q2的轮廓线的关键点的二维坐标值删除,也就是消除了几何图形Q2的在二维投影中的痕迹,得到了第一修剪后的关键点坐标值。
以上说明了二维几何图形中包含有封闭的几何图形的情况,下面对二维几何图形之间存在重合的轮廓边线的情况进行详细说明。
可选的,在本发明的另一个实施例中,如果可以确定各所述二维几何图形之间有重合的轮廓边线,则说明对应的三维模型之间,与重合的轮廓边线对应的面是相互接触贴合的,因此该相互接触贴合的面也被遮挡起来,对于用户不可见。
根据本发明的一种实施方式,确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线可包括:
若至少两个三维模型降维处理后得到的二维几何图形的轮廓边线上,存在至少两个相邻的重合关键点,则确定所述二维几何图形之间有重合的轮廓边线;其中,所述至少两个相邻的重合关键点的连线为重合的轮廓边线。
举例说明,如图4所示,如果第一二维几何图形包括关键点的M1、N1,U1,V1,第二二维几何图形包括关键点M1、N1,U2,V2,则线段M1N1即为第一二维几何图形与第二二维几何图形重合的轮廓边线。
确定三维模型降维处理后得到的二维几何图形之间存在重合的轮廓边线之后,可以在一组重合的轮廓边线中删除其中至少一条轮廓边线关键点的二维坐标值。如图5所示,在本发明的另一个实施例中,对第一三维模型R3和第二三维模型T3分别进行降维处理后,可以得到对应的第一二维几何图形R2、第二二维几何图形T2,并且R2和T2之间存在一条重合的轮廓边线a,b,则可以将a或b或ab对应的轮廓边线关键点的二维坐标值删除,也就是消除了重合的轮廓边线a或b或ab在二维投影中的痕迹,得到了第二修剪后的关键点坐标值。
本实施例中,轮廓边线a、b相互重合了,那么是将a删除、还是将b删除、还是将a、b都删除,可以进行进一步判断。
在本发明的一个实施例中,在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值具体可包括:
若三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线,则将重合的轮廓边线中的第一轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;其中,在重合的轮廓边线中,所述第一轮廓边线为进行所述降维处理时降维维度值最小的轮廓边线。
删除重合的轮廓边线中降维维度值最小的轮廓边线的原因可解释如下:由于第一轮廓边线在降维处理时作出的降维维度值最小,对应到三维模型中,第一轮廓边线对应的面在降维维度方向上的延伸也最小,从而被相互贴合的其它三维模型完全遮挡,因此这个面即使删除也不影响三维模型的显示效果;而降维维度值较大的轮廓边线,在三维模型中沿降维维度方向的面延伸较大,并没有被完全遮挡,为了使用户看到完整的模型外观,这些面对应的轮廓线不删除。
举例说明,在本发明的一个实施例中,如果第一三维模型包括轮廓关键点F3(10,5,20),G3(10,8,17),第二三维模型包括轮廓关键点X3(5,5,20),Y3(5,8,17),对这些轮廓关键点进行降维处理,去除各轮廓关键点的第一坐标分量,得到对应的二维关键点坐标值为F2(5,20)、G2(8,17)、X2(5,20)、Y2(8,17),即轮廓线F3G3在降维处理中的降维维度为10,轮廓线X3Y3在降维处理中的降维维度为5,则可以将重合的轮廓边线X2Y2删除,即删除二维关键点坐标值X2(5,20)、Y2(8,17),保留二维关键点坐标值F2(5,20)、G2(8,17)。
可选的,在本发明的另一个实施例中,如果降维处理中相互重合的轮廓边线的降维维度相等,则可以认为降维维度都是最小值,将各条重合的轮廓线都删除。由于各重合的轮廓边线的降维维度相等,对应到三维模型中,沿降维维度方向的面的延伸长度也相等,且这些面彼此之间都被完全遮挡,即使删除也不影响外观。
需要说明的是,以上虽然以包含关系和相邻关系为例说明了需要删减的冗余数据,但本发明不限于此,在本发明的其它实施例中,在各三维模型之间可以同时存在这两种位置关系,只需按照相应的原则进行数据删减即可,本发明的实施例对此不做限定。
S15,将所述第一修剪后的关键点坐标值或第二修剪后的关键点坐标值,按照与所述降维处理的同一维度方向进行升维处理,得到整理后的关键点坐标值;其中,针对每一关键点坐标值,进行所述升维处理的升维维度值,与进行所述降维处理的降维维度值相等。
本步骤中,需要将经过修剪后还存在的二维关键点坐标值进行升维处理,得到整理后的关键点坐标值。该升维处理的过程为步骤S13中的降维处理的逆过程,即降维处理时对某一维度方向上的维度值(或坐标的绝对值)降低了多少,在升维处理时,就对该维度方向上的维度值升高多少。
举例说明,在本发明的一个实施例中,如果在第一三维模型中包括轮廓关键点K1(10,5,20),K2(6,7,8),K3(10,18,22),降维处理得到K11(5,20),K21(7,8),K31(18,22),即在第一个维度分量上K1的降维维度值为10,K2的降维维度值为6,K3的降维维度值为10。假如轮廓关键点K11、K21分别与另一个二维几何图形重合,则删除重合的轮廓关键点的二维坐标值K11(5,20)、K21(7,8),剩下修剪后的轮廓关键点的二维坐标值K31(18,22)。接着对K31(18,22)进行升维处理得到K3(10,18,22),升维维度值为10,与降维维度相同。升维处理后,由于二维坐标值K11、K21都已经被删除,因此,原来的K1(10,5,20),K2(6,7,8)的信息在整理后的关键点坐标值中被相应抹除。
本发明的实施例提供的三维模型数据的处理方法,能够在获取三维空间中的多个三维模型后,提取所述多个三维模型的轮廓关键点的三维坐标值,将所述轮廓关键点的三维坐标值在同一维度方向上进行降维处理,分别得到对应的二维坐标值,从而将三维空间数据转换成二维平面数据,降低了数据处理复杂度。由于每个所述三维模型所对应的二维坐标值所确定的点的连线可以围成封闭的二维几何图形,因此只要确定出各封闭的二维几何图形之间的关系,即可反过来推出对应的三维模型之间的关系并删除冗余的数据。具体的,在确定一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形的情况下,可以将包含的封闭几何图形的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第一修剪后的关键点坐标值,这样,将第一修剪后的关键点坐标值进行升维处理后,即将存在包含关系的三维图形中被包含的三维图形的信息删除,因此在不影响三维模型外观展示的条件下有效减少了数据量,大大节约系统资源,有利于提高三维模型的渲染速度;或者,在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值,这样,将第二修剪后的关键点坐标值进行升维处理后,也就将存在抵靠接触关系的三维图形中彼此抵靠接触的面上的信息删除,从而在不影响三维模型外观展示的条件下有效减少了数据量,大大节约系统资源,有利于提高三维模型的渲染速度。
进一步的,由于三维空间中的三维模型可能以各种姿态放置,为了对这些三维模型进行统一的数据处理,需要在同一维度方向上进行相应的升维操作和降维操作。为了确定各三维模型之间存在这样一个相同的维度方向,在本发明的一个实施例中,在提取多个三维模型的轮廓关键点的三维坐标值之后,在将轮廓关键点的三维坐标值在同一维度方向上进行降维处理之前,本发明的实施例提供的三维模型数据的处理方法还可包括:根据所述多个三维模型的轮廓关键点的三维坐标值,查找所述多个三维模型中统一存在的维度方向。例如如果所有三维模型的坐标值都包括(x,y,z)三个维度方向,可以从中选择一个相同的维度方向例如y来进行降维操作。
在得到整理后的关键点坐标值之后,本发明的实施例提供的三维模型数据的处理方法可进一步包括:将所述多个三维模型的轮廓关键点的坐标值,以及所述整理后的关键点坐标值进行保存,以根据所述多个三维模型的轮廓关键点的坐标值建立目标三维模型的顶面图形,根据所述整理后的关键点坐标值建立所述目标三维模型的侧面图形。
本步骤中,可以根据多个三维模型的轮廓关键点的坐标值构建目标三维模型的顶面,根据整理后的关键点坐标值构建目标三维模型的侧面,从而形成新的三维模型。这样,从外观上看,目标三维模型的顶面与原始的三维模型一致,但目标三维模型的侧面与原始的三维模型相比,减少了遮挡部分的数据,因此能够在不影响三维模型外观的条件下大大减少冗余数据,有效节省了系统资源。
本发明的实施例可以用于对各种三维静态模型的数据存储和展示。例如,在对世界各国进行三维模型存储和展示时,可以通过本发明实施例提供的三维模型数据的处理方法对世界各国三维模型的简化,删除掉其存在大量的不可见的点、线、面等数据信息。
下面通过具体实施例对本发明提供的三维模型数据的处理方法进行详细说明。
如图6所示,本实施例提供的三维模型数据的处理方法可包括如下步骤:
S201,载入三维模型,找出众多三维模型中存在的统一维度方向。
在本发明的实施例中,相同的维度方向,决定了相邻模型处理后的视图效果结果,是否将保持视觉一致性。
S202,根据步骤S201中找出的统一维度方向进行降维处理。
具体方法为,找出每个独立的三维模型中的轮廓节点数据,将其三维坐标变为二维坐标。由这些二维坐标组成一个数组,该组数据记为数据C1。每个三维模型的二维坐标,都是一个个封闭的几何图形。由地理信息的特性可知,这些几何图形存在共边(国家接壤),包含(国中国)等特殊情况,也就是这些特殊情况,才导致了绘制资源的浪费。
S203,确定每个降维处理后形成的二维几何图形中是否包含其他封闭的几何图形,针对几何图形包含的情况,删除被包含的几何图形的轮廓点信息。
具体而言,如果一个几何图形的所有顶点都在另一个几何图形内,即可得出这个几何图形是被包含的,可以删减。在证明点是否在几何图形内的过程中,可以使用射线法来证明,该方法属于现有技术,此处不再赘述。
S204,确定各个降维处理后形成的二维几何图形之间是否存在轮廓边线重合的情况,并删除至少一条重合的轮廓边线。
如图7所示,多个(大于或等于2个)连续的重合关键点(顶点)组成的线段就是两个几何图形彼此重合的边(矩形框中的线段,也称为共边),即不需要绘制的部分,删除矩形框中的线段后,剩余的线段便可绘制出一个封闭的几何图形,如图8所示。
当有多个几何图形需要进行上述处理时,可以先取前两个进行处理,再将其结果和第三个进行处理,以此类推,得到多条未重合的线段,该结果记为C2。
S205,对于获取到的数据进行升维处理。
具体方法为,将从上步获取的轮廓关键点数据进行升维处理。升维处理的过程即是建立一个新的三维空间模型的过程。具体方法可包括:使用数据C1创建几何模型的上下底面,使用数据C2创建几何模型的侧面。
S206,对升维处理后的数据进行保存。
本实施例提供的三维模型数据的处理方法,删除了三维模型中的无效数据,大大节省了数据存储空间,并进一步为数据渲染显示提供了良好的基础,能够有效减少数据计算量,提高渲染效率,提升程序运行的稳定性以及使用的流畅性。
第二方面,本发明的实施例还提供一种三维模型数据的处理装置,能够在不影响三维模型外观展示的条件下有效减少数据量,节约系统资源,从而提高渲染速度。
如图9所示,该三维模型数据的处理装置可包括:
获取单元41,用于获取三维空间中的多个三维模型;
提取单元42,用于提取所述多个三维模型的轮廓关键点的三维坐标值;
降维单元43,用于将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理,分别得到对应的二维坐标值;其中,每个所述三维模型降维处理后得到的二维坐标值所确定的点的连线围成封闭的二维几何图形;
第一删除单元44,用于在确定一个三维模型降维处理后得到的二维几何图形中包含有封闭的几何图形的情况下,将包含的封闭几何图形的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第一修剪后的关键点坐标值;或
第二删除单元45,用于在确定三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线的情况下,将重合的轮廓边线中的至少一条轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;
升维单元46,用于将所述第一修剪后的关键点坐标值或第二修剪后的关键点坐标值,按照与所述降维处理的同一维度方向进行升维处理,得到整理后的关键点坐标值;其中,针对每一关键点坐标值,进行所述升维处理的升维维度值,与进行所述降维处理的降维维度值相等。
本发明的实施例提供的三维模型数据的处理装置,能够通过对三维模型数据进行降维处理,找出三维模型之间因为彼此遮挡而无需展现的部分,并将这部分对应的数据删除,然后通过相应的升维处理,还原三维模型的外在可见部分,从而在不影响三维模型外观展示的条件下有效减少了数据量,大大节约系统资源,有利于提高三维模型的渲染速度。
可选的,本发明实施例提供的三维模型数据的处理装置,还可包括第一确定单元,用于:若一个三维模型降维处理后得到的二维几何图形中,存在一封闭几何图形的所有顶点包含在所述二维几何图形中,则确定所述二维几何图形中包含有封闭的几何图形。
可选的,本发明的实施例提供的三维模型数据的处理装置,还包括第二确定单元,用于:若至少两个三维模型降维处理后得到的二维几何图形的轮廓边线上,存在至少两个相邻的重合关键点,则确定所述二维几何图形之间有重合的轮廓边线;其中,所述至少两个相邻的重合关键点的连线为重合的轮廓边线。
可选的,第二删除单元45,具体可用于:
若三维模型降维处理后得到的二维几何图形之间有重合的轮廓边线,则将重合的轮廓边线中的第一轮廓边线的关键点所对应的二维坐标值从三维模型降维处理后得到的二维几何图形的二维坐标值中删除,得到第二修剪后的关键点坐标值;其中,在重合的轮廓边线中,所述第一轮廓边线为进行所述降维处理时降维维度值最小的轮廓边线。
进一步的,所述三维模型数据的处理装置还可包括查找单元,用于在所述提取所述多个三维模型的轮廓关键点的三维坐标值之后,在所述将所述轮廓关键点的三维坐标值,在同一维度方向上进行降维处理之前,根据所述多个三维模型的轮廓关键点的三维坐标值,查找所述多个三维模型中统一存在的维度方向。
进一步的,本发明的实施例提供的三维模型数据的处理装置还可包括存储单元,用于在所述得到整理后的关键点坐标值之后,将所述多个三维模型的轮廓关键点的坐标值,以及所述整理后的关键点坐标值进行保存,以根据所述多个三维模型的轮廓关键点的坐标值建立目标三维模型的顶面图形,根据所述整理后的关键点坐标值建立所述目标三维模型的侧面图形。
第三方面,本发明的实施例还提供一种电子设备,如图10所示,本发明的实施例提供的一种电子设备,可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为上述电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的三维模型数据的处理方法。
处理器62对上述步骤的具体执行过程以及处理器62通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种三维模型数据的处理方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。