一种三维不动产模型轻量化方法、系统及设备

未命名 09-11 阅读:91 评论:0


1.本发明涉及三维模型轻量化处理技术领域,具体为一种三维不动产模型轻量化方法、系统及设备。


背景技术:

2.随着社会经济的高速发展和城市发展模式的持续演变,城市中形成了大量复杂的建筑物,传统的二维地籍管理模式无法准确刻画不动产的三维空间和立体特性,发展三维地籍管理模式的需求日益迫切。其中,基于建筑施工图纸构建的三维不动产模型,建筑要素信息完整,可实现三维不动产对现实三维空间的表达,有效支撑三维不动产精细化管理。但大量精细化模型存在加载速度低且浏览不畅的问题,因此对模型进行轻量化处理是十分必要的。
3.基于建筑施工图纸构建的三维不动产模型本质上仍是建筑模型,现有技术中,对于建筑模型的轻量化方法集中在简化、压缩和渲染优化,但这些算法大多针对模型的空间数据,轻量化后所生成的建筑模型,虽然在空间数据体量上有所减少并呈现出一定的层级关系,但缺乏管理维度上的层次划分,因此难以满足三维地籍领域的管理需求。


技术实现要素:

4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种三维不动产模型轻量化方法、系统及设备,解决了现有技术缺乏管理维度上的层次划分,难以满足三维地籍领域的管理需求的问题。
6.(二)技术方案
7.为实现以上目的,本发明通过以下技术方案予以实现:
8.第一方面,提供了一种三维不动产模型轻量化方法,包括以下步骤:
9.要素读取步骤,读取三维不动产模型的建筑要素信息;
10.孔洞修补步骤,根据预设的要素规则将三维不动产模型的建筑要素信息按照不同层次进行提取和孔洞修补,生成多层次三维不动产模型;
11.模型简化步骤,采用qem边折叠算法对多层次三维不动产模型的建筑要素信息进行简化,生成对应的lod模型;
12.模型压缩步骤,采用draco算法对lod模型进行压缩,降低lod模型的建筑要素信息体量,得到轻量化lod模型;
13.模型加载步骤,基于视点移动规则,并采用距离选择法和偏心率选择法,确定轻量化lod模型分级加载方案。
14.优选的,所述孔洞修补步骤中的孔洞修复包括:
15.检测孔洞边界步骤,遍历三维不动产模型所有的顶点,获取一个顶点的邻接点以及邻接三角面元素的信息;比较该顶点的邻接点数和邻接三角面数,如果相等,读取邻接
点,并继续遍历,如果不相等,则标记为边界点c并存入到边界点集合中,同时读取邻接点,重复对每个顶点进行上述操作,一直到边界点集合不再产生新的点;边界边首尾相连得到孔洞多边形;
16.孔洞多边形三角化步骤,采用波前法生成初始的网格,使用边界点初始化波前,以当前边界为起点,不断向内产生三角形,重新更新波前,逐步收缩边界到波前为空为止;
17.细化新增三角面步骤,使用高斯曲率细分孔洞网格的三角面,将弯曲程度较大区域的三角形细分成了多个小的三角形,平坦区域的三角面经过判断不进行细分操作。
18.优选的,所述模型简化步骤中qem边折叠算法包括初始化部分实现步骤和迭代部分实现步骤。
19.优选的,所述初始化部分实现步骤具体包括:
20.计算多层次三维不动产模型中顶点v与到该顶点一阶邻域三角面p的距离的平方之和,作为顶点的二次误差矩阵q(v);
21.令三角面的平面方程为ax+by+cz+d=0,其中a2+b2+c2=1,a,b,c,d是平面方程的系数,均为常数;x,y,z表示平面上点的坐标;一阶邻域三角面p则用平面方程的系数表示,即p=[a,b,c,d]
t
,则顶点v的二次误差矩阵q(v)公式为:
[0022][0023]
其中,plances是包含顶点v的三角形面的集合,k
p
是三角面p的一个4*4对称矩阵,表示如下:
[0024][0025]
任意选定一条边(vi,vj)进行边折叠,计算折叠后的新顶点v
bar
的二次误差矩阵q(v
bar
)、折叠代价δ(v
bar
)及其二次误差方程δ(v):
[0026]
q(v
bar
)=q(vi)+q(vj)
[0027][0028]
其中,q(vi)和q(vj)利用顶点vi和vj带入顶点v的二次误差矩阵q(v)公式计算可得,通过代入计算,可得出δ(v)为二次曲面方程,具体表示如下:
[0029]
δ(v)=q
11
x2+2q
12
xy+2q
13
xz+2q
14
x+q
22
y2+2q
23
yz+2q
24
y+q
33
z2+2q
34
z+q
44
[0030]
对新顶点的二次误差方程求偏导,计算出边的新顶点v
bar
坐标;
[0031][0032]
优选的,所述迭代部分实现步骤具体包括:
[0033]
将边折叠误差进行排序,选取误差最小的边进行步骤进行边折叠,计算折叠后的新顶点v
bar
的二次误差矩阵q(v
bar
)、折叠代价δ(v
bar
)及其二次误差方程δ(v):
[0034]
q(v
bar
)=q(vi)+q(vj)
[0035][0036]
其中,q(vi)和q(vj)利用顶点vi和vj带入式(1)计算可得,通过代入计算,可得出δ(v)为二次曲面方程,具体表示如下:
[0037]
δ(v)=q
11
x2+2q
12
xy+2q
13
xz+2q
14
x+q
22
y2+2q
23
yz+2q
24
y+q
3322
+2q
34
z+q
44
[0038]
更新受影响的边的折叠代价和新顶点位置,计算此时模型的简化率是否达到设定的简化目标,若达到则停止算法,否则继续迭代上述过程。优选的,所述选择屏幕中心作为初始视点,按x轴、y轴方向六等分屏幕范围,取交点作为屏幕划分依据,得到划分区域;结合不同区域到初始视点距离的远近,将屏幕划分为3个等级,分别为区域i、区域ii、区域iii,明确不同等级区域的显示范围;
[0039]
结合划定的屏幕等级,制定轻量化lod模型分级加载方案:
[0040]
区域i为视点关注区域,加载精细度最高的level3层次对应的轻量化lod1模型;
[0041]
区域ii视点关注度次之,加载精细度次之的level2层次对应的轻量化lod2模型;
[0042]
区域iii视点关注度最低,加载精细度最低的level1层次对应的轻量化lod3模型;
[0043]
计算视点(x0,y0,z0)与模型中心点(x1,y1,z1)的角度θ,其中,x0,y0,z0表示视点的坐标;x1,y1,z1表示视点的坐标;
[0044][0045]
计算视点距离模型的欧式距离d,计算公式如下:
[0046][0047]
结合角度θ和欧式距离d,确定模型所在显示范围。
[0048]
第二方面,提供了一种三维不动产模型轻量化系统,包括:
[0049]
网格获取单元,用于读取待处理三维不动产模型中各建筑要素的三角网格数据;所述待处理三维不动产模型为基于建筑施工图纸所构建的,三维不动产模型包含详尽的建筑要素信息;
[0050]
多层次模型生成单元,与网格获取单元链接,用于制定多层级要素规则,根据规则和建筑要素的三角网格数据,将所述待处理三维不动产模型细化为多层次三维不动产模型;
[0051]
轻量化模型生成单元,与所述多层次模型生成单元连接,用于将所述多层次三维不动产模型,确定为轻量化lod模型,并制定轻量化lod模型分级加载方案。
[0052]
优选的,所述多层次模型生成单元包括:
[0053]
要素规则制定模块,与所述网格获取单元连接,用于归纳3个层级的空间管理层次,根据所述建筑要素的三角网格数据,确定所述待处理三维不动产模型的多层次要素规则;
[0054]
要素提取模块,与所述要素规则制定模块连接,用于根据要素规则,将所述待处理的建筑要素的三角网格数据分类提取,组合出不同层次的三维不动产模型;
[0055]
孔洞修补模块,与所述要素提取模块连接,用于识别提取出所述不同层次的三维不动产模型的孔洞,并采用波前法修补模型孔洞;
[0056]
多层次模型存储模块,与所述孔洞修补模块连接,用于将所述孔洞修补后的多层次三维不动产模型存储并支持导出。
[0057]
优选的,所述轻量化模型生成单元包括:
[0058]
简化模块,与所述多层次模型存储模块连接,用于采用qem边折叠算法将所述多层次模型简化,生成对应的lod模型;
[0059]
压缩模块,与简化模块连接,用于将所述简化后的lod模型进一步压缩,确定所述待处理三维不动产模型的轻量化lod模型;
[0060]
lod模型加载模块,与压缩模块连接,用于根据模型在三维场景中的视点移动规则,制定所述轻量化lod模型在三维场景中的分级加载方案,并支持在三维场景中根据方案对轻量化lod模型进行三维可视化显示;
[0061]
轻量化模型存储模块,与压缩模块连接,用于将所述轻量化模型保存和导出。
[0062]
第三方面,提供了一种计算设备,包括:
[0063]
一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法中的任一方法的指令。
[0064]
(三)有益效果
[0065]
本发明一种三维不动产模型轻量化方法、系统及设备,首先,读取待处理三维不动产模型中各建筑要素的三角网格数据;然后,制定三维不动产多层次模型的要素规则,根据规则提取建筑要素,并进行孔洞修补,生成多层次的三维不动产模型,以便后续的轻量化模型与三维地籍管理需求适配;最后,采用qem边折叠算法和draco算法进行轻量化处理,大大减少模型的数据量,并制定轻量化模型分级加载方案,提高模型处理显示速度和交互性,提供流畅连贯的可视化效果。
附图说明
[0066]
图1为本发明顾及多细节层次的三维不动产模型轻量化方法的流程示意图;
[0067]
图2为本发明顾及多细节层次的三维不动产模型轻量化系统的模块示意图;
[0068]
图3为本发明实施例中屏幕等级划分方案示意图。
具体实施方式
[0069]
下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都
属于本发明保护的范围。
[0070]
实施例
[0071]
如图1所示,本发明实施例提供第一方面,提供了一种三维不动产模型轻量化方法,包括以下步骤:
[0072]
要素读取步骤,读取三维不动产模型的建筑要素信息;读取的三维不动产模型是基于建筑施工图纸所构建的,模型包含详尽的建筑要素信息。
[0073]
孔洞修补步骤,根据预设的要素规则将三维不动产模型的建筑要素信息按照不同层次进行提取和孔洞修补,生成多层次三维不动产模型;
[0074]
将三维不动产模型划分为3个管理层级,分别为level1(楼)、level2(层)、level3(户),预设的要素规则如下:
[0075]
level1层级管理单元为三维不动产中房屋幢,空间上呈现为楼幢的建筑外观,具体建筑要素包括外墙、屋顶、阳台;
[0076]
level2层级管理单元为三维不动产中房屋层,空间上呈现为具有楼层空间的楼幢,具体建筑要素包括外墙、内墙、屋顶、楼板、柱、阳台、楼梯;
[0077]
level3层级管理单元为三维不动产中房屋户,空间上呈现为不同户聚合形成的楼幢,具体建筑要素包括外墙、内墙、屋顶、楼板、阳台、柱、门、窗、楼梯;
[0078]
生成多层次的三维不动产模型首先需要基于要素规则提取模型建筑要素,组合出不同层次的三维不动产模型;然后其中的level1、level2层次模型的外墙,由于过滤掉门窗等要素,导致墙体上出现三维孔洞,为了能使模型成为完整的封闭整体,需要进行孔洞修补。
[0079]
模型简化步骤,采用qem边折叠算法对多层次三维不动产模型的建筑要素信息进行简化,生成对应的lod模型;qem边折叠算法对多层次三维不动产模型数据进行简化,主要分为初始化和迭代两部分;初始化部分,是为模型中每一个顶点都分配一个二次误差矩阵,计算新顶点的位置和边的折叠代价;迭代部分,是选择一条折叠代价最小的边进行折叠操作,并更新受影响的边的折叠代价和新顶点位置,若达到简化目标,则停止算法,否则迭代上述过程。
[0080]
模型压缩步骤,采用draco算法对lod模型进行压缩,降低lod模型的建筑要素信息体量,得到轻量化lod模型;draco算法结合了edgebreaker算法和平行四边形差分压缩方法,对简化后的模型进一步压缩主要包括两方面。一是采用edgebreaker算法处理三角网格之间的连接关系,二是采用平行四边形差分压缩方法对模型的几何数据进行熵编码,通过编码的形式存储三维模型信息,从而轻量化模型体量。
[0081]
模型加载步骤,基于视点移动规则,并采用距离选择法和偏心率选择法,确定轻量化lod模型分级加载方案。视点移动遵循视野的变化范围随着人眼视点的移动而移动的规则,包含6种变化趋势,沿x、y、z轴正反方向移动。所采用的距离选择法根据视点距离模型的欧式距离选择合适的轻量化lod模型;偏心率选择法根据视点与模型中心点的角度区分加载不同精细度的模型,角度越小,模型精细度越高。综合距离、偏心率以及多层次模型精细度明确轻量化lod模型分级加载方案。
[0082]
进一步的,孔洞修补步骤中的孔洞修复包括:
[0083]
检测孔洞边界步骤,遍历三维不动产模型所有的顶点,获取一个顶点的邻接点以
及邻接三角面元素的信息;比较该顶点的邻接点数和邻接三角面数,如果相等,读取邻接点,并继续遍历,如果不相等,则标记为边界点c并存入到边界点集合中,同时读取邻接点,重复对每个顶点进行上述操作,一直到边界点集合不再产生新的点;边界边首尾相连得到孔洞多边形;
[0084]
孔洞多边形三角化步骤,采用波前法生成初始的网格,使用边界点初始化波前,以当前边界为起点,不断向内产生三角形,重新更新波前,逐步收缩边界到波前为空为止;
[0085]
细化新增三角面步骤,使用高斯曲率细分孔洞网格的三角面,将弯曲程度较大区域的三角形细分成了多个小的三角形,平坦区域的三角面经过判断不进行细分操作。
[0086]
进一步的,模型简化步骤中qem边折叠算法包括初始化部分实现步骤和迭代部分实现步骤。
[0087]
进一步的,初始化部分实现步骤具体包括:
[0088]
计算多层次三维不动产模型中顶点v与到该顶点一阶邻域三角面p的距离的平方之和,作为顶点的二次误差矩阵q(v);
[0089]
令三角面的平面方程为ax+by+cz+d=0,其中a2+b2+c2=1,a,b,c,d是平面方程的系数,均为常数;x,y,z表示平面上点的坐标。一阶邻域三角面p则用平面方程的系数表示,即p=[a,b,c,d]
t
,则顶点v的二次误差矩阵q(v)为:
[0090][0091]
其中,plances是包含顶点v的三角形面的集合,k
p
是三角面p的一个4*4对称矩阵,表示如下:
[0092][0093]
任意选定一条边(vi,vj)进行边折叠,计算折叠后的新顶点v
bar
的二次误差矩阵q(v
bar
)、折叠代价δ(v
bar
)及其二次误差方程δ(v):
[0094]
q(v
bar
)=q(vi)+q(vj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0095][0096]
其中,q(vi)和q(vj)利用顶点vi和vj带入式(1)计算可得,通过代入计算,可得出δ(v)为二次曲面方程,具体表示如下:
[0097][0098]
对新顶点的二次误差方程求偏导,计算出边的新顶点v
bar
坐标。
[0099][0100]
进一步的,迭代部分实现步骤具体包括:
[0101]
将边折叠误差进行排序,选取误差最小的边进行步骤进行边折叠,计算折叠后的新顶点v
bar
的二次误差矩阵q(v
bar
)、折叠代价δ(v
bar
)及其二次误差方程δ(v):
[0102]
q(v
bar
)=q(vi)+q(vj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0103][0104]
其中,q(vi)和q(vj)利用顶点vi和vj带入式(1)计算可得,通过代入计算,可得出δ(v)为二次曲面方程,具体表示如下:
[0105][0106]
更新受影响的边的折叠代价和新顶点位置,计算此时模型的简化率是否达到设定的简化目标,若达到则停止算法,否则继续迭代上述过程。
[0107]
请参阅图3,进一步的,选择屏幕中心作为初始视点,按x轴、y轴方向六等分屏幕范围,取交点作为屏幕划分依据,得到划分区域;结合不同区域到初始视点距离的远近,将屏幕划分为3个等级,分别为区域i、区域ii、区域iii,明确不同等级区域的显示范围;
[0108]
结合划定的屏幕等级,制定轻量化lod模型分级加载方案:
[0109]
区域i为视点关注区域,加载精细度最高的level3层次对应的轻量化lod1模型;
[0110]
区域ii视点关注度次之,加载精细度次之的level2层次对应的轻量化lod2模型;
[0111]
区域iii视点关注度最低,加载精细度最低的level1层次对应的轻量化lod3模型;
[0112]
计算视点(x0,y0,z0)与模型中心点(x1,y1,z1)的角度θ,其中,x0,y0,z0表示视点的坐标;x1,y1,z1表示视点的坐标;
[0113][0114]
计算视点距离模型的欧式距离d,计算公式如下:
[0115][0116]
结合角度θ和欧式距离d,确定模型所在显示范围。
[0117]
请参阅图2,本发明又一个实施例提供了一种三维不动产模型轻量化系统,包括:
[0118]
网格获取单元,用于读取待处理三维不动产模型中各建筑要素的三角网格数据;待处理三维不动产模型为基于建筑施工图纸所构建的,三维不动产模型包含详尽的建筑要
素信息;
[0119]
多层次模型生成单元,与网格获取单元链接,用于制定多层级要素规则,根据规则和建筑要素的三角网格数据,将待处理三维不动产模型细化为多层次三维不动产模型;
[0120]
轻量化模型生成单元,与多层次模型生成单元连接,用于将多层次三维不动产模型,确定为轻量化lod模型,并制定轻量化lod模型分级加载方案。
[0121]
进一步的,多层次模型生成单元包括:
[0122]
要素规则制定模块,与网格获取单元连接,用于归纳3个层级的空间管理层次,根据建筑要素的三角网格数据,确定待处理三维不动产模型的多层次要素规则;
[0123]
要素提取模块,与要素规则制定模块连接,用于根据要素规则,将待处理的建筑要素的三角网格数据分类提取,组合出不同层次的三维不动产模型;
[0124]
孔洞修补模块,与要素提取模块连接,用于识别提取出不同层次的三维不动产模型的孔洞,并采用波前法修补模型孔洞;
[0125]
多层次模型存储模块,与孔洞修补模块连接,用于将孔洞修补后的多层次三维不动产模型存储并支持导出。
[0126]
进一步的,轻量化模型生成单元包括:
[0127]
简化模块,与多层次模型存储模块连接,用于采用qem边折叠算法将多层次模型简化,生成对应的lod模型;
[0128]
压缩模块,与简化模块连接,用于将简化后的lod模型进一步压缩,确定待处理三维不动产模型的轻量化lod模型;
[0129]
lod模型加载模块,与压缩模块连接,用于根据模型在三维场景中的视点移动规则,制定轻量化lod模型在三维场景中的分级加载方案,并支持在三维场景中根据方案对轻量化lod模型进行三维可视化显示;
[0130]
轻量化模型存储模块,与压缩模块连接,用于将轻量化模型保存和导出。
[0131]
本技术的实施例可提供为方法或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
[0132]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0133]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0134]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0135]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术特征:
1.一种三维不动产模型轻量化方法,其特征在于,包括以下步骤:要素读取步骤,读取三维不动产模型的建筑要素信息;孔洞修补步骤,根据预设的要素规则将三维不动产模型的建筑要素信息按照不同层次进行提取和孔洞修补,生成多层次三维不动产模型;模型简化步骤,采用qem边折叠算法对多层次三维不动产模型的建筑要素信息进行简化,生成对应的lod模型;模型压缩步骤,采用draco算法对lod模型进行压缩,降低lod模型的建筑要素信息体量,得到轻量化lod模型;模型加载步骤,基于视点移动规则,并采用距离选择法和偏心率选择法,确定轻量化lod模型分级加载方案。2.根据权利要求1所述的一种三维不动产模型轻量化方法,其特征在于:所述孔洞修补步骤中的孔洞修复包括:检测孔洞边界步骤,遍历三维不动产模型所有的顶点,获取一个顶点的邻接点以及邻接三角面元素的信息;比较该顶点的邻接点数和邻接三角面数,如果相等,读取邻接点,并继续遍历,如果不相等,则标记为边界点c并存入到边界点集合中,同时读取邻接点,重复对每个顶点进行上述操作,一直到边界点集合不再产生新的点;边界边首尾相连得到孔洞多边形;孔洞多边形三角化步骤,采用波前法生成初始的网格,使用边界点初始化波前,以当前边界为起点,不断向内产生三角形,重新更新波前,逐步收缩边界到波前为空为止;细化新增三角面步骤,使用高斯曲率细分孔洞网格的三角面,将弯曲程度较大区域的三角形细分成了多个小的三角形,平坦区域的三角面经过判断不进行细分操作。3.根据权利要求2所述的一种三维不动产模型轻量化方法,其特征在于:所述模型简化步骤中qem边折叠算法包括初始化部分实现步骤和迭代部分实现步骤。4.根据权利要求3所述的一种三维不动产模型轻量化方法,其特征在于:所述初始化部分实现步骤具体包括:计算多层次三维不动产模型中顶点v与到该顶点一阶邻域三角面p的距离的平方之和,作为顶点的二次误差矩阵q(v);令三角面的平面方程为ax+by+cz+d=0,其中a2+b2+c2=1,a,b,c,d是平面方程的系数,均为常数;x,y,z表示平面上点的坐标;一阶邻域三角面p则用平面方程的系数表示,即p=[a,b,c,d]
t
,则顶点v的二次误差矩阵q(v)公式为:其中,plances是包含顶点v的三角形面的集合,k
p
是三角面p的一个4*4对称矩阵,表示如下:
任意选定一条边(v
i
,v
j
)进行边折叠,计算折叠后的新顶点v
bar
的二次误差矩阵q(v
bar
)、折叠代价δ(v
bar
)及其二次误差方程δ(v):q(v
bar
)=q(v
i
)+q(v
j
)其中,q(v
i
)和q(v
j
)利用顶点v
i
和v
j
带入顶点v的二次误差矩阵q(v)公式计算可得,通过代入计算,可得出δv为二次曲面方程,具体表示如下:δ(v)=q
11
x2+2q
12
xy+2q
13
xz+2q
14
x+q
22
y2+2q
23
yz+2q
24
y+q
33
z2+2q
34
z+q
44
对新顶点的二次误差方程求偏导,计算出边的新顶点v
bar
坐标;5.根据权利要求4所述的一种三维不动产模型轻量化方法,其特征在于:所述迭代部分实现步骤具体包括:将边折叠误差进行排序,选取误差最小的边进行步骤进行边折叠,计算折叠后的新顶点v
bar
的二次误差矩阵q(v
bar
)、折叠代价δ(v
bar
)及其二次误差方程δ(v):q(v
bar
)=q(v
i
)+q(v
j
)其中,q(v
i
)和q(v
j
)利用顶点v
i
和v
j
带入式(1)计算可得,通过代入计算,可得出δ(v)为二次曲面方程,具体表示如下:δ(v)=q
11
x2+2q
12
xy+2q
13
xz+2q
14
x+q
22
y2+2q
23
yz+2q
24
y+q
33
z2+2q
34
z+q
44
更新受影响的边的折叠代价和新顶点位置,计算此时模型的简化率是否达到设定的简化目标,若达到则停止算法,否则继续迭代上述过程。6.根据权利要求5所述的一种三维不动产模型轻量化方法,其特征在于:所述选择屏幕中心作为初始视点,按x轴、y轴方向六等分屏幕范围,取交点作为屏幕划分依据,得到划分区域;结合不同区域到初始视点距离的远近,将屏幕划分为3个等级,分别为区域i、区域ii、区域iii,明确不同等级区域的显示范围;结合划定的屏幕等级,制定轻量化lod模型分级加载方案:区域i为视点关注区域,加载精细度最高的level3层次对应的轻量化lod1模型;区域ii视点关注度次之,加载精细度次之的level2层次对应的轻量化lod2模型;区域iii视点关注度最低,加载精细度最低的level1层次对应的轻量化lod3模型;计算视点x0,y0,z0与模型中心点x1,y1,z1的角度θ,其中,x0,y0,z0表示视点的坐标;x1,y1,z1表示视点的坐标;
计算视点距离模型的欧式距离d,计算公式如下:结合角度θ和欧式距离d,确定模型所在显示范围。7.一种三维不动产模型轻量化系统,其特征在于,包括:网格获取单元,用于读取待处理三维不动产模型中各建筑要素的三角网格数据;所述待处理三维不动产模型为基于建筑施工图纸所构建的,三维不动产模型包含详尽的建筑要素信息;多层次模型生成单元,与网格获取单元链接,用于制定多层级要素规则,根据规则和建筑要素的三角网格数据,将所述待处理三维不动产模型细化为多层次三维不动产模型;轻量化模型生成单元,与所述多层次模型生成单元连接,用于将所述多层次三维不动产模型,确定为轻量化lod模型,并制定轻量化lod模型分级加载方案。8.根据权利要求7所述的一种三维不动产模型轻量化系统,其特征在于:所述多层次模型生成单元包括:要素规则制定模块,与所述网格获取单元连接,用于归纳3个层级的空间管理层次,根据所述建筑要素的三角网格数据,确定所述待处理三维不动产模型的多层次要素规则;要素提取模块,与所述要素规则制定模块连接,用于根据要素规则,将所述待处理的建筑要素的三角网格数据分类提取,组合出不同层次的三维不动产模型;孔洞修补模块,与所述要素提取模块连接,用于识别提取出所述不同层次的三维不动产模型的孔洞,并采用波前法修补模型孔洞;多层次模型存储模块,与所述孔洞修补模块连接,用于将所述孔洞修补后的多层次三维不动产模型存储并支持导出。9.根据权利要求8所述的一种三维不动产模型轻量化系统,其特征在于:所述轻量化模型生成单元包括:简化模块,与所述多层次模型存储模块连接,用于采用qem边折叠算法将所述多层次模型简化,生成对应的lod模型;压缩模块,与简化模块连接,用于将所述简化后的lod模型进一步压缩,确定所述待处理三维不动产模型的轻量化lod模型;lod模型加载模块,与压缩模块连接,用于根据模型在三维场景中的视点移动规则,制定所述轻量化lod模型在三维场景中的分级加载方案,并支持在三维场景中根据方案对轻量化lod模型进行三维可视化显示;轻量化模型存储模块,与压缩模块连接,用于将所述轻量化模型保存和导出。10.一种计算设备,其特征在于,包括:一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据
权利要求1-6所述的方法中的任一方法的指令。

技术总结
本发明提供一种三维不动产模型轻量化方法、系统及设备,涉及三维模型轻量化处理领域。该三维不动产模型轻量化方法,包括读取三维不动产模型的建筑要素信息;根据预设的要素规则将三维不动产模型的建筑要素信息按照不同层次进行提取和孔洞修补,生成多层次三维不动产模型;采用QEM边折叠算法对多层次三维不动产模型的建筑要素信息进行简化,生成对应的LOD模型;采用Draco算法对LOD模型进行压缩,降低LOD模型的建筑要素信息体量,得到轻量化LOD模型;基于视点移动规则,并采用距离选择法和偏心率选择法,确定轻量化LOD模型分级加载方案。解决了现有轻量化技术缺乏管理维度上的层次划分,难以满足三维地籍领域的管理需求的问题。题。题。


技术研发人员:王履华 代文 路明月
受保护的技术使用者:南京信息工程大学
技术研发日:2023.07.08
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐