張志華 ,韓 進(jìn) ,王菁菁
(1.蘭州交通大學(xué) 數(shù)理與軟件工程學(xué)院,甘肅 蘭州730070;2.遼河油田公司 金馬油田開發(fā)公司,遼寧 盤錦124010)
數(shù)字石化是指以計(jì)算機(jī)信息技術(shù)為手段全面實(shí)現(xiàn)石化設(shè)備、石化設(shè)施和企業(yè)的數(shù)字化、網(wǎng)絡(luò)化、智能化和可視化[1-3]。石化企業(yè)設(shè)備、設(shè)施以及廠區(qū)的三維可視化以及相應(yīng)的管理信息系統(tǒng)都是數(shù)字石化的一部分內(nèi)容。現(xiàn)如今,三維建模已經(jīng)在很多領(lǐng)域得到了發(fā)展和應(yīng)用,如地礦部門[4-6]、石油存儲(chǔ)地層建模[7-9]、數(shù)字城市[10-11]等,卻鮮有石化方面的三維模擬研究見諸公眾。
大型儲(chǔ)油罐是石化企業(yè)最重要的設(shè)備之一,它具有很大的容積,有著廣泛的應(yīng)用。一些大的石化企業(yè)都有專門的場(chǎng)地存放儲(chǔ)油罐,其數(shù)量往往達(dá)到幾百甚至上千個(gè),這為石化企業(yè)的管理帶來了困難。為了能夠在短時(shí)間內(nèi)對(duì)這些儲(chǔ)油罐進(jìn)行動(dòng)態(tài)管理(例如儲(chǔ)油罐的儲(chǔ)油量、消防等),研究?jī)?chǔ)油罐的三維模擬就顯得十分重要和有意義,這也為“數(shù)字石化”的發(fā)展提供了理論基礎(chǔ)。本文將以最常見的儲(chǔ)油罐——圓柱形立罐為例,主要針對(duì)其三維數(shù)據(jù)模型、三維數(shù)據(jù)結(jié)構(gòu)及建模方法進(jìn)行研究,并以VC++為程序設(shè)計(jì)語言,以O(shè)penGL為三維圖形顯示工具,對(duì)所研究的數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)及構(gòu)模方法進(jìn)行驗(yàn)證。
儲(chǔ)油罐是儲(chǔ)存油品的容器,它是石油庫的主要設(shè)備。儲(chǔ)油罐按材質(zhì)可分金屬油罐和非金屬油罐;按所處位置可分地下油罐、半地下油罐和地上油罐;按安裝形式可分立式、臥式;按形狀可分圓柱形、方箱形和球形[12]。由于立罐具有代表性,本文將以圓柱形的立罐為研究對(duì)象,進(jìn)行三維模型的構(gòu)建。
三維空間構(gòu)模方法研究是目前3DGIS領(lǐng)域研究的熱點(diǎn)問題。許多專家和學(xué)者在此領(lǐng)域都做了有益的探索,總共提出了20多種空間構(gòu)模方法,可分為基于面模型、基于體模型和基于混合模型的三大類構(gòu)模體系[4,13-14]。由于儲(chǔ)油罐是一種空間實(shí)體,具有規(guī)則的邊界,而內(nèi)部又是中空的實(shí)體,所以基于體元模型的構(gòu)模方法不適用于構(gòu)建三維儲(chǔ)油罐。本文利用面向?qū)ο蠓治龅姆椒▽⒘⒐奕S建模的基本元素抽象為點(diǎn)、線、面三大類,如圖1所示。
點(diǎn)類主要包括儲(chǔ)油罐測(cè)量點(diǎn)、離散點(diǎn)等,線類有特征連接線,面類主要有基礎(chǔ)面元、儲(chǔ)油罐的底面、側(cè)面、頂面等。這樣儲(chǔ)油罐的體模型就可以由這些基本構(gòu)模元素通過一定的構(gòu)模方法構(gòu)建。這里需要強(qiáng)調(diào)的是,特征連接線是由用戶指定的用于連接特征點(diǎn)的線段。在三維構(gòu)模過程中,體的生成主要由特征連接線構(gòu)成?;A(chǔ)面元主要由特征連接線構(gòu)成,通常有三角形面元和四邊形面元兩種類型,在三維空間表面模型表達(dá)上,三角形面元要優(yōu)于四邊形面元[15]。這種通過面、邊、點(diǎn)來定義實(shí)體的位置和形狀的數(shù)據(jù)模型就是邊界表示模型[4](B_rep),圖1表達(dá)了立罐的三維邊界表示模型。
根據(jù)上述的三維數(shù)據(jù)模型,用C++語言描述立罐的三維數(shù)據(jù)結(jié)構(gòu)如下:
立罐的三維數(shù)據(jù)結(jié)構(gòu)直接描述了構(gòu)成立罐模型的基礎(chǔ)元素,有利于三維立罐程序的設(shè)計(jì)及三維可視化操作。
儲(chǔ)油罐的三維模型構(gòu)建總的思路是化復(fù)雜為簡(jiǎn)單,即首先將罐體進(jìn)行剖分;然后對(duì)剖分后的各個(gè)部分分別建模;最后再將這些剖分的模型集成起來。以立罐為例,先將立罐剖分成底面、側(cè)面、頂面、斜梯等部分;再對(duì)剖分后的底面、側(cè)面、頂面等分別建模,此時(shí),已經(jīng)將復(fù)雜的立罐體模型簡(jiǎn)化為面模型;然后把這些面模型集成在一起構(gòu)成體模型。
根據(jù)上述的邊界表示數(shù)據(jù)模型,結(jié)合線框構(gòu)模原理對(duì)立罐三維模型進(jìn)行構(gòu)建。其構(gòu)模步驟如下:
(1)把立罐剖分成底面、側(cè)面、頂面和斜梯等。
(2)首先,對(duì)底面進(jìn)行模型構(gòu)建。由于底面是一圓面,采用一正多邊形對(duì)其進(jìn)行逼近,本實(shí)例中,以正四十邊形來模擬底面。假定底面圓心點(diǎn)的三維坐標(biāo)為(x_center,y_center,z_center), 半 徑為 r,利用式(1)可以求出正四十邊形所有頂點(diǎn)的三維坐標(biāo),再對(duì)底面進(jìn)行三角化,即每?jī)蓚€(gè)相鄰的頂點(diǎn)與圓心構(gòu)成一個(gè)三角形,如圖2所示,A、B為正四十邊形上的兩個(gè)頂點(diǎn),這兩個(gè)頂點(diǎn)與圓心O就可以構(gòu)成三角形面ABO(基礎(chǔ)面元),整個(gè)底面就可以由這樣40個(gè)三角形面片構(gòu)成。
其次,對(duì)罐體側(cè)面進(jìn)行建模。側(cè)面的底部邊界就是底面的周邊,其上部邊界也是一圓周,同樣可以采用式(1)求其上部邊界的各個(gè)頂點(diǎn)的x坐標(biāo)和y坐標(biāo),z坐標(biāo)為 z_center+h,其中 h為罐體側(cè)面的高度。圖3為側(cè)面的三角化過程,由基礎(chǔ)面元A1B1B2、A1B2A2等就可將整個(gè)側(cè)面模擬出來。
最后是對(duì)頂面的構(gòu)建。頂面是一空間復(fù)雜的曲面,本文采用正弦函數(shù)法模擬頂面,已知頂部的高度為 hup,用5個(gè)同心圓作為頂部曲面的骨架(同心圓越多,模擬精度越高),同心圓采用正四十邊形逼近,每個(gè)骨架圓上頂點(diǎn)的 x、y和 z坐標(biāo)利用式(2)即可求出,ri表示第 i個(gè)同心圓的半徑(ri=kr/5,k=1,2…5)。頂點(diǎn)的高程坐標(biāo)采用正弦函數(shù)得出,在[0,0.5π]內(nèi),正弦函數(shù)曲線是一弧形曲線,通過hup(正弦函數(shù)曲線的振幅)的大小可以控制曲線的空間形態(tài),每條正弦函數(shù)曲線由6個(gè)空間離散點(diǎn)擬合,利用這些正弦函數(shù)曲線就可以模擬出較為復(fù)雜的空間曲面。圖4中每一條從曲面邊界點(diǎn)到曲面中心點(diǎn)的曲線都是用正弦函數(shù)法逼近的,然后對(duì)這些空間骨架圓上的頂點(diǎn)進(jìn)行三角化,從而達(dá)到對(duì)頂部曲面的模擬。
圖4 頂部曲面的三角化
(3)對(duì)油罐的一些附著物(斜梯等)進(jìn)行模擬,并將這些分別建模的部分集成起來,就構(gòu)成了三維空間實(shí)體。
其中,i=0,1,…,5;j=0,1,…,39。
針對(duì)上述提出的儲(chǔ)油罐的三維數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)及構(gòu)模方法,在Windows XP環(huán)境下,以VC++6.0為程序設(shè)計(jì)語言,以O(shè)penGL三維圖形函數(shù)包為可視化工具[16]進(jìn)行程序設(shè)計(jì),圖5為立罐三維模型構(gòu)建的參數(shù)設(shè)置對(duì)話框,所構(gòu)模型如圖6所示。
通過對(duì)立罐的數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)及建模方法的研究,得出以下認(rèn)識(shí):(1)對(duì)儲(chǔ)油罐進(jìn)行分類后,以立罐作為典型實(shí)例進(jìn)行建模研究,給出了其空間構(gòu)模的基本元素,并對(duì)這些基本元素的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了定義;(2)提出的先剖分后建模的思路是可行的。對(duì)剖分后的各個(gè)部分分別進(jìn)行建模和詳細(xì)探討,并對(duì)復(fù)雜的頂部曲面采用正弦函數(shù)法進(jìn)行模擬,達(dá)到了良好的效果;(3)結(jié)合具體的建模方法及步驟,經(jīng)過程序設(shè)計(jì)進(jìn)行實(shí)驗(yàn)?zāi)M。實(shí)驗(yàn)證實(shí)本文所提出的數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)以及建模方法是可行的。
[1]王權(quán).解析石油行業(yè)信息化[J].數(shù)字化工,2004(12):5-7.
[2]惠寧,王魁生.油氣田技術(shù)設(shè)備引進(jìn)管理信息系統(tǒng)綜述[J].網(wǎng)絡(luò)與信息,2008(8):78.
[3]HENDERSON M.Review of Marathon’s digital oilfield proof of concept[R].Global Energy forum.2008.
[4]吳立新,史文中.地理信息系統(tǒng)原理與算法[M].北京:科學(xué)出版社,2003.
[5]Zhang Zhihua,Hou Enke,Zhao Zhou,et al.An improved symmetrical modeling method on 3D tunnel modeling[C].2009 International Conference on Computer modeling and simulation.Macau,IEEE CS,2009:251-256.
[6]侯恩科,吳立新.面向地質(zhì)建模的3D體元拓?fù)鋽?shù)據(jù)模型研究[J].武漢大學(xué)學(xué)報(bào)信息科學(xué)版,2002,27(5):467-472.
[7]朱廣社.三維地質(zhì)建模及數(shù)值模擬技術(shù)在油藏開發(fā)中的應(yīng)用[J].地質(zhì)與資源,2005,14(1):67-70.
[8]吳永彬,張義堂,劉雙雙,等.基于PETREL的油藏三維可視化地質(zhì)建模技術(shù)[J].鉆采工藝,2007,30(5):65-66.
[9]馬春生,周瑜,趙磊,等.三維可視化地質(zhì)建模和油藏?cái)?shù)模一體化技術(shù)在剩余油描述與挖潛中的研究與應(yīng)用[J].內(nèi)蒙古石油化工,2001,27(2):1-31.
[10]占嵩,陳輝,商蕾.城市道路交通可視化建模及仿真研究[J].交通與計(jì)算機(jī),2008,26(6):43-46.
[11]朱慶,李淵.道路網(wǎng)絡(luò)模型研究綜述[J].武漢大學(xué)學(xué)報(bào)信息科學(xué)版,2007,32(6):471-476.
[12]百度百科.儲(chǔ)油罐[EB/OL].[2011-1-24].http://baike.baidu.com/view/3118978.htm.
[13]SCIANNA A,AMMOSCATO A.3DGIS data model using open source software[A].Core Spatial Databases-Updating,Maintence and Services-from Theory to Practice[C].ISPRS,2010,38:120-125.
[14]FRISO P,PETER V O,BARIS M K.A tetrahedronized irregular network based DBMS approach for 3D topographic data modeling[J].Progress in Spatial Data Handling,2006(10):581-598.
[15]侯恩科,張志華,鄧念東,等.OpenGL環(huán)境下兩種巷道三維建模方法的比較[J].礦業(yè)研究與開發(fā),2009,29(5):59-62.
[16]RICHARD S W,BENJAMIN L.OpenGL超級(jí)寶典[M].徐波,譯.北京:人民郵電出版社,2004.