張文東,孫文斌,孫 恒
(1.中國石油大學(xué)(華東) 計(jì)算機(jī)與通信工程學(xué)院,山東 青島 266555; 2.中海油信息科技有限公司北京分公司,北京 100027)
管柱工具圖例吸附于井眼軌跡的紋理貼圖方法
張文東1,孫文斌1,孫 恒2
(1.中國石油大學(xué)(華東) 計(jì)算機(jī)與通信工程學(xué)院,山東 青島 266555; 2.中海油信息科技有限公司北京分公司,北京 100027)
石油采油行業(yè)中,大多數(shù)油田井型是各種帶有彎曲分支及魚骨的類型。而管柱圖是石油行業(yè)的重要圖件。在管柱圖繪制中,很多管柱工具圖例內(nèi)部有許多其他的點(diǎn)、線(即內(nèi)部花紋)構(gòu)造,在軌跡弧段處不容易處理。為改善管柱圖繪制的視覺效果,針對(duì)目前在管柱圖繪制過程中存在的問題,引入紋理映射的思想,將實(shí)際的管柱工具圖例紋理按照一定的紋理貼圖方法吸附到井眼軌跡上,提出了一種管柱工具圖例吸附于井眼軌跡的紋理貼圖方法。該方法能方便地使管柱工具圖例在彎曲的弧段處沿著井眼軌跡的切向方向彎曲,實(shí)現(xiàn)了各種管柱工具圖例間的無縫拼接。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)在普遍采用的矢量繪圖法相比,采用所提出方法繪制的管柱圖可以實(shí)現(xiàn)無縫銜接,具有更好的視覺效果。
管柱圖繪制;紋理貼圖;三段拼接法;兩步紋理映射技術(shù);井眼軌跡;無縫拼接
在油田井型中,只有很少一部分是直井,其他絕大部分是帶有彎曲分支及魚骨的各種井型,包括水平井、分支水平井、斜井、側(cè)鉆井、魚骨井等。
在實(shí)際作圖中,管柱圖種類分為許多種,包括采油管柱圖、注水管柱圖、壓裂管柱圖、酸化管柱圖、化堵管柱圖、防砂管柱圖等。
目前,大多數(shù)管柱圖繪制系統(tǒng)繪制的是直井管柱圖,并沒有考慮像斜井管柱圖這樣帶有彎曲分支及魚骨的油井管柱圖。在管柱圖繪制中,很多管柱工具圖例內(nèi)部有很多內(nèi)部花紋構(gòu)造,比如點(diǎn)和線構(gòu)成的花紋,這些花紋在軌跡弧段處不容易處理?,F(xiàn)在普遍采用的技術(shù)是矢量繪圖方法,該方法對(duì)每一種管柱工具圖例進(jìn)行單獨(dú)處理繪制,不能有效解決問題,并且很難實(shí)現(xiàn)用戶自定義圖例間的無縫拼接。
為此,提出了一種管柱工具圖例吸附于井眼軌跡的紋理貼圖[1]方法,能夠讓管柱工具圖例以紋理圖片的形式通過一定的紋理貼圖方法吸附到井眼軌跡上,有效地解決了管柱工具圖例在彎曲的弧段處不能彎曲和管柱工具圖例銜接存在斷縫等問題。
1.1 管柱工具圖例的繪制方法
通過參照《SYT 5952—2005油氣水井井下工藝管柱工具圖例標(biāo)準(zhǔn)》進(jìn)行管柱工具圖例的繪制。在管柱圖繪制過程中,弧段上側(cè)和弧段外側(cè)采用四點(diǎn)連線繪制四邊形帶,然后填充即可。而對(duì)于弧段的處理,采用的是三段拼接法[2-3],弧段處的圖例主要由三部分組成,包括圓心與軌跡交點(diǎn)上側(cè)的直管柱、圓心角所對(duì)的弧段管柱以及圓心與軌跡交點(diǎn)外側(cè)的直管柱。在管柱圖繪制過程中,還需要判斷圖例的起始點(diǎn)以及終止點(diǎn)所處的坐標(biāo)位置。通過下面的偽代碼來描述管柱圖繪制流程:
void DrawGraph ()
{
//如果圖例的起始點(diǎn)在弧段之上
IF origin.y<=center.y
THEN IF end.y<=center.y
THEN DrawOnePart();
ELSE IF end.y in ArcPart
THEN DrawOnePart();
DrawSecondPart();
ELSE
THEN DrawOnePart ();
DrawSecondPart();
DrawThirdPart();
//如果圖例的起始點(diǎn)在弧段中
ELSE IF origin.y in ArcPart
THEN IF end.y in ArcPart
THEN DrawSecondPart();
ELSE
THEN DrawSecondPart();
DrawThirdPart();
//如果圖例的起始點(diǎn)在弧段以外
ELSE THENDrawThirdPart();
}
1.2 仿射變換
如果坐標(biāo)變換的形式如下:
(1)
則稱該變換為仿射變換[4]。每一個(gè)變換后的坐標(biāo)x'、y'和z'是變換前坐標(biāo)x、y和z的線性函數(shù),而aij和bk是由變換類型確定的參數(shù)。
平移變換、旋轉(zhuǎn)變換、縮放變換、反射變換、錯(cuò)切變換可以看成是仿射變換的特例[5],任何仿射變換都能夠表示成這五種變換的組合。
1.3 兩步紋理映射技術(shù)
兩步紋理映射技術(shù)[6-7]是一種獨(dú)立于物體表示的紋理技術(shù)[8]。兩步紋理映射的核心就是引進(jìn)了中介映射媒體,這個(gè)中介映射媒體可以是一個(gè)包圍物體的中介三維曲面[9]。紋理空間到物體空間的映射可以分為兩個(gè)簡單的映射復(fù)合,這個(gè)過程大體描述為:
(1)將二維紋理映射到一個(gè)簡單的三維物體表面,比如球面、圓柱面、立方體表面等;
(2)將中介三維物體表面上的紋理映射到目標(biāo)物體表面。
這兩個(gè)部分可以稱為S-映射和O-映射。
采用方法的實(shí)現(xiàn)步驟主要分為兩個(gè)部分,第一部分是加載管柱工具圖例紋理圖像,并存入紋理數(shù)組;第二部分,在管柱圖繪制時(shí),需要分割紋理,然后把管柱工具圖例紋理圖像通過一定的紋理貼圖方法吸附到井眼軌跡上。
2.1 加載紋理圖像
紋理圖像滿足的一個(gè)條件就是圖像的寬、高尺寸都是2的整數(shù)次方,這是由大多數(shù)圖形接口要求的,并且考慮到計(jì)算機(jī)硬件處理的速度問題。
一般而言,紋理圖像會(huì)采用含alpha通道[10]的圖片源文件(如Targa格式文件)。
首先要判斷的是紋理圖像的寬和高是否滿足2的整數(shù)次冪要求。如果滿足,則不作調(diào)整。如果紋理尺寸不符合條件,通過調(diào)用glTexImage2D函數(shù),目的是申請2次方的紋理,然后調(diào)用glTexSubImage2D函數(shù)把實(shí)際的非2次方的紋理數(shù)據(jù)放進(jìn)去,最后就是利用縮放紋理矩陣計(jì)算紋理坐標(biāo)的變化因子。設(shè)置完后,紋理圖像就可以在[0,1]紋理坐標(biāo)區(qū)間內(nèi)按照2次方紋理使用了。
2.2 管柱工具圖例紋理的分割和映射方法
根據(jù)管柱圖繪制方法[11-12],紋理分割與紋理映射也需要通過三段拼接法來處理。紋理貼圖方法圖解如圖1所示。由于井下所有工具的下深是垂直向下計(jì)算的,因此A點(diǎn)和B點(diǎn)的深度值為y3,A點(diǎn)和B點(diǎn)對(duì)應(yīng)于點(diǎn)(x1,y3)和(x2,y3)。
圖1 紋理貼圖方法圖解
由于管柱工具圖例采用的方法是三段繪制法,其中特別注意的是段與段之間的兩個(gè)接縫處的紋理拼接問題,也就是這一段的紋理結(jié)束部分要與下一段開始時(shí)的紋理開頭部分進(jìn)行拼接,所以需要記錄這段末尾處的紋理位置[13]。通過下面三個(gè)部分說明這個(gè)過程:
在第一段,設(shè)紋理的高度為cy,紋理坐標(biāo)與紋理高度的比相等于圖例長度對(duì)應(yīng)的紋理坐標(biāo)與圖例長度的比,可得:
(2)
由此可得第一段的映射關(guān)系,左側(cè)為紋理坐標(biāo),右側(cè)為圖例坐標(biāo):
(3)
管柱工具圖例在弧段采用的方法是四邊形帶分割法,與之對(duì)應(yīng)的紋理,也需要采用四邊形帶分割。
同時(shí)需要計(jì)算第一段紋理末端坐標(biāo)點(diǎn)的小數(shù)部分,作為第二段紋理的起始坐標(biāo):
(4)
在第二段,將弧段角θ進(jìn)行n等份,每份對(duì)應(yīng)的紋理長度為:
(5)
即在弧段四邊形帶中共有n條四邊形,將紋理等比例映射到四邊形帶的每一條上,則四邊形帶上的第k(1≤k≤n)條邊對(duì)應(yīng)的紋理縱坐標(biāo)為:
(6)
由此可得第二段的映射關(guān)系,左側(cè)為紋理坐標(biāo),右側(cè)為圖例坐標(biāo):
(7)
同時(shí)需要計(jì)算第二段紋理末端坐標(biāo)點(diǎn)的小數(shù)部分,作為第三段紋理的起始坐標(biāo):
(8)
在第三段,管柱工具圖例的繪圖方法與第一段相同,只是采用了平移、旋轉(zhuǎn)矩陣進(jìn)行了仿射變換。因此,可以繼續(xù)使用第一段的圖例坐標(biāo)進(jìn)行描述,左側(cè)為紋理坐標(biāo),右側(cè)為圖例坐標(biāo):
(9)
采用矢量繪圖法繪制的斜井管柱圖如圖2所示,圖中弧段所示的水力泵無法與前后其他管柱工具圖例進(jìn)行良好的拼接,這是由斜井段所示的水力泵在其中心點(diǎn)處與弧段切線方向平行,圖例自身比例尺寸和在弧段不能彎曲等原因造成。
圖2 矢量繪圖法繪制的斜井管柱圖
采用一定的紋理貼圖方法繪制的斜井管柱圖如圖3所示。
圖3 采用紋理貼圖方法繪制的斜井管柱圖
可以明顯看出,圖中斜井段所示的水力泵的每一點(diǎn)都與弧段軌跡的切線方向[14]平行,與前后管柱工具圖例良好地拼接在一起,實(shí)現(xiàn)了圖例間的無縫拼接。
從實(shí)驗(yàn)結(jié)果的對(duì)比可以看出,采用一定的紋理貼圖方法繪制的管柱圖效果要明顯好于矢量繪圖法繪制的管柱圖效果。
為改善管柱圖繪制的視覺效果,針對(duì)目前在管柱圖繪制過程中存在的問題,提出了一種管柱工具圖例吸附于井眼軌跡的紋理貼圖方法,有效解決了管柱圖繪制過程中管柱工具圖例在彎曲弧段處不能彎曲和管柱工具圖例間的銜接出現(xiàn)斷縫等問題。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)在普遍采用的矢量繪圖法相比,采用提出方法繪制的管柱圖可以實(shí)現(xiàn)無縫銜接,具有更好的視覺效果。
下一步的研究重點(diǎn)是圖庫的擴(kuò)充,需要完善的是增加管柱工具圖例紋理圖片庫編輯功能,使用戶可以按照圖例標(biāo)準(zhǔn)手動(dòng)繪制紋理圖片。
[1] 姜翰青,王博勝,章國鋒,等.面向復(fù)雜三維場景的高質(zhì)量紋理映射[J].計(jì)算機(jī)學(xué)報(bào),2015,38(12):2349-2360.
[2] 隋義勇,劉 超,岳寶林,等.特殊結(jié)構(gòu)井管柱圖繪制方法[J].油氣田地面工程,2013,32(7):28-29.
[3] 柯新利.OpenGL三維管線繪制中的坐標(biāo)變換研究[J].地理空間信息,2008,6(3):53-55.
[4] 王金輝,陳 冰,王建莊.實(shí)時(shí)圖像仿射變換系統(tǒng)的研究與實(shí)現(xiàn)[J].機(jī)械與電子,2012,41(2):59-62.
[5] 王魁生,劉 蒙.淺談圖像仿射變換的應(yīng)用[J].信息技術(shù)與信息化,2015,41(1):155-156.
[6] 肖源源,王子牛.基于VC++的OpenGL紋理映射技術(shù)的研究與實(shí)現(xiàn)[J].貴州大學(xué)學(xué)報(bào):自然版,2008,25(2):158-160.
[7] 張 潔.基于紋理映射真實(shí)感圖形的研究[D].西安:西安電子科技大學(xué),2007.
[8] 江巨浪.紋理映射技術(shù)的研究及實(shí)現(xiàn)[D].合肥:合肥工業(yè)大學(xué),2003.
[9] Liu Y,Lin W,Hayes J.Near regular texture analysis and manipulation[J].ACM Transactions on Graphics,2004,23(3):368-376.
[10] 劉 靜.Photoshop通道解析及應(yīng)用[J].電子技術(shù)與軟件工程,2013,24(19):93-94.
[11] 周志宏,劉湘瑜.石油管柱仿三維繪制軟件研究[J].長江大學(xué)學(xué)報(bào):自然科學(xué)版,2010,7(3):113-116.
[12] 張文東,黃 超,潘云燕.基于Flex的管柱圖繪制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2012,38(21):237-240.
[13] Lee S,Kim C,Chin S.An optimized sub-texture mapping technique for an arbitrary texture considering topology relations[J].Network and Parallel Computing,2012,75(13):559-564.
[14] Li J,Guo L,Qian Z,et al.Determination of the controlled landing trajectory of Chang’E-1 satellite and the coordinate analysis of the landing point on the Moon[J].Chinese Science Bulletin,2010,55(13):1240-1245.
Texture Mapping Method with String Tool Figures Adsorbed on Well Trajectory
ZHANG Wen-dong1,SUN Wen-bin1,SUN Heng2
(1.College of Computer and Communication Engineering,China University of Petroleum,Qingdao 266555,China; 2.Beijing Branch of CNOOC Information Technology Co.,Ltd.,Beijing 100027,China)
The majority of oil well types are the ones with diverse bending branches and various fish bones in the oil production industry.String chart is a most important map in petroleum industry,in which there are many other points and lines (or inner texture pattern) to construct and many string tool figures at the arc trajectories are not easy to deal with.In order to improve the visual effect of drawing string charts,aiming at the existing problems in string charts drawing,introducing idea of texture mapping into practical operations for absorption of the legend on the well trajectory,a texture mapping method with string tool figures absorbed on the well trajectory has been put forward which is convenient to bend the string tool figure in arcs along the trajectory of the tangential direction to achieve seamless splicing between a variety of string tool figures.Experimental results show that compared with the widely used vector drawing method right now,the proposed method has achieved seamlessly drawing with better visual effects.
string chart drawing;texture mapping;three sections of stitching;two-step texture mapping technology;well trajectory;seamless splicing
2016-07-06
2016-10-20 網(wǎng)絡(luò)出版時(shí)間:2017-04-28
國家科技重大專項(xiàng)大型油氣田及煤層氣開發(fā)(2011ZX05006-002)
張文東(1963-),男,高級(jí)工程師,研究方向?yàn)閿?shù)據(jù)庫與信息系統(tǒng)、計(jì)算機(jī)圖形處理;孫文斌(1991-),男,碩士,研究方向?yàn)橛?jì)算機(jī)圖形處理。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170428.1703.050.html
TP301
A
1673-629X(2017)06-0191-04
10.3969/j.issn.1673-629X.2017.06.040