首页> 中国专利> 一种基于八叉树的三维建筑物模型LOD方法

一种基于八叉树的三维建筑物模型LOD方法

摘要

本发明提出了一种基于八叉树的三维建筑物模型LOD方法,具体包括如下步骤:S1读取三维建筑物模型数据;S2设置八叉树的树深Depth参数;S3按层次分别合并八叉树的叶节点外包围盒,建立粗网格块;S4合并各个层次的构件的粗网格块;S5三角化;S6计算粗网格块的法向量;S7合并简化构件形成粗网格块的建筑物模型;S8内部顶点刪除;S9设置材质或纹理;S10输出三维建筑物LOD模型。基于八叉树的三维建筑物模型LOD方法不受复杂的限制,具有较强的稳健性,生成的LOD模型能较好保持原始建筑物模型的主要结构特征,具有较高的相似性,即使在分辨率较低时,也能较好的保持其结构特征。

著录项

  • 公开/公告号CN111161411A

    专利类型发明专利

  • 公开/公告日2020-05-15

    原文格式PDF

  • 申请/专利权人 速度时空信息科技股份有限公司;

    申请/专利号CN202010267603.3

  • 发明设计人 李俊;范建永;朱必亮;徐忠建;

    申请日2020-04-08

  • 分类号

  • 代理机构南京正联知识产权代理有限公司;

  • 代理人王素琴

  • 地址 210042 江苏省南京市玄武区玄武大道699号-22号8幢

  • 入库时间 2023-12-17 09:04:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-14

    授权

    授权

  • 2020-06-09

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20200408

    实质审查的生效

  • 2020-05-15

    公开

    公开

说明书

技术领域

本发明涉及一种三维建筑物模型处理技术领域,特别涉及一种基于八叉树的三维建筑物模型LOD方法。

背景技术

随着“智慧城市”概念的提出,把海量的三维建筑数据应用于城市地理信息的管理已是大势所趋。相对于城市的其它类型的数据,三维建筑物模型具有更大的数据量和更复杂的几何结构特征。一方面数据量大不利于数据传输和实时渲染。另一方面,复杂的结构特征包含一些细节,模型达到一定的量级之后,一些细节将难以被用户感知到。基于八叉树的三维建筑物模型LOD方法核心就是解决以上两个方面的问题,关键是对模型进行简化降低模型的复杂度,减少模型的数据量。

近年来,在上述技术研究的基础上,国内外学者开始研究三维建筑物模型的简化和多层次细节分层技术,并提出了建筑物模型的LOD构建方法,如中国专利文献201110317931.0发明提出一种三维模型渐进网格数据组织方法,利用三维模型的原始网格生成渐进网格数据并进行多尺度分层组织的方法实现三维模型的无冗余、多尺度增量式的数据组织,有利于复杂三维模型的快速传输和高效可视化;中国专利文献CN201210090628.6解决现有的基于二维图像的建筑物模型构建方法中存在的顶面结构不够细致而导致构建精度不高的问题;中国专利文献 CN201810893994.2从已获得的参数化三维模型中删除与模型结构无关的非关键信息;将删除了所述非关键信息的参数化三维模型进行几何参数多边形化处理,得到网格模型;基于无损压缩编码算法对所述网格模型进行编码压缩,得到轻量化模型,此方法未涉及LOD方面的内容。OGC提出的CityGML标准将三维建筑物模型分为5个层次,可没有提供构建LOD的方法和工具,导致有标准,没有构建符合此标准的工具,导致标准的推行不尽人意。

因此,有必要开发一种构建三维建筑模型LOD模型的方法,能够不受建筑物复杂的限制,具有较强的稳健性,生成的LOD模型能较好保持原始建筑物模型的主要结构特征,具有较高的相似性,即使在分辨率较低时,也能较好的保持其结构特征,并能提高实时渲染的效率。

发明内容

本发明要解决的技术问题是提供一种基于八叉树的三维建筑物模型LOD方法,利用八叉树叶节点的合并和分裂,一是,能够对三维建筑物模型进行简化,以减少低层次模型的数据量,二是,生成的LOD模型能较好保持原始建筑物模型的主要结构特征,保持与原始模型的相似性,以提高辨识度。

为了解决上述技术问题,本发明采用的技术方案是:该基于八叉树的三维建筑物模型LOD方法,具体包括如下步骤:

(1)读取三维建筑物模型数据,并将源模型作为最高级的模型;

(2)设置八叉树的树深Depth参数,分别对建筑物模型的组成部分(构件)构建深度为Depth的稀疏八叉树;

(3)按层次分别合并八叉树的叶节点外包围盒BoundingBox,建立粗网格块;

(4)合并各个层次的构件的粗网格块;设定叶节点包围盒BoundingBox相邻的最小阈值,按照Z轴、X轴、Y轴对所有叶节点的包围盒BoundingBox进行合并,组成当前层次的构件的粗网格块;

(5)三角化,即对所述步骤(4)所生成的粗网格块的每个网格块的六个面进行三角化,方法是按照左手坐标系依次将网格立方体的每个面分成两个三角面;

(6)计算粗网格块的法向量,计算所述步骤(5)生成的粗网格块的各个网格块的顶点法向量;法向量取值为向上、向下、向前、向后、向左、向右的一种;

(7)合并简化构件形成粗网格块的建筑物模型,对所述步骤(6)的粗网格块进行合并,并利用所述步骤(4)对合并的粗网格块的建筑物模型进行合并;

(8)内部顶点刪除,为了有效保持模型表面格网的局部拓扑,细节结构的内部顶点将被逐个删除;

(9)设置材质或纹理,如果源建筑物模型没有纹理和材质,则使用默认材质代替;否则计算整个建筑物的纹理和材质,并将整个纹理和材质拼接成一张纹理,以减少存储空间;

(10)输出三维建筑物LOD模型,以便于其它软件进行可视化。

采用上述技术方案,借助稀疏八叉树模型对三维建筑物模型构建LOD,可以在高层次的保证建筑物模型的细节,如以原始模型最为最高级的模型;根据设置的八叉树的树深,可以控制LOD的层级树,达到最低级最大化的简化模型;对构成模型的各个构件分别进行稀疏八叉树的剖分,可以尽量保证复杂建筑物模型的相似度,增强粗模型的辨识度;对于合并后的模型的内部点删除,可以删除模型内部的顶点,减少模型的数据量,提高数据的渲染效率和传输和IO效率;三维模型纹理合并成一张纹理,不但可以减少模型的数据量,同样可以提高渲染的效率。

本发明的基于八叉树的三维建筑物模型LOD方法不受复杂的限制,具有较强的稳健性,生成的LOD模型能较好保持原始建筑物模型的主要结构特征,具有较高的相似性,即使在分辨率较低时,也能较好的保持其结构特征。

作为本发明的优选技术方案,所述步骤(4)根据一定阈值依次按照Z轴、X轴、Y轴对所有叶节点的包围盒BoundingBox进行合并,组成当前层次的构件的粗网格块;按照Z轴合并,循环取两个相邻网格块,计算下面网格块Z的最大值与上面网格块Z的最小值的差值,如果这个差值小于设定的阈值,则将上面网格块Z的最大值赋给下面网格块Z的最大值,并删除上面的网格块,直至所有的网格块Z的差值都不满足以上条件;按照X轴合并,循环取两个相邻网格块,计算前面网格块X的最大值与后面网格块X的最小值的差值,如果这个差值小于设定的阈值,则将后面网格块X的最大值赋给前面网格块X的最大值,并删除后面的网格块,直至所有的网格块X的差值都不满足以上条件;按照Y轴合并,循环取两个相邻网格块,计算左边网格块Y的最大值与右边网格块Y的最小值的差值,如果这个差值小于设定的阈值,则将右边网格块Y的最大值赋给左网格块Y的最大值,并删除右的网格块,直至所有的网格块Y的差值都不满足以上条件。

作为本发明的优选技术方案,所述步骤(6)中计算粗网格块的法向量,法向量的取值范围为向上、向下、向前、向后、向左、向右分别对应:

作为本发明的优选技术方案,所述步骤(8)对所述内部顶点删除方法,对内部顶点刪除时,注意邻接顶点可看作是内部顶点 ,删除算法可采用经典的点删除算法,本发明采用现有的QEM(Quadric Error Mactrics,二次误差测度)模型简化算法。

作为本发明的优选技术方案,在所述步骤(9)中,设置材质或纹理,纹理包含上TOP、下BOTTOM、前FRONT、后REAR、左LEFT、右RIGHT,并将所有纹理拼接成一张纹理;整个纹理的底部颜色值为(188.0f/255.0f,188.0f/255.0f,222.0f/255.0f),设置视口坐标、原点屏幕左下角、向右为X轴、向上Y轴,以及相机所在的位置、看物体的方向以及近截面,并分别在不同的坐标下,将原始三维模型的上TOP、下BOTTOM、前FRONT、后REAR、左LEFT、右RIGHT面分别投影在相同的平面上,相对应的行列值分别是(0, 0)、(0, 1) 、(1, 0) 、(1, 1) 、(2, 0) 、(2, 1)。

作为本发明的优选技术方案,所述步骤(9)中,计算纹理坐标,对所述步骤(8)中的网格块计算其顶点的纹理坐标,计算坐标需要各个面相对应的行列值, TOP计算方法如下:

BOTTOM的计算方法如下:

FRONT的计算方法如下:

REAR的计算方法如下:

LEFT的计算方法如下:

RIGHT的计算方法如下:

其中Del:整个模型的最大的边长,c_xc_y:整个模型的中心点的x、y坐标,v.x:顶点的x坐标,v.y:顶点的y坐标,(s,t)>

与现有技术相比,该基于八叉树的三维建筑物模型LOD方法具有以下优点:利用稀疏八叉树对模型进行剖分,接着进行合并化简的方法来构建建筑物的LOD,与传统的三维模型简化方法相比,能够综合考虑模型的几何和纹理两方面的特征,能够在简化模型数据量大的同时,较好地维持模型原有的外观特征。

附图说明

图1为本发明的基于八叉树的三维建筑物模型LOD方法的工作流程图;

图2为本发明的基于八叉树的三维建筑物模型LOD方法的八叉树模型;

图3为本发明的基于八叉树的三维建筑物模型LOD方法的原始建筑物模型;其中:图(a)是obj格式的原模型,图(b)为IFC格式的原模型;

图4为本发明的基于八叉树的三维建筑物模型LOD方法的obj格式数据的多层次模型;

图5为本发明的基于八叉树的三维建筑物模型LOD方法的IFC格式数据的多层次模型;

图6为本发明的基于八叉树的三维建筑物模型LOD方法的纹理排列图。

具体实施方式

下面将结合本发明的实施例图中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。

实施例:如图1-3所示,该基于八叉树的三维建筑物模型LOD方法,构建obj、IFC格式模型LOD的具体包括如下步骤:

(1)读取三维建筑物模型数据,并将源模型作为最高级的模型;

(2)设置八叉树的树深Depth参数,本例中设置为5层;读取数据并作为最精细的模型;对读取的模型数据打算分别读取构成模型的构件,并对构件进行八叉树剖分,构建深度为Depth的稀疏八叉树;

(3)按层次分别合并八叉树的叶节点外包围盒BoundingBox,建立粗网格块;

(4)合并各个层次的构件的粗网格块;设定叶节点包围盒BoundingBox相邻的最小阈值,按照Z轴、X轴、Y轴对所有叶节点的包围盒BoundingBox进行合并,组成当前层次的构件的粗网格块;

根据一定阈值依次按照Z轴、X轴、Y轴对所有叶节点的包围盒BoundingBox进行合并,组成当前层次的构件的粗网格块;按照Z轴合并,循环取两个相邻网格块,计算下面网格块Z的最大值与上面网格块Z的最小值的差值,如果这个差值小于设定的阈值,则将上面网格块Z的最大值赋给下面网格块Z的最大值,并删除上面的网格块,直至所有的网格块Z的差值都不满足以上条件;按照X轴合并,循环取两个相邻网格块,计算前面网格块X的最大值与后面网格块X的最小值的差值,如果这个差值小于设定的阈值,则将后面网格块X的最大值赋给前面网格块X的最大值,并删除后面的网格块,直至所有的网格块X的差值都不满足以上条件;按照Y轴合并,循环取两个相邻网格块,计算左边网格块Y的最大值与右边网格块Y的最小值的差值,如果这个差值小于设定的阈值,则将右边网格块Y的最大值赋给左网格块Y的最大值,并删除右的网格块,直至所有的网格块Y的差值都不满足以上条件。

(5)三角化,即对所述步骤(4)所生成的粗网格块的每个网格块的六个面进行三角化,方法是按照左手坐标系依次将网格立方体的每个面分成两个三角面;

(6)计算粗网格块的法向量,计算所述步骤(5)生成的粗网格块的各个网格块的顶点法向量;法向量取值为向上、向下、向前、向后、向左、向右的一种;

法向量的取值范围为向上、向下、向前、向后、向左、向右分别对应:

(7)合并简化构件形成粗网格块的建筑物模型,对所述步骤(6)的粗网格块进行合并,并利用所述步骤(4)对合并的粗网格块的建筑物模型进行合并;

(8)内部顶点刪除,为了有效保持模型表面格网的局部拓扑,细节结构的内部顶点将被逐个删除;

对内部顶点刪除时,注意邻接顶点可看作是内部顶点 ,删除算法可采用经典的点删除算法,本实施例采用现有的QEM(Quadric Error Mactrics,二次误差测度)模型简化算法;

(9)设置材质或纹理,如果源建筑物模型没有纹理和材质,则使用默认材质代替;否则计算整个建筑物的纹理和材质,并将整个纹理和材质拼接成一张纹理,以减少存储空间;纹理包含上TOP、下BOTTOM、前FRONT、后REAR、左LEFT、右RIGHT,并将所有纹理拼接成一张纹理;整个纹理的底部颜色值为(188.0f/255.0f,188.0f/255.0f,222.0f/255.0f),设置视口坐标、原点屏幕左下角、向右为X轴、向上Y轴,以及相机所在的位置、看物体的方向以及近截面,并分别在不同的坐标下,将原始三维模型的上TOP、下BOTTOM、前FRONT、后REAR、左LEFT、右RIGHT面分别投影在相同的平面上,相对应的行列值分别是(0, 0)、(0, 1) 、(1, 0) 、(1, 1) 、( 2, 0) 、(2, 1);接着计算模型网格块顶点的纹理坐标,计算纹理坐标,对所述步骤(8)中的网格块计算其顶点的纹理坐标,计算坐标需要各个面相对应的行列值, TOP计算方法如下:

BOTTOM的计算方法如下:

FRONT的计算方法如下:

REAR的计算方法如下:

LEFT的计算方法如下:

RIGHT的计算方法如下:

其中Del:整个模型的最大的边长,c_xc_y:整个模型的中心点的x、y坐标,v.x:顶点的x坐标,v.y:顶点的y坐标,(s,t)>

(10)输出三维建筑物LOD模型,以便于其它软件进行可视化,可视化效果如图4、5所示。

以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号