利索能及
我要发布
收藏
专利号: 2023108325621
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种三维不动产模型轻量化方法,其特征在于,包括以下步骤:要素读取步骤,读取三维不动产模型的建筑要素信息;

孔洞修补步骤,根据预设的要素规则将三维不动产模型的建筑要素信息按照不同层次进行提取和孔洞修补,生成多层次三维不动产模型;

模型简化步骤,采用QEM边折叠算法对多层次三维不动产模型的建筑要素信息进行简化,生成对应的LOD模型;

模型压缩步骤,采用Draco算法对LOD模型进行压缩,降低LOD模型的建筑要素信息体量,得到轻量化LOD模型;

模型加载步骤,基于视点移动规则,并采用距离选择法和偏心率选择法,确定轻量化LOD模型分级加载方案;

其中,所述孔洞修补步骤中的孔洞修复包括:

检测孔洞边界步骤,遍历三维不动产模型所有的顶点,获取一个顶点的邻接点以及邻接三角面元素的信息;比较该顶点的邻接点数和邻接三角面数,如果相等,读取邻接点,并继续遍历,如果不相等,则标记为边界点c并存入到边界点集合中,同时读取邻接点,重复对每个顶点进行上述操作,一直到边界点集合不再产生新的点;边界边首尾相连得到孔洞多边形;

孔洞多边形三角化步骤,采用波前法生成初始的网格,使用边界点初始化波前,以当前边界为起点,不断向内产生三角形,重新更新波前,逐步收缩边界到波前为空为止;

细化新增三角面步骤,使用高斯曲率细分孔洞网格的三角面,将弯曲程度较大区域的三角形细分成了多个小的三角形,平坦区域的三角面经过判断不进行细分操作。

2.根据权利要求1所述的一种三维不动产模型轻量化方法,其特征在于:所述模型简化步骤中QEM边折叠算法包括初始化部分实现步骤和迭代部分实现步骤。

3.根据权利要求2所述的一种三维不动产模型轻量化方法,其特征在于:所述初始化部分实现步骤具体包括:计算多层次三维不动产模型中顶点v与到该顶点一阶邻域三角面P的距离的平方之和,

2 2 2

作为顶点的二次误差矩阵Q(v);令三角面的平面方程为ax+by+cz+d=0,其中a+b+c=1,a,b,c,d是平面方程的系数,均为常数;x,y,z表示平面上点的坐标;一阶邻域三角面P则用T平面方程的系数表示,即P=[a,b,c,d],则顶点v的二次误差矩阵Q(v)公式为:其中,plances是包含顶点v的三角形面的集合,Kp是三角面P的一个4*4对称矩阵,表示如下:任意选定一条边(vi,vj)进行边折叠,计算折叠后的新顶点vbar的二次误差矩阵Q(vbar)、折叠代价Δ(vbar)及其二次误差方程Δ(v):Q(vbar)=Q(vi)+Q(vj)

其中,Q(vi)和Q(vj)利用顶点vi和vj带入顶点v的二次误差矩阵Q(v)公式计算可得,通过代入计算,可得出Δ(v)为二次曲面方程,具体表示如下:

2 2 2

Δ(v)=q11x+2q12xy+2q13xz+2q14x+q22y+2q23yz+2q24y+q33z+2q34z+q44对新顶点的二次误差方程求偏导,计算出边的新顶点vbar坐标;

4.根据权利要求3所述的一种三维不动产模型轻量化方法,其特征在于:所述迭代部分实现步骤具体包括:将边折叠误差进行排序,选取误差最小的边进行步骤进行边折叠,计算折叠后的新顶点vbar的二次误差矩阵Q(vbar)、折叠代价Δ(vbar)及其二次误差方程Δ(v):Q(vbar)=Q(vi)+Q(vj)

其中,Q(vi)和Q(vj)利用顶点vi和vj带入式(1)计算可得,通过代入计算,可得出Δ(v)为二次曲面方程,具体表示如下:

2 2 2

Δ(v)=q11x+2q12xy+2q13xz+2q14x+q22y+2q23yz+2q24y+q33z+2q34z+q44更新受影响的边的折叠代价和新顶点位置,计算此时模型的简化率是否达到设定的简化目标,若达到则停止算法,否则继续迭代上述过程。

5.根据权利要求1所述的一种三维不动产模型轻量化方法,其特征在于:所述轻量化LOD模型分级加载方案确定过程如下:选择屏幕中心作为初始视点,按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,确定模型所在显示范围。

6.一种三维不动产模型轻量化系统,其特征在于,包括:

网格获取单元,用于读取待处理三维不动产模型中各建筑要素的三角网格数据;所述待处理三维不动产模型为基于建筑施工图纸所构建的,三维不动产模型包含详尽的建筑要素信息;

多层次模型生成单元,与网格获取单元链接,用于制定多层级要素规则,根据规则和建筑要素的三角网格数据,将所述待处理三维不动产模型细化为多层次三维不动产模型;

轻量化模型生成单元,与所述多层次模型生成单元连接,用于将所述多层次三维不动产模型,确定为轻量化LOD模型,并制定轻量化LOD模型分级加载方案;

所述多层次模型生成单元包括:

要素规则制定模块,与所述网格获取单元连接,用于归纳3个层级的空间管理层次,根据所述建筑要素的三角网格数据,确定所述待处理三维不动产模型的多层次要素规则;

要素提取模块,与所述要素规则制定模块连接,用于根据要素规则,将所述待处理的建筑要素的三角网格数据分类提取,组合出不同层次的三维不动产模型;

孔洞修补模块,与所述要素提取模块连接,用于识别提取出所述不同层次的三维不动产模型的孔洞,并采用波前法修补模型孔洞;

多层次模型存储模块,与所述孔洞修补模块连接,用于将所述孔洞修补后的多层次三维不动产模型存储并支持导出;

其中,所述孔洞修补模块中的采用波前法修补模型孔洞的步骤包括:检测孔洞边界步骤,遍历三维不动产模型所有的顶点,获取一个顶点的邻接点以及邻接三角面元素的信息;比较该顶点的邻接点数和邻接三角面数,如果相等,读取邻接点,并继续遍历,如果不相等,则标记为边界点c并存入到边界点集合中,同时读取邻接点,重复对每个顶点进行上述操作,一直到边界点集合不再产生新的点;边界边首尾相连得到孔洞多边形;

孔洞多边形三角化步骤,采用波前法生成初始的网格,使用边界点初始化波前,以当前边界为起点,不断向内产生三角形,重新更新波前,逐步收缩边界到波前为空为止;

细化新增三角面步骤,使用高斯曲率细分孔洞网格的三角面,将弯曲程度较大区域的三角形细分成了多个小的三角形,平坦区域的三角面经过判断不进行细分操作。

7.根据权利要求6所述的一种三维不动产模型轻量化系统,其特征在于:所述轻量化模型生成单元包括:简化模块,与所述多层次模型存储模块连接,用于采用QEM边折叠算法将所述多层次模型简化,生成对应的LOD模型;

压缩模块,与简化模块连接,用于将所述简化后的LOD模型进一步压缩,确定所述待处理三维不动产模型的轻量化LOD模型;

LOD模型加载模块,与压缩模块连接,用于根据模型在三维场景中的视点移动规则,制定所述轻量化LOD模型在三维场景中的分级加载方案,并支持在三维场景中根据方案对轻量化LOD模型进行三维可视化显示;

轻量化模型存储模块,与压缩模块连接,用于将所述轻量化模型保存和导出。

8.一种计算设备,其特征在于,包括:

一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1‑5所述的方法中的任一方法的指令。