一种基于空间变换批量生成排水管网三维模型的方法与流程

文档序号:30526968发布日期:2022-06-25 07:54阅读:200来源:国知局
一种基于空间变换批量生成排水管网三维模型的方法与流程

1.本发明属于三维模型构建技术领域,尤其涉及一种基于空间变换批量生成排水管网三维模型的方法。


背景技术:

2.排水管网是城市运行的“静脉”,承担城市雨水、污水的收集、存储和运输工作,是城市运转的重要环节之一。由于排水管网建设在地下空间,并且排水管网错综复杂,为了有效支持排水管网运行管理,对排水管网的三维可视化分析非常关键。排水管网三维可视化分析对于排水管网养护管理十分重要,是分析排水管网布置、拓扑关系等的重要工具,通过三维可视化分析可以判断出排水管网的形态,如管径、走向等,对于直观诊断排水管网的问题,如变径不合理、落差不合理等,有着重要的作用;同时,三维场景中可以直观分析排水管网自身的拓扑关系,如交叉管网的位置关系,以及分析排水管网与其他地物的位置关系,如排水管网与道路的关系;排水管网三维可视化对管网数据查错、管网检修等工作也有重要的作用。
3.排水管网三维可视化需要三维模型数据来支持,构建排水管网三维模型的传统方法一般是基于sketchup、3dmax等工具,人工根据管网数据(比如通过管网普查获取)构建排水管网三维模型,通过拉升、倒角、旋转等操作构建。对于数万级别的管段数据量,往往需要耗费数个人月的工作量,且容易产生人为原因的错误模型。当管网数据量大时,传统方法生成的三维模型数据量和管网数量成比例增大,导致应用系统加载三维管网数据也变得十分耗时。由于城市排水管网的数据量庞大,通过人工方法复制的三维模型,其数据量也随着管网数据量增大成倍数增大,排水管网三维模型的建立的工作量大、数据量大等原因限制了排水管网三维可视化的生产应用,因此对于数据量庞大的排水管网,如何降低其三维模型的数据量以及提升准确率成为了本领域的技术难题。


技术实现要素:

4.本发明的目的在于,提出一种基于空间变换批量生成排水管网三维模型的方法,以解决上述技术问题。
5.本发明是通过以下技术方案实现的:本发明提出一种基于空间变换批量生成排水管网三维模型的方法,包括以下步骤:步骤一、构建排水管网基本元件:利用三维建模工具构建排水管网基本元件,基本元件是形成排水管网三维模型的基本单元,通过对基本元件的变换可以生成不同位置、尺寸的排水管网三维组件;基本元件可以通过blender、sketchup、3dmax等工具构建;所述基本元件的尺寸为1个单元,便于后期的空间变换计算;所述基本元件的初始位置为坐标空间的原点,即基本元件的中心点与坐标空间的原点重合,这样便于空间变换时对其进行不同方向旋转的变换计算;将构建完成的多个基本元件的三维模型数据合并到一个文件中,并
导出为标准的gltf格式文件。
6.步骤二、对构建完成的基本元件进行读取和解析:将步骤一导出的gltf格式的基本元件的三维模型数据文件读入计算机内存,并按照gltf格式进行解析,获取基本元件三维模型的结构数据,将所述基本元件三维模型的结构数据分离为基本元件自身数据和基本元件公用数据,所述基本元件自身数据包括位置信息和空间变换信息,所述基本元件公用数据包括三维面片和素材信息,并将所述基本元件三维模型的结构数据解析为计算机程序可操作的结构化对象。
7.gltf文件格式是一种描述三维场景的文件格式,是一个json文件格式,gltf文件中包含了三维场景、节点、三维面片、相机、材质等的描述。由gltf文件格式可知,描述排水管网三维模型的基本元素包括节点、三维面片和素材信息,由节点描述信息可知节点和三维面片数据是可分离的,那么三维面片数据是可以被多个节点复用的,在三维模型中三维面片是占用三维模型文件的主体部分,因而三维面片的复用也是减少整体三维模型文件大小的关键因素。
8.步骤三、对基本元件进行复制与空间变换:通过计算机程序复制基本元件自身数据,不复制基本元件公用数据,生成新的节点,新的节点引用基本元件公用数据,根据实际排水管网基本信息对基本元件进行空间变换逐个生成排水管网的各个组成部分,并将最终生成的数据文件存储为gltf格式文件。实际排水管网基本信息可以通过管网普查或设计图纸得到,如管段的起点和终点埋深、直径、长度等信息,存储在关系型数据库中。
9.步骤四、生成排水管网三维模型:利用三维可视化软件平台或组件加载步骤三生成的gltf格式的数据文件,排水管网三维可视化软件平台或组件(如cesium、threejs等)支持加载多个标准格式的三维模型,所以需要排水管网三维模型的内存对象存储为可视化分析支持的标准格式。采用gltf的格式作为存储格式,该格式被多种三维可视化软件平台或组件支持。将所有已经复制和空间变换后的内存对象转换和存储为数据文件。通过计算机软件控制,按照gltf格式依次生成场景(scene)、节点(node)、相机(camera)、网格(mesh)、素材(material)、材质(texture)、访问器(accessor)、动画(animation)、缓存索引(bufferview)以及缓存数据(buffers),进而生成排水管网三维模型。
10.进一步的是,所述基本元件包括雨水管段、污水管段、雨污合流管段、检查井等。
11.进一步的是,所述雨水管段、污水管段、雨污合流管段基本元件的长度、直径均为1m。
12.进一步的是,所述空间变换包括对基本元件的位置、角度(包括竖直方向角度和水平方向角度等)和尺寸(包括管段长度、直径等)的改变。
13.进一步的是,步骤三中所述通过计算机程序复制基本元件自身数据,不复制基本元件公用数据,生成新的节点,新的节点引用基本元件公用数据,根据实际排水管网基本信息对基本元件进行空间变换逐个生成排水管网的各个组成部分的具体步骤为:(1)复制基本元件形成新节点:通过计算机程序复制基本元件自身数据(包括位置信息和空间变换信息),不复制基本元件公用数据(包括三维面片和素材信息),生成一个新的节点信息,新的节点引用基本元件公用数据;在三维模型中三维面片是占用三维模型文件的主体部分,因此不复制三维面片,可以很大程度上减小整个管网数据文件的大小。
14.(2)计算管网元素的位置、旋转角度和尺寸:根据实际排水管网基本信息得到或计
算出各管段的位置、竖直方向角度、水平方向角度、长度、直径。
15.(3)计算旋转的四元数:根据竖直方向角度、水平方向角度计算四元数来表达节点的旋转,因为gltf格式文件使用四元数(四元数是简单的超复数,四元数常用来作为旋转使用)来表达节点的旋转,所以根据竖直方向、水平方向角度计算四元数来表达节点的旋转。
16.(4)设置新节点的位置、旋转角度和尺寸:通过设置新节点的translation数据来设置新节点的位置信息,包括经度、纬度和高度三个数值;通过设置新节点的rotation属性来进行旋转角度的变换;通过设置新节点的scale属性来进行尺寸(包括管段直径和长度)的变换。
17.本发明的有益效果是:本发明所述的基于空间变换批量生成排水管网三维模型的方法可以在数秒内准确无误的生成1万段排水管网三维模型,相对于传统人工三维建模方法大大提高了三维模型的生成效率和准确率;并且通过对基本元件的复用,使得生成的排水管网三维模型的数据量比传统方法生成的三维模型的数据量大大降低,对于1万段排水管网的三维模型,其数据量降低约1000倍,大大降低了存储需求,提高了排水管网加载和可视化渲染的效率,提升了实际生产应用时的用户体验。
18.下面结合附图和实施例对本发明作进一步详细说明。
附图说明
19.图1为基于空间变换批量生成排水管网三维模型的方法流程图;图2为实施例一的基本元件三维模型图;图3为实施例一的gltf中三维模型的结构框图;图4 为实施例一的空间变换的流程图;图5为实施例一的排水管网的三维模型图;图6为实施例一的排水管网在三维gis中的可视化展示图;图7为实施例一的排水管网在三维gis中的开挖展示模式下的可视化展示图。
具体实施方式
20.实施例一本实施例提出一种基于空间变换批量生成排水管网三维模型的方法,如图1所示,包括以下步骤:步骤一、构建排水管网基本元件:利用三维建模工具构建排水管网基本元件,基本元件是形成排水管网三维模型的基本单元,通过对基本元件的变换可以生成不同位置、尺寸的排水管网三维组件,如管线的基本元件是长度、直径各为1m的圆柱形三维模型,那么任何长度、直径的圆柱形三维模型都可以通过空间变换生成,空间变换包括对基本元件的位置、角度和尺寸的改变。基本元件可以通过blender、sketchup、3dmax等工具构建。本实施例构建了四类基本元件,如图2所示,分别是检查井、雨水管段、污水管段以及雨污合流管段。构建的基本元件的尺寸为1个单元,便于后期的空间变换计算。以雨水管段为例,本实施例构建的雨水管段为长度、直径均为1m的圆柱形三维模型。基本元件的初始位置为坐标空间的原点,即基本元件的中心点与坐标空间的原点重合,这样便于空间变换时对其进行不同方向旋转的变换计算。将构建完成的多个基本元件的三维模型数据合并到一个文件中,并
导出为标准的gltf格式文件。
21.步骤二、对构建完成的基本元件进行读取和解析:将步骤一导出的gltf格式的基本元件的三维模型数据文件读入计算机内存,并按照gltf格式进行解析,获取基本元件三维模型的结构数据,将基本元件三维模型的结构数据分离为基本元件自身数据和基本元件公用数据,其中,基本元件自身数据包括位置信息和空间变换信息,基本元件公用数据包括三维面片和素材信息,并将基本元件三维模型的结构数据解析为计算机程序可操作的结构化对象。
22.gltf文件格式是一种描述三维场景的文件格式,是一个json文件格式,如图3所示,gltf中三维模型的结构包括场景(scene)、节点(node)、相机(camera)、网格(mesh)、素材(material)、材质(texture)、访问器(accessor)、动画(animation)、缓存索引(bufferview)以及缓存数据(buffers)。本实施例的gltf文件中包含了三维场景、节点、三维面片、相机、材质等的描述。由gltf文件格式可知,描述排水管网三维模型的基本元素包括节点、三维面片和素材信息,由节点描述信息可知节点和三维面片数据是可分离的,那么三维面片数据是可以被多个节点复用的,在三维模型中三维面片是占用三维模型文件的主体部分,因而三维面片的复用也是本实施例所述方法减少整体三维模型文件大小的关键因素。
23.步骤三、对基本元件进行复制与空间变换:通过计算机程序复制基本元件自身数据,不复制基本元件公用数据,生成新的节点,新的节点引用基本元件公用数据,根据实际排水管网基本信息对基本元件进行空间变换逐个生成整个排水管网的各个组成部分,并将最终生成的数据文件存储为gltf格式文件。
24.本实施例的基本元件有检查井、雨水管段、污水管段以及雨污合流管段,空间变换包括对各类基本元件的位置、角度和尺寸的改变。本实施例以雨水管段为例,复制一个雨水管段基本元件,然后通过空间变换来改变基本元件的位置、角度(包括竖直方向和水平方向的角度)以及尺寸(包括长度、直径)来形成所需管段的三维模型。具体步骤如图4所示,包括:(1)复制基本元件形成新节点:通过计算机程序复制基本元件自身数据(包括雨水管段的位置信息和空间变换信息),不复制基本元件公用数据(包括三维面皮和素材信息)生成一个新的节点信息,新的节点引用基本元件公用数据(包括三维面皮和素材信息);(2)计算管网元素的位置、旋转角度和尺寸:根据实际雨水管段信息得到或计算出各雨水管段的位置(即雨水管段中心点的位置,根据雨水管段起点、终点坐标计算)、竖直方向角度(根据雨水管段起点、终点坐标计算,得到与x方向的夹角,在三维坐标系中,x方向表示经度方向,且平行于水平面)、水平方向角度(根据雨水管段起点、终点坐标计算,得到与z方向的夹角,在三维坐标系中,z方向垂直于水平面)、长度、直径;(3)计算旋转的四元数:根据竖直方向角度、水平方向角度计算四元数来表达节点的旋转;因为gltf使用四元数来表达节点的旋转,所以根据竖直方向、水平方向角度计算四元数来表达节点的旋转;(4)设置新节点的位置、旋转角度和尺寸:通过设置新节点的translation数据来设置新节点的位置信息,包括经度、纬度和高度三个数值;通过设置新节点的rotation属性来进行旋转角度的变换;通过设置新节点的scale属性来进行尺寸的变换。
25.经过上述空间变换后新节点成为了一个全新的雨水管段三维模型,以此方式逐步生成其他全部的雨水管段。采用同样的步骤生成其他排水管网各组成部分,区别是各个基本元件的空间变换方式不尽相同,比如检查井一般都是垂直向上的,不需要进行旋转操作等。生成所有三维模型目前作为内存对象存在。
26.步骤四、生成排水管网三维模型:利用三维可视化软件平台或组件加载步骤三生成的gltf格式的三维模型的数据文件,排水管网三维可视化软件平台或组件(如cesium、threejs等)支持加载多个标准格式的三维模型,所以需要排水管网三维模型的内存对象存储为可视化分析支持的标准格式。本实施例采用gltf的格式作为存储格式,该格式被多种三维可视化软件平台或组件支持。将所有已经复制和空间变换后的内存对象转换和存储为数据文件。通过计算机软件控制,按照gltf格式依次生成场景(scene)、节点(node)、相机(camera)、网格(mesh)、素材(material)、材质(texture)、访问器(accessor)、动画(animation)、缓存索引(bufferview)以及缓存数据(buffers),进而生成排水管网三维模型。生成的数据文件严格按照gltf的json格式生成,由于同一类排水管网三维模型复用了网格数据(三维面片),整个生成的三维模型数据文件的体积大大减少。本实施例生成的部分排水管网三维模型如图5所示。
27.对于相对数量较少的特殊组件,如泵站、转角等,则可以在整体管网生成后通过少量的人工进行修补,从而得到最终所需的完整、正确的排水管网三维模型。
28.排水管网的三维模型生成后,可以通过基于cesium开发的三维gis平台来进行直观展示,如图6、图7所示。通过该平台系统的三维可视化分析,直观展示排水管网的形态、走向;直观展示排水管网和地面建筑物之间的关系;直观分析排水管网的内部关系,比如交叉管网的交叠方式,污水管网和雨水管网的位置关系;同时,还为排水管网的普查数据查错提供了一个直观的工具(更容易发现数据的错误)。
29.通过本实施例所述方法可以批量自动生成排水管网三维模型,对于1万个管段的区域,全部生成管网的时间约为10s,相对于人工方法构建三维模型效率极大的提高了。此外,1万个管段的区域生成的三维管网模型数据文件大小约为5.558m大小,文件体积小,相应的应用系统中加载效率也大大提高。
30.最后应说明的是,以上所述仅用以说明本发明的技术方案而非限制,尽管参照较佳布置方案对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1