《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 儲油罐三維建模方法研究
儲油罐三維建模方法研究
來源:微型機與應用2011年第18期
張志華1,,韓 進1,,王菁菁2
(1.蘭州交通大學 數(shù)理與軟件工程學院,甘肅 蘭州730070,; 2.遼河油田公司 金馬油田開發(fā)公司
摘要: 通過對儲油罐進行分類,,以立罐為建模對象,就立罐構(gòu)模元素進行分析,,提出立罐的三維數(shù)據(jù)模型,,并給出了其基本構(gòu)模元素的數(shù)據(jù)結(jié)構(gòu)的定義,。根據(jù)上述的數(shù)據(jù)模型與數(shù)據(jù)結(jié)構(gòu),先將立罐空間剖分成底面,、側(cè)面和頂面等易于建模的部分,,然后對其剖分后各個部分的三維建模方法、步驟進行了詳細探討,。最后將這些剖分的部分集成起來,,構(gòu)成了立罐的三維空間實體模型。以VC++為程序設計語言,,采用OpenGL三維圖形函數(shù)包做為圖形顯示工具,,開發(fā)出儲油罐三維建模實驗系統(tǒng),并以立罐和臥罐為例進行三維建模,,實驗證明了三維數(shù)據(jù)模型,、數(shù)據(jù)結(jié)構(gòu)、建模方法及步驟是可行的,,為研究“數(shù)字石化”提供了理論基礎,。
Abstract:
Key words :

摘  要: 通過對儲油罐進行分類,以立罐為建模對象,,就立罐構(gòu)模元素進行分析,,提出立罐的三維數(shù)據(jù)模型,并給出了其基本構(gòu)模元素的數(shù)據(jù)結(jié)構(gòu)的定義,。根據(jù)上述的數(shù)據(jù)模型與數(shù)據(jù)結(jié)構(gòu),,先將立罐空間剖分成底面、側(cè)面和頂面等易于建模的部分,,然后對其剖分后各個部分的三維建模方法,、步驟進行了詳細探討。最后將這些剖分的部分集成起來,,構(gòu)成了立罐的三維空間實體模型,。以VC++為程序設計語言,采用OpenGL三維圖形函數(shù)包做為圖形顯示工具,,開發(fā)出儲油罐三維建模實驗系統(tǒng),,并以立罐和臥罐為例進行三維建模,實驗證明了三維數(shù)據(jù)模型,、數(shù)據(jù)結(jié)構(gòu),、建模方法及步驟是可行的,為研究“數(shù)字石化”提供了理論基礎,。
關鍵詞: 儲油罐,;立罐;數(shù)據(jù)模型;三維建模,;數(shù)字石化

    數(shù)字石化是指以計算機信息技術為手段全面實現(xiàn)石化設備,、石化設施和企業(yè)的數(shù)字化、網(wǎng)絡化,、智能化和可視化[1-3],。石化企業(yè)設備、設施以及廠區(qū)的三維可視化以及相應的管理信息系統(tǒng)都是數(shù)字石化的一部分內(nèi)容?,F(xiàn)如今,,三維建模已經(jīng)在很多領域得到了發(fā)展和應用,如地礦部門[4-6],、石油存儲地層建模[7-9],、數(shù)字城市[10-11]等,卻鮮有石化方面的三維模擬研究見諸公眾,。
    大型儲油罐是石化企業(yè)最重要的設備之一,,它具有很大的容積,有著廣泛的應用,。一些大的石化企業(yè)都有專門的場地存放儲油罐,,其數(shù)量往往達到幾百甚至上千個,這為石化企業(yè)的管理帶來了困難,。為了能夠在短時間內(nèi)對這些儲油罐進行動態(tài)管理(例如儲油罐的儲油量,、消防等),研究儲油罐的三維模擬就顯得十分重要和有意義,,這也為“數(shù)字石化”的發(fā)展提供了理論基礎,。本文將以最常見的儲油罐——圓柱形立罐為例,,主要針對其三維數(shù)據(jù)模型,、三維數(shù)據(jù)結(jié)構(gòu)及建模方法進行研究,并以VC++為程序設計語言,,以OpenGL為三維圖形顯示工具,,對所研究的數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)及構(gòu)模方法進行驗證,。
1 儲油罐的分類及三維數(shù)據(jù)模型
1.1 儲油罐的分類

    儲油罐是儲存油品的容器,,它是石油庫的主要設備。儲油罐按材質(zhì)可分金屬油罐和非金屬油罐,;按所處位置可分地下油罐,、半地下油罐和地上油罐;按安裝形式可分立式,、臥式,;按形狀可分圓柱形、方箱形和球形[12]。由于立罐具有代表性,,本文將以圓柱形的立罐為研究對象,,進行三維模型的構(gòu)建。
1.2 儲油罐的三維數(shù)據(jù)模型
    三維空間構(gòu)模方法研究是目前3DGIS領域研究的熱點問題,。許多專家和學者在此領域都做了有益的探索,,總共提出了20多種空間構(gòu)模方法,可分為基于面模型,、基于體模型和基于混合模型的三大類構(gòu)模體系[4,,13-14]。由于儲油罐是一種空間實體,,具有規(guī)則的邊界,,而內(nèi)部又是中空的實體,所以基于體元模型的構(gòu)模方法不適用于構(gòu)建三維儲油罐,。本文利用面向?qū)ο蠓治龅姆椒▽⒘⒐奕S建模的基本元素抽象為點,、線、面三大類,,如圖1所示,。

    點類主要包括儲油罐測量點、離散點等,,線類有特征連接線,,面類主要有基礎面元、儲油罐的底面,、側(cè)面,、頂面等。這樣儲油罐的體模型就可以由這些基本構(gòu)模元素通過一定的構(gòu)模方法構(gòu)建,。這里需要強調(diào)的是,,特征連接線是由用戶指定的用于連接特征點的線段。在三維構(gòu)模過程中,,體的生成主要由特征連接線構(gòu)成,。基礎面元主要由特征連接線構(gòu)成,,通常有三角形面元和四邊形面元兩種類型,,在三維空間表面模型表達上,三角形面元要優(yōu)于四邊形面元[15],。這種通過面,、邊、點來定義實體的位置和形狀的數(shù)據(jù)模型就是邊界表示模型[4](B_rep),,圖1表達了立罐的三維邊界表示模型,。
2 儲油罐的三維數(shù)據(jù)結(jié)構(gòu)
    根據(jù)上述的三維數(shù)據(jù)模型,,用C++語言描述立罐的三維數(shù)據(jù)結(jié)構(gòu)如下:
struct 3DPOINT//空間點結(jié)構(gòu)
{
    long PointID;//點的ID號
    float x, y, z; //點的三維坐標
}
struct LINE//線結(jié)構(gòu)
{
    long LineID; //線的ID號
    3DPOINT StartPoint;//起點坐標
    3DPOINT EndPoint;//終點坐標
}
struct TRIANGLE//基礎面元
{
    long TriID;//三角形ID號
    3DPOINT p1, p2, p3;//三角形頂點坐標
    LINE line1, line2, line3; //三角形邊
}
struct SURFACE//面結(jié)構(gòu)
{
    Long SurfaceID;//面的ID號
    TRIANGLE *Tri;//三角形串
}
class LG
{
public:
    long LgID; //立罐的ID號
    3DPOINT CenterPoint;//立罐中心點三維坐標
    float h1;//立罐柱體高度
    float h2;//頂蓋高
    float r;//罐底半徑
    int precision;//罐頂模擬精度40
    int m_type;//罐頂模擬類型,1,,采用直線,;
//2,采用正弦曲線
    CString material;//材質(zhì)
    COLORREF rgb;//顏色
    …//其他一些屬性信息(自重,,容積等)
};
    立罐的三維數(shù)據(jù)結(jié)構(gòu)直接描述了構(gòu)成立罐模型的基礎元素,,有利于三維立罐程序的設計及三維可視化操作。
3 儲油罐的三維構(gòu)模方法及步驟
    儲油罐的三維模型構(gòu)建總的思路是化復雜為簡單,,即首先將罐體進行剖分,;然后對剖分后的各個部分分別建模;最后再將這些剖分的模型集成起來,。以立罐為例,,先將立罐剖分成底面、側(cè)面,、頂面,、斜梯等部分;再對剖分后的底面,、側(cè)面,、頂面等分別建模,此時,,已經(jīng)將復雜的立罐體模型簡化為面模型,;然后把這些面模型集成在一起構(gòu)成體模型。
    根據(jù)上述的邊界表示數(shù)據(jù)模型,,結(jié)合線框構(gòu)模原理對立罐三維模型進行構(gòu)建,。其構(gòu)模步驟如下:
    (1)把立罐剖分成底面、側(cè)面,、頂面和斜梯等,。
    (2)首先,對底面進行模型構(gòu)建,。由于底面是一圓面,,采用一正多邊形對其進行逼近,,本實例中,,以正四十邊形來模擬底面。假定底面圓心點的三維坐標為(x_center,,y_center,,z_center),半徑為r,,利用式(1)可以求出正四十邊形所有頂點的三維坐標,,再對底面進行三角化,即每兩個相鄰的頂點與圓心構(gòu)成一個三角形,如圖2所示,,A,、B為正四十邊形上的兩個頂點,這兩個頂點與圓心O就可以構(gòu)成三角形面ABO(基礎面元),,整個底面就可以由這樣40個三角形面片構(gòu)成,。
 

 


4 實驗模擬
    針對上述提出的儲油罐的三維數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)及構(gòu)模方法,,在Windows XP環(huán)境下,,以VC++6.0為程序設計語言,以OpenGL三維圖形函數(shù)包為可視化工具[16]進行程序設計,,圖5為立罐三維模型構(gòu)建的參數(shù)設置對話框,,所構(gòu)模型如圖6所示。

    通過對立罐的數(shù)據(jù)模型,、數(shù)據(jù)結(jié)構(gòu)及建模方法的研究,,得出以下認識:(1)對儲油罐進行分類后,以立罐作為典型實例進行建模研究,,給出了其空間構(gòu)模的基本元素,,并對這些基本元素的數(shù)據(jù)結(jié)構(gòu)進行了定義;(2)提出的先剖分后建模的思路是可行的,。對剖分后的各個部分分別進行建模和詳細探討,,并對復雜的頂部曲面采用正弦函數(shù)法進行模擬,達到了良好的效果,;(3)結(jié)合具體的建模方法及步驟,,經(jīng)過程序設計進行實驗模擬。實驗證實本文所提出的數(shù)據(jù)模型,、數(shù)據(jù)結(jié)構(gòu)以及建模方法是可行的,。

參考文獻
[1] 王權.解析石油行業(yè)信息化[J].數(shù)字化工,2004(12):5-7.
[2] 惠寧,,王魁生.油氣田技術設備引進管理信息系統(tǒng)綜述[J].網(wǎng)絡與信息,,2008(8):78.
[3] HENDERSON M.Review of Marathon’s digital oilfield  proof of concept[R].Global Energy forum.2008.
[4] 吳立新,史文中.地理信息系統(tǒng)原理與算法[M].北京:科學出版社,,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體元拓撲數(shù)據(jù)模型研究[J].武漢大學學報信息科學版,,2002,,27(5):467-472.
[7] 朱廣社.三維地質(zhì)建模及數(shù)值模擬技術在油藏開發(fā)中的應用[J].地質(zhì)與資源,2005,,14(1):67-70.
[8] 吳永彬,,張義堂,劉雙雙,,等.基于PETREL的油藏三維可視化地質(zhì)建模技術[J].鉆采工藝,,2007,30(5):65-66.
[9] 馬春生,,周瑜,,趙磊,等.三維可視化地質(zhì)建模和油藏數(shù)模一體化技術在剩余油描述與挖潛中的研究與應用[J].內(nèi)蒙古石油化工,,2001,,27(2):1-31.
[10] 占嵩,陳輝,,商蕾.城市道路交通可視化建模及仿真研究[J].交通與計算機,,2008,26(6):43-46.
[11] 朱慶,,李淵.道路網(wǎng)絡模型研究綜述[J].武漢大學學報信息科學版,,2007,32(6):471-476.
[12] 百度百科.儲油罐[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超級寶典[M].徐波,,譯.北京:人民郵電出版社,2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉(zhuǎn)載,。