APP下载

基于OpenGL的地下管线三维缓冲分析算法研究及应用

2016-11-18蔡振锋密长林王荣华刘荔张登峰

山东国土资源 2016年9期
关键词:三维空间曲面边界

蔡振锋,密长林,王荣华,刘荔,张登峰

(临沂市国土资源局,山东 临沂 276000)



技术方法

基于OpenGL的地下管线三维缓冲分析算法研究及应用

蔡振锋,密长林,王荣华,刘荔,张登峰

(临沂市国土资源局,山东 临沂 276000)

三维空间关系比二维要复杂得多,它们的缓冲分析功能也多是基于二维数据运算,基本没有实现构建管线实体的三维缓冲体,非真正意义上的三维缓冲分析。该文采用断面与体面三角剖分拟合的方法,基于OpenGL构建了管线实体的点、线、体的三维缓冲体模型,实现了管线实体的缓冲体分析,验证了缓冲体分析算法的有效性和正确性。

缓冲分析;缓冲体;三维可视化;地下管线

随着城市化进程的快速推进,由城市建设施工引起的各类管线事故频发,事故发生后需要快速确定其空间影响范围,并提出控制污染或减小影响的决策方案,这迫切需要进行三维空间缓冲分析[1-3]。同时,近年来智慧城市建设快速推进,各城市搭建了众多管线管理的地理信息系统,但其管线的三维空间分析功能都相对较弱。三维空间关系比二维要复杂得多,它们的缓冲分析功能也多是基于二维数据运算,基本没有实现构建管线实体的三维缓冲体,非真正意义上的三维缓冲分析。该文基于实际需求,深入研究三维缓冲体生成的算法。

1 缓冲体定义

缓冲区分析的基本思想是给定一个空间物体或空间物体的集合,确定其某种邻域,邻域的大小由邻域半径r决定[4]。基于二维空间定义的缓冲区分析已不能满足实际分析需求,为了实现基于三维空间体的缓冲分析,需对三维缓冲的概念进行重新分析和定义。因此,把缓冲体定义为离开空间实体一定距离的空心封闭有界体。为了便于对缓冲体模型的描述,定义如下与缓冲体分析相关的概念。

(1)轴线:有序空间坐标点构成的空间曲线。

(2)拐点:轴线上相邻两条线段的交点。

(3)端点:构成轴线的有序空间坐标点的第一个点和最后一个点,第一个点为起点,最后一个点为终点。

(4)缓冲体边界:描述空间实体在缓冲半径r内的体域的空间拟合曲面。

2 缓冲体分析模型

缓冲体分析模型是运用缓冲分析原理构建的分析模型,缓冲体模型是缓冲体分析的基本前提。该文深入研究了点实体、线、体实体三维缓冲体模型的构建。

2.1 点状目标的缓冲体模型

(1)

图1 点缓冲体断面

图2 点缓冲体断面拟合图

2.2 线实体的缓冲体模型

线实体的缓冲体是指空间范围内到线实体的距离为缓冲距R的所有点集合,线实体可以分为直线段实体(图3)与折线段实体(图4),因此要分别构建线实体的缓冲体模型。通过对线实体构建缓冲体模型的分析,认为其缓冲体构建原理与算法与管线三维模型的构建基本相似,可采用三维管线模型的构建原理与算法来实现。

图3 直线段实体缓冲体

图4 折线段实体缓冲体

2.3 体实体的缓冲体模型

体实体的缓冲体(图5)是指空间范围内到体实体曲面边界的距离为缓冲距R的所有点集合。在地下三维管线系统中,体实体主要是指通过管线建模构建三维管线模型。依据体实体的缓冲体定义,体实体的缓冲体模型为圆筒体型,它由缓冲体内曲面边界(即体实体的曲面边界)和缓冲体的外曲面边界共同围成的。因此,体实体的缓冲体模型的构建可以分为内曲面边界的构建、外曲面边界的构建和体实体缓冲体的构建3个过程。

图5 管线体的缓冲体模型

管线三维实体模型是由管线中心线数据为基础建模数据构建的。因此,管线实体的缓冲体模型的内外曲面边界的构建时,可采取相类似的原理与算法。首先提取所要构建缓冲体的三维管线实体的中心线数据及该管线实体的口径r大小。采用管线建模的方法,以中心线数据和管径r构建管线实体的缓冲体的内曲面边界模型,以管线中心线数据、管径r和缓冲距R构建管线实体的缓冲体的外曲面边界模型。

由计算所得的缓冲体内曲面边界数据和外曲面边界数据,通过内外边界数据组成缓冲体体面,对缓冲体体面进行三角剖分拟合构建缓冲体模型[5],如图6所示。

图6 缓冲体体面三角剖分拟合图

2.4 缓冲体端点处处理

缓冲体是一个包含整个实体的封闭空间模型,在2.2和2.3中线实体与体实体的缓冲体模型构建时,该文仅仅处理了主体缓冲体的构建,未对缓冲体的端点进行封闭处理。缓冲体端点处理包含2部分:缓冲体起点(图7)与缓冲体终点(图8)。端点处缓冲体模型构建的基本思想与点缓冲体的类似,但线/体实体的缓冲体模型在端点处是以半球体形式表示的。

图7 缓冲体起点处

图8 缓冲体终点处

2.5 缓冲体模型

依据上述原理与分析构建的各类缓冲体模型--点缓冲体、线缓冲体、体缓冲体。如图9所示,a)为点缓冲体模型,b)为线缓冲体模型,c)为体缓冲体模型。

图9 缓冲体模型图

3 缓冲体模型应用与分析

缓冲体模型的构建是为了进行三维空间缓冲分析,缓冲体分析的目的就是确定在缓冲域值R内所影响到的空间实体,如铺设地下管线开挖路面所影响到的范围与空间实体,石油管线破裂后所影响的范围大小等。为了快速准确计算影响范围内的空间实体,采用轴向包围盒相交判断及线段(构成包围盒的线段)与空间实体相交的方法。

3.1 包围盒相交判断

对象的包围盒被定义为包含该对象且各边平行于坐标轴的最小的六面体[4],如图10所示。轴向包围盒可表示为:

R={(x,y,z)|minx≤x≤maxx,

miny≤y≤maxy,minz≤z≤maxz}

图10 三维实体包围盒示意图

依据该文前述的管线模型和三维缓冲体的模型构建方法可知,任何复杂的管线或缓冲体空间实体均可视为由连续的类直管线或缓冲体构成。因此,复杂的相交判断可以简化为类直管线或缓冲体的简单包围盒相交判断,如图11所示。采用判断包围盒在3个坐标轴上的投影区间是否重叠来判断包围盒的重叠情况,当且仅当参与相交判断的2个包围盒在3个坐标轴上的投影区间均重叠,该参加运算的两2个包围盒相交[6]。

图11 轴向包围盒相交测试

3.2 线段与三角形求交

管线空间实体与三维缓冲体均是采用三角剖分拟合构成的,由空间实体和缓冲体的数据结构可知,任何实体均是由基本的点、线、面构成。因此,与缓冲体的相交判读可以理解为线与面的相交运算。将线段定义为一个基点P和一个方向向量d。即L(t)=P+td。将三角形定义为一组有序顶点(V0,V1,V2),如图12所示。

图12 线段-三角形求交图

三角形内的任何点都可以用它相对于三角形的顶点的位置来定义:

Q(u,v,w)=wV0+uV1+vV2

(2)

其中u+v+w=1。

由上述方程计算线-三角形相交:

P+td=(1-u-v)V0+uV1+vV2

(3)

(4)

由克拉姆法则,有:

依据上述公式,计算求得t,u,v。如果0≤u≤1,0≤v≤1并且0≤u+v≤1,在三角形内部有交点,否则,交点在三角形外,不与三角形实际相交。进行上述计算的伪代码:

Bool LineTriangleIntersection(Triangle3D tri,Line3D line,Isect& info,float epsilon,Point3D& intersection)

{

Vector3D e1,e2,p,s,q;

float t,u,v,temp;

e1=tri.v1-tri.v0;e2=tri.v2-tri.v0;

p=Cross(line.direction,e2);

temp=Dot(p,e1);if(temp>-epsilon&&temp

temp=1.0/temp;

s=line.orign-tri.v0;

u=temp*Dot(s,p);if(u<0.0||u>1.0){return false;}

q=Cross(s,e1);

v=temp*Dot(d,q);if(v<0.0||v>1.0){return false;}

t=temp*Dot(e2,q);

info.u=u;info.v=v;info.t=t;

intersection=line.orign+t*line.direction;

return true;

}

4 结论

缓冲区/体分析是空间分析的基本功能之一。当前的缓冲区分析多是针对二维空间的点状地物、线状地物和面状地物,然而基于三维空间实体的三维缓冲体分析成为解决客观实际的需求。该文通过对缓冲体相应的分析建立了点、线、体的三维缓冲体模型,并进行了管线的缓冲体分析,如图13所示。

图13 管线缓冲分析模型图

在开挖铺设新管线或者管线发生爆裂时,通过缓冲体分析可以确定其对哪些管线造成影响,并对受到影响的管线进行相应的统计,并确定了简单的空间拓扑关系。

[1] 吴立新,史文中.地理信息系统原理与算法[M].北京:科学出版社,2003.

[2] 田振环,于晓霞,曹艳玲.利用MEMapGIS快速绘制地质图件方法探讨[J].山东国土资源,2014,30(7):65-70.

[3] 赵云昌,丁莹莹,高照根,等.基于机载Lidar的地貌数据快速更新方案研究[J].山东国土资源,2014,30(12):69-71.

[4] 郭仁忠.空间分析[M].北京:高等教育出版社,2001.

[5] 孙久虎.数字矿山三维动态监管关键技术研究与应用[J].山东国土资源,2015,31(9):63-66.

[6] 谢凯,杨杰.一种基于虚拟手术的三维碰撞检测算法[J].上海交通大学学报,2007,41(6):865-869.

Application of Three Dimensional Buffer of Underground 3D Pipeline Based on OpenGL

CAI Zhenfeng,MI Changlin,WANG Ronghua,LIU Li,ZHANG Dengfeng

(Linyi Bureau of Land and Resources,Shandong Linyi 27600, China)

Three-dimensional relationship is much more complex than two-dimensional. The buffer analysis of their functions is also operated based on two-dimensional datas.3D buffer pipeline construction has not been realized entirely. It is not real analysis of 3D buffer. In this paper, by using the method of cross section and decent triangulation fitting, 3D model including buffer pipeline point, line and body has been constructed based on OpenGL. It has realized the analysis on pipeline buffer entity, and verified the correctness and effectiveness of buffer analysis algorithm.

Buffer analysis; buffer region; 3D visualization

2016-02-26;

2016-05-25;编辑:王敏

蔡振锋(1982—),男,山东费县人,工程师,主要从事数字城市及3S技术应用研究;E-mail:qweer@126.com

P208

B

蔡振锋,密长林,王荣华,等.基于OpenGL的地下管线三维缓冲分析算法研究及应用[J].山东国土资源,2016,32(9):60-64.CAI Zhenfeng,MI Changlin,WANG Ronghua,etc.Application of Three Dimensional Buffer of Underground 3D Pipeline Based on OpenGL[J].Shandong Land and Resources, 2016,32(9):60-64.

猜你喜欢

三维空间曲面边界
拓展阅读的边界
意大利边界穿越之家
相交移动超曲面的亚纯映射的唯一性
红领巾环保走进三维空间——“6·5世界环境日”活动方案
圆环上的覆盖曲面不等式及其应用
论中立的帮助行为之可罚边界
三维空间的二维图形
基于曲面展开的自由曲面网格划分
白纸的三维空间
“伪翻译”:“翻译”之边界行走者