蔡振鋒,密長林,王榮華,劉荔,張登峰
(臨沂市國土資源局,山東 臨沂 276000)
?
技術方法
基于OpenGL的地下管線三維緩沖分析算法研究及應用
蔡振鋒,密長林,王榮華,劉荔,張登峰
(臨沂市國土資源局,山東 臨沂 276000)
三維空間關系比二維要復雜得多,它們的緩沖分析功能也多是基于二維數(shù)據(jù)運算,基本沒有實現(xiàn)構建管線實體的三維緩沖體,非真正意義上的三維緩沖分析。該文采用斷面與體面三角剖分擬合的方法,基于OpenGL構建了管線實體的點、線、體的三維緩沖體模型,實現(xiàn)了管線實體的緩沖體分析,驗證了緩沖體分析算法的有效性和正確性。
緩沖分析;緩沖體;三維可視化;地下管線
隨著城市化進程的快速推進,由城市建設施工引起的各類管線事故頻發(fā),事故發(fā)生后需要快速確定其空間影響范圍,并提出控制污染或減小影響的決策方案,這迫切需要進行三維空間緩沖分析[1-3]。同時,近年來智慧城市建設快速推進,各城市搭建了眾多管線管理的地理信息系統(tǒng),但其管線的三維空間分析功能都相對較弱。三維空間關系比二維要復雜得多,它們的緩沖分析功能也多是基于二維數(shù)據(jù)運算,基本沒有實現(xiàn)構建管線實體的三維緩沖體,非真正意義上的三維緩沖分析。該文基于實際需求,深入研究三維緩沖體生成的算法。
緩沖區(qū)分析的基本思想是給定一個空間物體或空間物體的集合,確定其某種鄰域,鄰域的大小由鄰域半徑r決定[4]。基于二維空間定義的緩沖區(qū)分析已不能滿足實際分析需求,為了實現(xiàn)基于三維空間體的緩沖分析,需對三維緩沖的概念進行重新分析和定義。因此,把緩沖體定義為離開空間實體一定距離的空心封閉有界體。為了便于對緩沖體模型的描述,定義如下與緩沖體分析相關的概念。
(1)軸線:有序空間坐標點構成的空間曲線。
(2)拐點:軸線上相鄰兩條線段的交點。
(3)端點:構成軸線的有序空間坐標點的第一個點和最后一個點,第一個點為起點,最后一個點為終點。
(4)緩沖體邊界:描述空間實體在緩沖半徑r內(nèi)的體域的空間擬合曲面。
緩沖體分析模型是運用緩沖分析原理構建的分析模型,緩沖體模型是緩沖體分析的基本前提。該文深入研究了點實體、線、體實體三維緩沖體模型的構建。
2.1 點狀目標的緩沖體模型
(1)
圖1 點緩沖體斷面
圖2 點緩沖體斷面擬合圖
2.2 線實體的緩沖體模型
線實體的緩沖體是指空間范圍內(nèi)到線實體的距離為緩沖距R的所有點集合,線實體可以分為直線段實體(圖3)與折線段實體(圖4),因此要分別構建線實體的緩沖體模型。通過對線實體構建緩沖體模型的分析,認為其緩沖體構建原理與算法與管線三維模型的構建基本相似,可采用三維管線模型的構建原理與算法來實現(xiàn)。
圖3 直線段實體緩沖體
圖4 折線段實體緩沖體
2.3 體實體的緩沖體模型
體實體的緩沖體(圖5)是指空間范圍內(nèi)到體實體曲面邊界的距離為緩沖距R的所有點集合。在地下三維管線系統(tǒng)中,體實體主要是指通過管線建模構建三維管線模型。依據(jù)體實體的緩沖體定義,體實體的緩沖體模型為圓筒體型,它由緩沖體內(nèi)曲面邊界(即體實體的曲面邊界)和緩沖體的外曲面邊界共同圍成的。因此,體實體的緩沖體模型的構建可以分為內(nèi)曲面邊界的構建、外曲面邊界的構建和體實體緩沖體的構建3個過程。
圖5 管線體的緩沖體模型
管線三維實體模型是由管線中心線數(shù)據(jù)為基礎建模數(shù)據(jù)構建的。因此,管線實體的緩沖體模型的內(nèi)外曲面邊界的構建時,可采取相類似的原理與算法。首先提取所要構建緩沖體的三維管線實體的中心線數(shù)據(jù)及該管線實體的口徑r大小。采用管線建模的方法,以中心線數(shù)據(jù)和管徑r構建管線實體的緩沖體的內(nèi)曲面邊界模型,以管線中心線數(shù)據(jù)、管徑r和緩沖距R構建管線實體的緩沖體的外曲面邊界模型。
由計算所得的緩沖體內(nèi)曲面邊界數(shù)據(jù)和外曲面邊界數(shù)據(jù),通過內(nèi)外邊界數(shù)據(jù)組成緩沖體體面,對緩沖體體面進行三角剖分擬合構建緩沖體模型[5],如圖6所示。
圖6 緩沖體體面三角剖分擬合圖
2.4 緩沖體端點處處理
緩沖體是一個包含整個實體的封閉空間模型,在2.2和2.3中線實體與體實體的緩沖體模型構建時,該文僅僅處理了主體緩沖體的構建,未對緩沖體的端點進行封閉處理。緩沖體端點處理包含2部分:緩沖體起點(圖7)與緩沖體終點(圖8)。端點處緩沖體模型構建的基本思想與點緩沖體的類似,但線/體實體的緩沖體模型在端點處是以半球體形式表示的。
圖7 緩沖體起點處
圖8 緩沖體終點處
2.5 緩沖體模型
依據(jù)上述原理與分析構建的各類緩沖體模型--點緩沖體、線緩沖體、體緩沖體。如圖9所示,a)為點緩沖體模型,b)為線緩沖體模型,c)為體緩沖體模型。
圖9 緩沖體模型圖
緩沖體模型的構建是為了進行三維空間緩沖分析,緩沖體分析的目的就是確定在緩沖域值R內(nèi)所影響到的空間實體,如鋪設地下管線開挖路面所影響到的范圍與空間實體,石油管線破裂后所影響的范圍大小等。為了快速準確計算影響范圍內(nèi)的空間實體,采用軸向包圍盒相交判斷及線段(構成包圍盒的線段)與空間實體相交的方法。
3.1 包圍盒相交判斷
對象的包圍盒被定義為包含該對象且各邊平行于坐標軸的最小的六面體[4],如圖10所示。軸向包圍盒可表示為:
R={(x,y,z)|minx≤x≤maxx,
miny≤y≤maxy,minz≤z≤maxz}
圖10 三維實體包圍盒示意圖
依據(jù)該文前述的管線模型和三維緩沖體的模型構建方法可知,任何復雜的管線或緩沖體空間實體均可視為由連續(xù)的類直管線或緩沖體構成。因此,復雜的相交判斷可以簡化為類直管線或緩沖體的簡單包圍盒相交判斷,如圖11所示。采用判斷包圍盒在3個坐標軸上的投影區(qū)間是否重疊來判斷包圍盒的重疊情況,當且僅當參與相交判斷的2個包圍盒在3個坐標軸上的投影區(qū)間均重疊,該參加運算的兩2個包圍盒相交[6]。
圖11 軸向包圍盒相交測試
3.2 線段與三角形求交
管線空間實體與三維緩沖體均是采用三角剖分擬合構成的,由空間實體和緩沖體的數(shù)據(jù)結構可知,任何實體均是由基本的點、線、面構成。因此,與緩沖體的相交判讀可以理解為線與面的相交運算。將線段定義為一個基點P和一個方向向量d。即L(t)=P+td。將三角形定義為一組有序頂點(V0,V1,V2),如圖12所示。
圖12 線段-三角形求交圖
三角形內(nèi)的任何點都可以用它相對于三角形的頂點的位置來定義:
Q(u,v,w)=wV0+uV1+vV2
(2)
其中u+v+w=1。
由上述方程計算線-三角形相交:
P+td=(1-u-v)V0+uV1+vV2
(3)
(4)
由克拉姆法則,有:
依據(jù)上述公式,計算求得t,u,v。如果0≤u≤1,0≤v≤1并且0≤u+v≤1,在三角形內(nèi)部有交點,否則,交點在三角形外,不與三角形實際相交。進行上述計算的偽代碼:
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; } 緩沖區(qū)/體分析是空間分析的基本功能之一。當前的緩沖區(qū)分析多是針對二維空間的點狀地物、線狀地物和面狀地物,然而基于三維空間實體的三維緩沖體分析成為解決客觀實際的需求。該文通過對緩沖體相應的分析建立了點、線、體的三維緩沖體模型,并進行了管線的緩沖體分析,如圖13所示。 圖13 管線緩沖分析模型圖 在開挖鋪設新管線或者管線發(fā)生爆裂時,通過緩沖體分析可以確定其對哪些管線造成影響,并對受到影響的管線進行相應的統(tǒng)計,并確定了簡單的空間拓撲關系。 [1] 吳立新,史文中.地理信息系統(tǒng)原理與算法[M].北京:科學出版社,2003. [2] 田振環(huán),于曉霞,曹艷玲.利用MEMapGIS快速繪制地質(zhì)圖件方法探討[J].山東國土資源,2014,30(7):65-70. [3] 趙云昌,丁瑩瑩,高照根,等.基于機載Lidar的地貌數(shù)據(jù)快速更新方案研究[J].山東國土資源,2014,30(12):69-71. [4] 郭仁忠.空間分析[M].北京:高等教育出版社,2001. [5] 孫久虎.數(shù)字礦山三維動態(tài)監(jiān)管關鍵技術研究與應用[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—),男,山東費縣人,工程師,主要從事數(shù)字城市及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.4 結論