摘 要: 針對基于Web的實時三維可視化應(yīng)用需求,,結(jié)合鄰近井段的結(jié)構(gòu)形狀、變化規(guī)律,,改進了貝塞爾曲線擬合算法,,提高了測斜數(shù)據(jù)處理速率和曲化度,并采用Away3D技術(shù)實現(xiàn)軌跡的三維展示,。應(yīng)用結(jié)果表明,,軌跡繪制細膩流暢,系統(tǒng)具備良好的實時性,。
關(guān)鍵詞: 井眼軌跡,;Away3D;Web,;實時,;可視化
0 引言
在隨鉆測井LWD[1]過程中,井眼軌跡的可視化是實時監(jiān)測的重要手段,,也是實現(xiàn)軌跡控制的基礎(chǔ),,其表現(xiàn)的準(zhǔn)確性、實時性,,直接影響鉆井導(dǎo)向的決策,。
隨著Internet的不斷普及,,B/S模式Web技術(shù)成為一種流行的信息交互平臺[2]。但對于顯示效率,、實時性要求較高的井眼軌跡可視化來說,,傳統(tǒng)B/S模式其固有的缺陷[3]使得實時數(shù)據(jù)發(fā)布受到限制。借助Web3D技術(shù)的3D引擎對圖形圖像實時渲染,,則可有效地緩解這一問題,。
根據(jù)生產(chǎn)實際和Web技術(shù)的特點,采用基于Web的B/S結(jié)構(gòu),,借助C#.NET開發(fā)環(huán)境[4],,通過改進的軌跡優(yōu)化算法,結(jié)合Web3D技術(shù)實現(xiàn)三維實時井眼軌跡可視化,,使測井人員隨時隨地通過瀏覽器方便快捷地對軌跡狀態(tài)進行準(zhǔn)確高效的實時監(jiān)測,。
1 Web3D技術(shù)及平滑算法
1.1 Web3D技術(shù)支持
Web3D技術(shù)主要有基于HTML5方式和基于瀏覽插件方式。HTML5方式中,,WebGL直接以O(shè)penGL為接口,,從Web腳本生成3D圖形渲染[5],但在它安全性方面還存在缺陷,,標(biāo)準(zhǔn)的制定和推廣還有很大風(fēng)險,。
基于插件方式的Web3D技術(shù)眾多。其中Java3D是Java語言在三維圖形領(lǐng)域的擴展,,提供一個高性能的面向?qū)ο缶幊棠P汀⒖嘉墨I[6]對基于Java3D的井眼軌跡可視化過程做了詳細描述,,可視化效果較為理想,,但Java3D中沒有提供基本形體,給編程帶來不便,。
Away3D是一個Flash平臺[7]的實時3D引擎技術(shù),,其基本思想是利用Flex中Stage3D API技術(shù)在網(wǎng)頁上創(chuàng)建3D對象[8]。相比較于其他三維技術(shù),,借助該技術(shù)完成三維實時井眼軌跡可視化有以下技術(shù)上的優(yōu)勢,。
(1)播放器插件,。Away3D所使用的Flash Player借助硬件加速功能,,使其具備較高的顯示效率和超群的渲染能力,為井眼軌跡的實時渲染提供保障,。同時,,其普遍性保證了技術(shù)人員使用方便。
?。?)良好的跨平臺性,。ActionScript3.0作為該技術(shù)的開發(fā)語言,,其文檔對象模型(SWF格式動畫)可以嵌入其他多種應(yīng)用程序,這大大優(yōu)化了該技術(shù)的跨平臺性,。利用高級語言高效的數(shù)據(jù)結(jié)構(gòu)進行井眼數(shù)據(jù)的復(fù)雜處理,,將結(jié)果直接傳入動畫文件進行軌跡顯示,進一步確保軌跡顯示的實時性,。
?。?)容易實現(xiàn),展現(xiàn)豐富效果,。Away3D提供基本形體的庫函數(shù),,方便基本形體的創(chuàng)建。此外,,該技術(shù)也支持鼠標(biāo)和觸摸交互,,提供豐富的后處理效果。
1.2 井眼軌跡平滑算法
軌跡數(shù)據(jù)是由測斜數(shù)據(jù)經(jīng)過井眼軌跡算法[9-10]得到的離散數(shù)據(jù),,從軌跡結(jié)構(gòu)計算模型的微元分析角度看,,軌跡數(shù)據(jù)進行有序排列并連接得到的是一條軌跡折線。因此,,坐標(biāo)增量計算要求測點間隔不宜過長,,以保證離散帶來的誤差足夠小,;而如果原始數(shù)據(jù)間隔較大,,則需進行插值處理增加數(shù)據(jù)點以彌補測斜數(shù)據(jù)的不足,從而提高軌跡曲化程度,。
參考文獻[11]提出一種三次樣條插值及多項式擬合平滑方法,。通過構(gòu)造三次樣條函數(shù)求得插值,采用多項式最小二乘擬合技術(shù)對測量數(shù)據(jù)進行平滑處理[11],。該方法處理效果明顯,,但計算量大,原理復(fù)雜,,應(yīng)用于Web井眼軌跡可視化,,實時性受到影響。本文以三階貝塞爾曲線擬合為基礎(chǔ)對軌跡數(shù)據(jù)的插值處理加以改進,。算法原理簡單,、計算量小、計算效率較高,。
2 改進的軌跡平滑算法原理
三階貝塞爾曲線擬合是將曲線定義為起始點,、終止點以及兩個控制點,通過控制點的滑動,求得圓弧所有點,,完成曲線擬合,。將其直接應(yīng)用于井眼軌跡繪制,由于曲線只通過起止點,,距控制點偏移較大[12],,會丟失大量真實井眼坐標(biāo)信息,從而導(dǎo)致軌跡走樣,。因此,,對控制點的選取加以改進,提出一種改進的貝塞爾曲線擬合方法,。
該方法是利用軌跡坐標(biāo)通過算法構(gòu)造特殊三角形,,求得能反映相鄰井段彎折趨勢的三角形內(nèi)切圓圓心作為局部控制點,再利用貝塞爾曲線擬合使局部曲率半徑增大,,從而在保證不失真的前提下提高軌跡曲化度,。具體原理如圖1所示。
圖1(a)中,,A,、B、C三點為井眼軌跡坐標(biāo)點,。設(shè)其全局坐標(biāo)為A(x1,,y1,z1),、B(x2,,y2,z2),、C(x3,,y3,z3),,獲取控制點O0、O1的全局坐標(biāo)的步驟如下:
?。?)全局坐標(biāo)轉(zhuǎn)換為局部坐標(biāo),。軌跡段先沿全局坐標(biāo)軸(x、y,、z軸)進行平移,,使A點和全局坐標(biāo)的原點O重合;再繞全局坐標(biāo)軸逆時針旋轉(zhuǎn)α,、β,、θ角,使平面ABC法向量與z軸正方向平行,AC線段與x軸重合[13](如圖1(b)所示),。由以上變換可得全局坐標(biāo)轉(zhuǎn)換為局部坐標(biāo)的關(guān)系式為:
其中,,x1、y1,、z1是A點的全局坐標(biāo)值,;x′、y′,、z′是局部坐標(biāo)系坐標(biāo),;x、y,、z是全局坐標(biāo)系坐標(biāo),。
(2)求控制點O0,、O1的局部坐標(biāo),。局部坐標(biāo)系如圖1(b)所示,利用AC作為邊,,過點B作矩形,,利用矩形頂點M、N,,形成AMB,、BMC。取兩三角形內(nèi)切圓圓心O0,、O1為兩井段的控制頂點,,設(shè)B、C點局部坐標(biāo)為B(x2′,,y2′,,0)、C(x3′,,y3′,,0),則M,、N點坐標(biāo)為M(0,,y2′,0),、N(x3′,,y2′,0),,由式(2)求得O0,、O1的局部坐標(biāo),。
(3)控制點的局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo),。在式(1)的基礎(chǔ)上,,經(jīng)過相反操作,使井段回到原來位置,。局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)的公式為:
?。▁,y,,z)=(x′,,y′,′z)·R(-α,,-β,,-θ)+(x1,y1,,z1)(3)
求得所有單位井段控制點坐標(biāo),,起止段有一個控制點,中間井段有兩個控制點,。為了計算的一致性,,將起止段的一個控制點看作兩個,并分段應(yīng)用三階貝塞爾曲線擬合繪制軌跡,。精簡圖如圖2所示,,效果對比圖如圖3所示。3 Away3D技術(shù)實現(xiàn)井眼軌跡可視化
3.1 可視化實現(xiàn)過程
井眼軌跡的形態(tài)是由坐標(biāo)系統(tǒng)描述的,。坐標(biāo)系統(tǒng)主要包括:坐標(biāo)軸,、坐標(biāo)刻度和軌跡。結(jié)合Away3D一般開發(fā)步驟,,實現(xiàn)井眼軌跡可視化基本開發(fā)流程如下:
?。?)基本構(gòu)件設(shè)置
完成各構(gòu)件參數(shù)設(shè)定,為3D展示搭建舞臺,。具體包括視口,、燈光、攝像機等,。
?。?)坐標(biāo)系統(tǒng)繪制
該部分實現(xiàn)分兩個子模塊:坐標(biāo)軸及軌跡繪制、刻度值顯示,。坐標(biāo)軸及軌跡主要由網(wǎng)格平面和線段構(gòu)成。軌跡數(shù)據(jù)通過VS2005平臺完成復(fù)雜的坐標(biāo)計算及轉(zhuǎn)換,。Flash平臺直接讀取數(shù)據(jù)展示軌跡,。如此一來,Away3D引擎減少了計算量,提高了軌跡可視化效率,。三維字體結(jié)構(gòu)復(fù)雜,、顯示效率低,為提高效率,,刻度值顯示以二維文本生成,、二三維轉(zhuǎn)換方式實現(xiàn)。
?。?)軌跡控制設(shè)置
該設(shè)置是對軌跡的交互控制添加事件監(jiān)聽器,,通過控制旋轉(zhuǎn)、放縮,、移動參數(shù)實現(xiàn)軌跡的交互式控制,。
(4)渲染視口
渲染視口是將所繪制的三維坐標(biāo)系統(tǒng)“投影”到二維屏幕上,,完成三維效果展示,。
3.2 可視化效果及對比
下面給出一口井的實測數(shù)據(jù):某定向井的垂深為 2 076 m,正東和正北位移達到676 m和446 m,。采用上述方法進行平滑處理,,并實現(xiàn)三維可視化。處理前后的軌跡效果分別如圖4,、圖5所示,。
可以看出,Away3D技術(shù)可視化效果優(yōu)越,,平滑處理前井眼軌跡鋸齒狀較明顯,,處理后鋸齒基本消退,提高了軌跡曲化程度,,同時軌跡更新也滿足實時性的要求,。
4 結(jié)論
本文針對網(wǎng)絡(luò)技術(shù)發(fā)展產(chǎn)生的油田信息化的新的應(yīng)用需求,以及傳統(tǒng)基于Web可視化中存在的顯示效率低,、顯示效果差等問題,,提出了一種Away3D技術(shù)的三維實時井眼軌跡可視化方法。該方法使用改進的井眼軌跡平滑算法,,在傳統(tǒng)三階貝塞爾曲線擬合的理論基礎(chǔ)上尋找合理的局部井段控制點完成軌跡平滑處理,,算法高效,效果明顯,。同時發(fā)揮Away3D的技術(shù)優(yōu)勢實現(xiàn)Web井眼軌跡可視化,,過程容易快捷,顯示細膩流暢,。系統(tǒng)實時性好,、通用性強,,并具有良好的交互性,能夠滿足實際生產(chǎn)中工程技術(shù)人員進行過程監(jiān)督以及協(xié)同工作的需求,。
參考文獻
[1] 張辛耘,,王敬農(nóng),郭彥軍.隨鉆測井技術(shù)進展和發(fā)展趨勢[J].測井技術(shù),,2006,,30(1):10-15,100.
[2] 張麗,,張艷.從C/S到B/S,,再到三層(多層)結(jié)構(gòu)——論體系結(jié)構(gòu)的發(fā)展[J].河南師范大學(xué)學(xué)報(自然科學(xué)版),2002,,30(3):24-27.
[3] 侯淑英.B/S模式和C/S模式優(yōu)勢比較[J].沈陽教育學(xué)院學(xué)報,,2007,9(2):98-100.
[4] 任開銀,,黃東.在.NET上構(gòu)架企業(yè)級應(yīng)用程序[J].微型機與應(yīng)用,,2003,22(1):29-31.
[5] 馮科融,,王和興,,連加美,等.基于HTML5的3D多人網(wǎng)頁游戲?qū)崿F(xiàn)方案[J].微型機與應(yīng)用,,2013,,32(1):4-6.
[6] 李艷華,徐英卓.導(dǎo)向鉆井信息三維可視化系統(tǒng)的實現(xiàn)[J].西安石油大學(xué)學(xué)報(自然科學(xué)版),,2007,,22(1):75-78,124.
[7] 楊敏,,王英華,,唐有明.Flash CS5中文版從新手到高手[M].北京:清華大學(xué)出版社,2011.
[8] 雷忠誠,,胡文山,,鄔靜陽,等.基于Web的3D智能家居系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,,2014,,40(9):114-117.
[9] 王禮學(xué),陳衛(wèi)東,,賈昭清,,等.井眼軌跡計算新方法[J].天然氣工業(yè),2003,,32(21):57-59,,8.
[10] 陳庭根,,管志川.鉆井工程理論與技術(shù)[M].東營:石油大學(xué)出版社,2000.
[11] 黃志強,,田海,鄭雙進,,等.定向井實鉆井眼軌跡三維可視化描述[J].西安石油大學(xué)學(xué)報(自然科學(xué)版),,2009,24(4):79-82,,113.
[12] 張祖媛.貝塞爾曲線的幾何構(gòu)型[J].四川工業(yè)學(xué)院學(xué)報,,1998,17(4):33-36,,45.
[13] 倪明田,,吳良芝.計算機圖形學(xué)[M].北京:北京大學(xué)出版社,1999.