查看原文
其他

三维管网自动建模研究

2017-08-11 黄 明,张岩岩等 勘测联合网

来源:《地理信息世界》2016年4月

作者:黄 明,张岩岩,盛国君,李 军


【摘要】管线三维建模是构建数字城市的重要内容,目前,管网建模技术主要是基于手工或标准连接件的半手工建模,而三维管网的全自动建模存在建模过程复杂、效率低、模型质量差等不足。针对这一问题,本文提出了一种基于管线路径扫略、形体放样及布尔运算的复杂三维管线模型自动生成算法。根据截面形状参数曲线,运用图形变换,沿路径确定内插截面法线实现管线路径扫略三维模型构建;形体放样则是以放样截面间以各自顶点组成三角形为基元的小平面来构造管线表面,采用逼近方式拟合三维管线的整体形状;布尔运算的联合、交、差几何计算实现管网交叉贯通复杂模型的三维建模。通过实例验证,表明了该方法能够快速、高效实现任意复杂管网高质量三维模型的构建。


【关键词】三维管网;三维自动建模;路径扫略;形体放样;布尔运算


0 引 言

  

近年来管网数据的管理以及建模技术的研究已经受到人们广泛的重视,并且三维管线能直观地描述管线间纵横交错、上下起伏的空间关系,具有较强的逼真感和立体感,有利于全面真实地反映城市管网的分布情况,所以,管线的建模正经历着从二维到三维的跨越。从管网建模自动程度上来分,主要分为手动建模,半自动建模,自动建模。对于基于三维建模软件的手动建模来说,建模精度高,但建模工作复杂,速度缓慢,费时费力。也有不少专家学者以及生产单位使用加载标注连接件的半自动建模,即利用目前流行的三维建模软件将不同类型的管线对象(弯头、三通、四通)事先按照1:1的比例创建三维仿真模型,并且给每一类模型对应一个编号,保存为一般软件能够识别的格式。然后,结合三维地理信息软件通过空间位置信息进行自动批量创建。这种办法是当下主流的管网建模方式。如基于ArcGIS结合Skyline等三维建模软件快速批量创建三维管网。这种建模方法虽然提高了三维模型构造速度,但自动化程度低、灵活性较差,管线的显示过程中耗费大量的时间,而且随着数据量的增大,加载连接件的增多,程序运行缓慢。而事实上,也不可能创建足够多的模型以满足所有需求[1]。关于三维管网的全自动建模,近些年来一些专家学者对于管线的三维建模做了深入的研究。目前,三维直线管线的模型构建算法已经相当成熟。李清泉、杨勇等人提出了一种简单有效的分段推算模型的计算方法[2]。该方法首先计算端点处管段截面边缘的n 个顶点,然后依次推算出其余分段点处管线截面的各个顶点。朱合华[3]从基于切片建立三维几何模型的思路出发,采用了三角形面来构造类圆柱面,并采用TIN模型表达,灵活性较强。而管线拐点处的平滑,以及管线交叉处的贯通的问题却是三维空间管网模型需要特别处理的地方。左国成、王山东提出一种基于旋转矢量法的三维管线建模[4],此方法是通过从原有二维管线中心线数据中计算提取出管线表面顶点的坐标,实现管线面的重构,能够构建出弯曲管线,这种算法直观易懂,但是需要逐点求解出空间坐标,不适合应用于大数据量管网的自动建模过程。王建明[5]等普遍使用求相贯线解决交叉管线的贯通问题的算法计算复杂,过程烦琐。


目前的管网自动建模方法计算复杂,尤其是管线数据量较大时,难以实现复杂管网模型的自动构建。所以,本文将从直管建模、弯管建模、交叉管线建模3个方面来介绍综合管网的建模方法,并且主要论述拐弯处平滑处理算法,以及管线交叉处贯通问题。利用面向对象的程序设计与编程方法设计了一种能够灵活、快速进行三维管线自动建模的方法,并进行了试验,取得了较好的效果。


1 管网建模算法


1.1 形体沿路径扫略算法

扫略在图形的生成和设计中方便灵活,应用广泛;最简单的扫略面是单路径或单截面线的回转面和拉伸面(如图1所示),进而有多路径单截面线、单路径多截面线、多路径多截面线的扫略面[6]。在形体的生成过程中(如图2所示),输入路径曲线以及沿路径方向的截面形状曲线,通过获取路径曲线和封闭的截面曲线的位置和形状信息来生成沿路径方向的管状物体。


路径定义数据的获取:首先通过实体选择函数获取路径曲线,再通过实体对象函数来访问实体的数据 库,迭代遍历整个数据库,检索出各个顶点子实体的空间位置坐标。在路径上的线段可能是直线段也可能是弧线段,因此,要做分别处理。对于弧线段需要重新参数化,即对弧段进行等分,求出等分点的坐标以及等分点的切线方向向量,作为沿路径方向截面的位置坐标以及截面的法向量[7]


截面形状曲线定义数据的获取:截面形状曲线是一个封闭的曲线。在计算得到这个截面的所有顶点数据之后,按照一定的顺序来存储这些顶点数据,然后求出这个多边形的中心点,作为以后进行形体变换的基点。


通过图形变换将截面形状曲线沿路径曲线进行扫略:图形变换一般是指对图形上的几何信息经过几何变换之后产生新的图形[6]。图形变换可以理解为在坐标系不动的情况下变动图形,变动后的图形在该坐标系下的坐标值发生变动;也可以理解为在图形不动的情况下坐标系发生变动,变动后的图形在新的坐标系下具有新的坐标值。在扫略的过程中,我们利用图形变换把截面形状曲线的顶点坐标变换到路径上某一截面的顶点坐标,并且此截面的法线方向与该点的切线方向一致[7]。利用变换后的坐标来构造物体。

1.2 形体放样算法

放样即在数个横截面之间的空间中创建三维实体或曲面,如图3所示。放样的横截面可以是开放或者闭合的平面或者非平面,也可以是边子对象开放的横截面创建曲面,闭合的横截面创建实体或曲面。而且可以为放样操作制定路径,以更好地控制放样对象的形状,而且路径路线应始于第一个横截面所在的平面,止于最后一个横截面所在的平面[8]


计算横截面的所有顶点数据,在得到这个截面的所有顶点数据之后,按照一定的顺序来存储这些顶点数 据,相邻横截面的对应顶点组成小平面,小平面采用小三角形去填充。放样的过程就是以三角面片构造管线表面,N 个三角形连接构成了一个棱柱体,逼近形成圆柱面。

1.3布尔运算

布尔运算(Boolean operation)是处理两值之间关系的逻辑数学计算法,包括联合、相交、相减[6]。布尔操作可以计算不同类型的布尔操作间的冲突。对于三维图形来说,布尔运算通过对两个以上的三维形体进行并集(Union)、交集(Intersection)、差集(Subtraction,包括A~B和B~A 两种)的运算得到新的三维形体。并运算在造型应用的含义为保留在A之外或在B之外的所有拓扑元素,并删除新形体内部的结构或冗余元素。交运算保留那些同时属于A和B的元素,删除两形体之一外部元素。差运算在造型过程中意即保留A中那些既在A中,又在B中的元素,并删除B中所有的元素[6],如图4~图6所示。

  

2 管线模型自动重建

  

管线的空间几何位置包括:管线起点坐标、管线终点坐标、管径[9]。管线中心线上点的空间坐标能够确定管线空间位置和方向。本文综合运用扫略算法与放样算法基于管线中心线数据开发一种快速进行直线管线、弯曲管线,以及交叉管线等单一管线的建模方法。并且综合运用布尔运算中交、差、并等操作来实现由基本管线构建综合管网的过程。


2.1 直线管线建模

直线管线建模在管线建模中是最简单的。目前,三维直线管线的模型构建算法已经相当成熟,在这里我们使用扫略和放样两种方法来实现直线管线建模。使用扫略方法建立直线管线模型:首先,以管线的起点定义一个圆C,其次,连接管线的起点与终点,定义一条扫描中心线L,再次,对圆C沿着中心线L进行扫描,完成直线管线的建模过程。在通过放样方式建立直线管线模型的过程中,截面为圆形的管线可以以圆柱体来表示,其中以管线半径作为圆柱体的截面半径,管线中心线作为圆柱面的轴线。首先,以管线的起点为圆心O,以管线的截面半径为圆的半径定义一个圆C1,其次,以管线的终点定义一个圆C2,然后,C1,C2放样生成管线。


2.2 弯曲管线建模

管线网络系统中,一条管线是由若干管线段组成的,相邻的管线段由管点首尾相连,因此,在平面图中,一条管线是由折线来表示的,如果也采用折线的方式来生成管线的话,则会出现管线段连接处不闭合的情况,如图7所示。为使三维管线形象逼真,在管线转弯处需要圆滑处理。弯曲管线建模的关键技术是弯曲管线处曲面三维的处理。弯曲管线处管线的边界发生变化,需要进行边界空间直线段的求交和插值光滑。通过构造起点断面、终点断面,以及管线中心线,综合利用放样和扫略算法,实现弯曲管线模型构建。弯管类型众多,本文主要实现两种类型弯曲管线模型的构建。在构建过程中,通过相交处平滑模式实现弯曲平滑管线模型的构建,通过延长相交模式实现弯曲非平滑管线模型的构建。

管线在弯曲管线处相对于中心线左右两侧的平行线段,若一侧相交,则另一侧一定不相交。对于相交的一侧以交点作为边界特征点,对于不相交的一侧则以管线宽L 的1/2长度为半径R ,且过此侧的第2个、第3个特征点补充一条圆弧以使管线在弯曲管线处光滑。


根据圆曲线元素及计算公式计算圆弧:如图8所示,以O2为圆心,以R 为半径,过r2和r3的圆弧计算过程如下:

管线在弯曲管线处相对于中心线左右两侧的平行线段,对于相交的一侧以交点作为边界特征点,对于不相交的一侧则延伸管线以使管线在弯曲管线处的另一侧相交于一点。结果如图10所示。

2.3 交叉管线建模

两条直线管线在其内部出现交叉,其中一个管线穿越另外一个管线的内部,在xoy投影图上,相对于节点的排序,可判断出管线帮边界的相交情况,其规律是当前管线的左帮与下一条管线的右帮相交。根据图形集合并运算可知,两段直线管线的外部图形需要保留,而删除两直线管线内部的元素。图11所示两条管线相会于中心点O,管线相邻的帮边界两两相交于A、B、C、D。那么,边AB、BC、CD、AD应该被删除。根据布尔差运算可以实现上述过程,但是经过管线求差处理之后,在管线的底部会出现空洞的区域,如图11中的多边形区域ABCD,为此,在节点处还必须补上这些缺失,对两条管线进行布尔交运算,则可以得到底部的空洞区域。

综上所述,交叉管线建模的实现过程如流程图12所示。以空心管线交运算结果与空心管线、实心管线的差运算结果做一个并运算即可得到贯通管线。


3 实 验

 

为了验证算法的可行性与实用性,本文基于Visual Studio 2013平台,利用C++语言编写实现了三维管网的建模算法。依据本文提出的相关理论和方法,在二维管线图的基础上对北京建筑大学大兴校区测绘楼的采暖管线进行了三维管网模型的重建,实现了管网的自动建模,为北京建筑大学管网信息的显示与后期的管理奠定了良好的数据基础。


如图13(a)中所示为综合管网自动重建在三维场景中显示的效果。不仅包含了3个楼层每一层的管网图,而且实现了3个楼层之间相互连接的立管图的三维模型重建。图13(b)所示为处理之前与处理之后的弯管模型对比效果,左图为未放样之前不闭合的弯管,右图为通过扫略与放样构建的闭合弯管模型。可以看出,本文算法能够很好地处理弯管拐点连接问题,在管网自动构建的过程中成功实现了弯管模型的创建。图13(c)为交叉管线贯通前后的对比,左面图形是未处理之前的两条交叉管线的内部情况,两条管线分别阻碍了对方的贯通,不符合实际管网的内部结构。右图为通过布尔运算之后的交叉管网图,实现了两交叉管线的贯通。

实验表明,该建模方法具有良好的稳健性及普适性,能够实现较复杂场景管网模型的重建,且算法简单易用,能够快速地实现基于二维管线图的三维管网建模。

  

4 结束语


本文对比了目前常见的三维管网建模的方法,提出了一种基于扫略与放样算法自动建立管线模型的方法。首先,解决了简单的直线管线的建模问题,进而解决了弯管模型的平滑处理,以及交叉管线建模中存在的管线贯通问题,并且在理论的基础上利用C++语言进行编程实现了混合管网的自动建模。


本算法较好地解决了基于现有管线中心线数据的管网自动建模问题,解决了文献[16]中不能处理立管建模问题,算法能够满足大型楼宇管网的自动模型重建需求。但是并没有涉及通过非传统测量方式获取的管线数据的建模问题。随着三维激光扫描数据技术在工程中尤其是管线测量中的广泛应用,基于点云数据进行管线建模已成为人们着重研究的问题[17]。在以后的工作中我们将着重研究把这些方法运用到三维点云数据中,实现基于点云数据管网的全自动建模。


参考文献

  [1] 刘广社, 王浩. 基于 OpenGL 的管线三维显示方法研究[J].城市勘测, 2007,13(1): 49-51.

  [2] 李清泉, 严勇, 杨必胜, 等. 地下管线的三维可视化研究[J].武汉大学学报: 信息科学版, 2003, 28(3): 277-282.

  [3] 朱合华, 吴江斌. 管线三维可视化建模[J]. 地下空间与工程学报, 2005, 1(1): 30-33.

  [4] 左国成, 王山东. 基于旋转矢量法的三维管线建模[J]. 计算机与数字工程, 2013, 41(1): 118-120.

  [5] 王建明, 苏永琳. 空间多管相贯计算机放样的新算法[J].济南:山东大学学报: 工学版, 2006, 35(6): 29-31.

  [6] 孙家广,杨长贵. 计算机图形学[M]. 北京:清华大学出版社,1994.

  [7] 钟华, 马德骏. 沿路径放样的算法设计及程序实现[J]. 武汉工业大学学报, 1999, 21(1): 51-54.

  [8] 洪斌, 爱民. AutoCAD 2007 中文版实用教程[M]. 北京:人民邮电出版社, 2006.

  [9] Wan Xianmei. Study and realization of the 3D pipenetwork geographical information systems[J]. Shandong

  University of Science and Technology,2004

  [10] 陶国强, 吴良才, 李大军. 城市地下管线三维模型的实现[J].测绘科学, 2006, 31(6): 110-112.

  [11] 孙伟. 地下管线探测数据处理及可视化技术研究[D]. 郑州:信息工程大学, 2012.

  [12] 刘维敏, 姚志强, 王峰, 等. 基于 OpenGL 城市大规模管网三维建模[J]. 测绘科学, 2010, 35(3): 185-186.

  [13] 汪玉玺. 基于三坐标测量机的测量软件MworksCAD[J]. 计算机辅助工程,2007,16(2):29-31.

  [14] TURNERA K.Three-dimensional modeling with geoscientific information system[M].Dordrecht:NATO

  ASl354,Kluwer Academic Publishers,1992.

  [15] 赖承芳. 三维建模技术及其在城市地下管网系统建设中的应用[D]. 北京:中国地质大学 , 2013.

  [16] 陈玉龙. 地下管网三维建模技术的研究与实现[D]. 北京:北京建筑大学, 2014.

  [17] 丁伟, 冯飞, 吴维勇. 基于 Open CASCADE 下的点云数据的研究与实现[J]. 制造业自动化, 2010


推荐阅读

城市地下管线三维建模关键技术研究

地下管线探测作业指导书

工程测量规范(GB50026-2007)--线路、地下管线、施工测量




----------------    推  广    ---------------


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存