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