999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于貝塞爾曲線的測井曲線動態繪制*

2019-11-12 09:08:30劉慧婕卿粼波熊淑華張余強
網絡安全與數據管理 2019年11期
關鍵詞:動畫

劉慧婕,卿粼波,熊淑華,張余強

(1.四川大學 電子信息學院,四川 成都 610065;2.成都西圖科技有限公司,四川 成都 610065)

0 引言

測井曲線是在不同的地質條件下和地層環境中采用不同的測井方法,對地球物理化學等信息數據記錄的一種表現方式。測井曲線在巖心庫中扮演著不可或缺的重要角色,通過分析測井曲線,可以識別地下各巖層信息,探測油、水、氣等狀況,確定孔隙度、滲透率以及古鹽度等參數,也是后期各種地化有機、地化熱解和儲層物性實驗分析等的重要依據[1]。因此,流暢、清晰、完整的測井曲線繪制是一項至關重要的工作。隨著瀏覽器的普及,在傳統的B/S結構中,張立虎實現了測井曲線的繪制和編輯[2],楊靜提出使用Canvas技術完成2D動畫繪制[3]。在根據相關的地質信息動態繪制常規測井曲線時,由于數據量巨大,目前的繪制方式已不能適用于測井曲線動態繪制,出現延時、卡頓、渲染時間長等情況。

為了解決以上問題,本文提出了在Canvas畫布上通過數據預處理,擬合貝塞爾曲線動態繪制測井曲線的方法,并通過測試實際測井曲線數據,驗證了所提方法可以達到提高流暢度和清晰度的效果,同時,測井曲線的在線標注和自適應抽稀功能也便利了巖心庫相關工作人員。

1 測井曲線動態繪制

根據測井方法不同,測井行業對測井曲線進行了種類劃分。常用的測井有:自然電位、自然伽瑪測井、微電位測井、微梯度測井、深感應測井、中感應測井、補償中子、巖性密度測井、聲波時差測井、井徑測井等[4]。常規測井曲線包括9條,具體分為3種巖性曲線、3種電阻率曲線和3種孔隙度曲線,其中泥質提示曲線包含自然電位(SP)、自然伽馬(GR)和井徑(CALI),電阻率曲線包含1 m底部梯度電阻率(RI)、4 m底部梯度電阻率(RT)和沖洗帶電阻率(RXO),孔隙度曲線包含聲波時差(AC)、補償密度(DEN)和補償中子(CNL)。

通常B/S系統使用原始測井數據靜態繪制測井曲線,對比靜態,動態繪制測井曲線能提升用戶視覺體驗,促進巖心庫數字化發展。由于測井曲線數據密度高,繪制量大,無法提升流暢度,通過抽稀可以減少不必要的繪制量,而抽稀后的測井曲線要和原始測井曲線保持一致,所以,需要使用貝塞爾曲線提高擬合度。本文針對常規的9種測井曲線做了曲線的數據預處理和貝塞爾曲線擬合,對比了處理前后曲線擬合程度和幀率,同時,實現了對測井曲線的實時添加注釋,自適應抽稀并且保存到本地客戶端的功能。

1.1 測井曲線動態繪制流程

測井曲線動態繪制的流程圖如圖1所示,包括了讀取測井數據、數據預處理、貝塞爾曲線擬合和動態渲染四個流程。測試井的測井曲線數據以JSON文件形式保存在本地,首先根據用戶請求的井深返回對應測井曲線數據。如在深度比例為1∶200的情況下繪制3 000 m的圖,一般的測井曲線圖包含多個曲線道,只繪制常規曲線數據量就非常龐大[5],所以通過道格拉斯-普克算法[6]進行數據預處理,抽稀原始數據。然后利用預處理后的數據進行貝塞爾曲線擬合,得到由多個貝塞爾曲線連接成的測井曲線。最后,在Canvas畫布上通過貝塞爾曲線函數進行測井曲線的動態繪制。

圖1 測井曲線動態繪制流程圖

1.2 測井曲線的數據抽稀

直接使用原始測井曲線進行數據繪制時,繪制折線取點非常密集,繪制量大,動畫效果差。因此,需要抽稀原始曲線數據,減少不必要的繪制。

道格拉斯-普克算法是一種經典的以減小數據量為代價將曲線數據進行抽稀的算法。此算法的核心思想是根據預先設定的閾值,抽稀曲線上的數據點,使得抽稀后的曲線盡可能地逼近原曲線。測井曲線預處理的流程圖如圖2所示。

圖2 測井曲線預處理的流程圖

利用道格拉斯-普克算法對原始測井數據進行預處理后,在保留曲線基本形態的前提下,不同程度減小了數據量,這對提升動態繪制的速度,改善繪制清晰度等方面提供了更大的可能性。

1.3 測井曲線的貝塞爾曲線擬合

貝塞爾曲線具有控制簡便、滑動流暢的優點,被廣泛地應用于工程設計和計算機圖形學領域[7]。隨著Web技術的迅速發展,在網頁動畫領域也常使用貝塞爾曲線實現流暢復雜路線的繪制。

為保證測井曲線的連續性和平滑性,本文采用三階貝塞爾曲線繪制。三階貝塞爾曲線的參數公式為:

B(t)=K0(1-t)3+3K1t(1-t)2+3K2t2(1-t)+K3t3

(1)

式中K0、K3分別為起始點和終止點,K1、K2為兩個控制點,t為曲線參數變量。

經過數據預處理后,測井曲線數據的井深數據間隔不固定,不同測井曲線數據量也不同,此時測井曲線呈折線狀,保持預處理后數據點處切線斜率一致,即相接處曲線的一階導數連續,平滑連接各個分段貝塞爾曲線即可完成一屏測井曲線的繪制。貝塞爾曲線的擬合參數一般在0.1~0.3之間,繪制中取0.2。

1.4 動態渲染

流暢的Web動畫能提升用戶體驗,形成良好的視覺效果,通過動態繪制測井曲線,豐富了巖心庫內容,可促進井筒曲線現代化發展。

Canvas制作動畫的原理是畫布的擦除重繪過程,在畫布中繪制圖形和圖片,每隔一定時間清除畫布,在下一個位置更新畫布的內容,不斷循環往復,從而模擬出動畫的過程[8]。在Web動畫開發中常使用setTimeout()和setInterval()這兩種定時器[9]。直接使用定時器依次繪制數據點會因為數據間隔小,造成渲染緩慢,而分段繪制渲染又會出現卡頓現象。經過數據預處理和貝塞爾曲線擬合后,測井曲線由一系列密集數據點組成的折線變成多段貝塞爾曲線連接成的曲線,遞歸調用各分段貝塞爾曲線,即可完成測井曲線的動態渲染。動態渲染的流程圖如圖3所示。

圖3 測井曲線動態渲染流程圖

通過整合密集的小任務,將渲染階段的開銷轉移到計算階段,避免多余的繪制操作,減小了渲染的壓力,增大了曲線繪制的流暢性。

2 實時交互功能設計

2.1 測井曲線在線標注

根據巖心庫工作人員的需求,要求在不同實驗中會對感興趣深度段對應的測井曲線進行在線標注并以圖片的形式保存在本地客戶端。在Canvas畫布上實時繪制是一個不斷繪制和擦除的過程,通過將復雜場景繪制在單獨的畫布上,既能提高Canvas繪制性能,又可避免破壞底圖完整性。本文建立雙層Canvas畫布,底層畫布用于繪制測井曲線基本數據,通過監聽底層畫布,在上層畫布相應位置繪制用戶所選擇的圖形,通過分層刷新的特點,實現實時繪制的功能。通過Canvas豐富的圖形庫,可以在畫布任意位置添加注釋,包括直線、箭頭、矩形、橢圓、文字、分析試驗數據等。在保存為圖片過程中,應用Canvas能轉換成image的特性,將上層畫布轉為png格式的圖片,上層圖片通過drawImage與底層畫布結合后,再以圖片格式輸出,完成測井曲線圖下載功能,如圖4所示。

圖4 在測井曲線上實時注釋的示意圖

2.2 測井曲線自適應抽稀

測井曲線圖一般在1∶200的比例下繪制,在實際應用中,繪制比例越小,測井曲線的壓縮程度越高,對測井曲線的細節展示越模糊。本文在實現動態抽稀測井曲線的基礎上,根據抽稀比例不同,當繪制比例大于1∶1 000時,測井曲線繪制設為1 px,當繪制在1∶10和1∶1 000之間時自適應遞減改變測井曲線線型,如圖5所示。同時,在測井曲線抽稀時,利用Canvas事件處理機制將測井解釋道和測井曲線道結合,通過雙擊測井曲線道身,浮動顯示對應曲線深度,當鼠標指向深度對應的測井解釋時,提示相應顏色的背景色,簡化了模板,豐富了測井曲線的內容,如圖6所示。

圖5 自適應抽稀測井曲線

圖6 結合測井曲線和測井解釋道

3 功能實現及性能測試

3.1 數據預處理及貝塞爾曲線擬合

選擇某口深度為1 155~4 000 m的井作為測試井,繪制一屏共33 m的測井曲線,其中GR、SP、CALI、DEN、CNL和AC采用常數坐標繪制,RT、RI、RXO采用對數坐標繪制。如圖7所示,其中圖(a)是用原始測井數據繪制的9種常規測井曲線,圖(b)是使用道格拉斯-普克算法進行數據抽稀后繪制的測井曲線。

圖7 道格拉斯算法抽稀后的測井曲線與原圖的對比示意圖

由圖7可以看出,經過抽稀后的數據繪制的折線大致與原圖的測井曲線趨勢一致。經過預處理后,每條測井曲線數據量因為曲線形狀不同而在不同程度上得到了減小,其中曲線SP減小百分比最大,達到94.32%,曲線RXO減小百分比最小也有66.67%,如圖8所示。

圖8 原始數據量與抽稀后的數據量對比圖

將抽稀后的曲線進行了貝塞爾曲線擬合,如圖9所示,圖(a)是用原始測井數據繪制的測井曲線,圖(b)是使用道格拉斯-普克算法進行數據抽稀后的數據,用貝塞爾曲線擬合后繪制的測井曲線。主觀來看,擬合后的測井曲線與直接使用原始數據繪制的測井曲線幾乎相同,大多數曲線保持了起伏,彎曲程度具有一致性。

圖9 貝塞爾曲線擬合后的測井曲線與原圖的對比示意圖

表1列出了9種測井曲線的擬合結果。擬合的測井曲線AC最接近根據原始測井數據繪制的曲線,其擬合確定系數R-square為0.985 38。R-square越接近1,表明擬合的效果越好。經過分析認為測井曲線SP的誤差是由于該曲線整體波動小,導致第一個取樣數據與之后的數據深度差距較大,無法準確計算貝塞爾曲線控制點。

表1 測井曲線擬合參數比較

從客觀和主觀方面來看,在抽稀后的曲線基礎上,利用貝塞爾曲線擬合,能繪制出符合要求的測井曲線。

3.2 性能測試

對于動畫的流暢度,一般使用幀率(FPS)進行表述,幀率就是每秒畫面更新的次數。理論上,幀率越大,動畫就會越流暢,通常當幀率在50~60 fps之間,即每一幀消耗的時間在16.66~20 ms之間,動畫會相當流暢,讓人感受舒適。使用Chrome瀏覽器的Chrome DevTools Performance功能來分析檢測運行時的性能,通過Frame Timing的接口獲取與幀率相關的數據。圖10(a)是用原始測井數據繪制的測井曲線通過Frame Timing檢測到的數據,圖10(b)是使用基于貝塞爾曲線的測井曲線,可以看出未處理前的渲染是分段的,其使用setInterval函數定時繪制指定長度的數據,每幀消耗的時間平均在36.68 ms,而處理過后,檢測到的繪制幀率明顯增多,每幀消耗的時間平均在16.59 ms,動畫的流暢性得到明顯提升。

4 結論

本文提出了一種基于貝塞爾曲線的測井曲線動態繪制方法,采用一屏動態繪制方式,對測井曲線數據進行抽稀,利用繪制貝塞爾曲線來擬合原測井曲線,極大地降低了瀏覽器渲染壓力,可實現快速響應交互。該方法在保證測井曲線準確性的前提下,提升了動態繪制的流暢度和清晰度,并且提供了在畫布上進行標注和自適應抽稀等實時交互功能。經過工程實踐,測井曲線的擬合效果符合工程要求,繪制速度滿足地質工作人員的日常需求。

圖10 基于貝塞爾曲線的測井曲線與原圖的對比示意圖

猜你喜歡
動畫
我們的“動畫偶像”
Clifford hits the big screen
做個動畫給你看
動畫發展史
Mg動畫在慕課中的應用及其制作
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
好萊塢動畫與中國動畫對比
流行色(2019年7期)2019-09-27 09:33:28
動畫批評融入動畫教育的思考
新聞傳播(2018年3期)2018-05-30 07:01:39
暖心動畫:最好的禮物
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
主站蜘蛛池模板: 国产在线观看91精品亚瑟| 在线播放国产一区| 麻豆精品视频在线原创| 国产成人综合网| 综合天天色| 久久亚洲日本不卡一区二区| 久久国产精品电影| 国产成人精品男人的天堂下载| 99久久人妻精品免费二区| 久久久成年黄色视频| 亚洲欧洲日产无码AV| 亚洲欧美日韩中文字幕一区二区三区| 亚洲视频无码| 日本精品αv中文字幕| 国产成人精品在线1区| 成人一级免费视频| 色窝窝免费一区二区三区| 国产青榴视频在线观看网站| 欧美一级高清免费a| 精品免费在线视频| 亚洲日韩AV无码一区二区三区人| 国产第三区| 国产a网站| 亚洲六月丁香六月婷婷蜜芽| 色播五月婷婷| 亚洲丝袜中文字幕| 日本爱爱精品一区二区| 福利一区三区| 欧美成a人片在线观看| 直接黄91麻豆网站| 国产黄色片在线看| jizz国产视频| 国产精品手机视频一区二区| 国产精品视频观看裸模| 青青草国产精品久久久久| 国产成年女人特黄特色大片免费| 无码aaa视频| 亚洲国产欧洲精品路线久久| 午夜日b视频| 国产永久在线视频| 色屁屁一区二区三区视频国产| 国产精品成人观看视频国产| 1769国产精品视频免费观看| 欧美中文字幕一区| 国产真实二区一区在线亚洲| 99视频在线精品免费观看6| 一级福利视频| 国产成人1024精品| 精品人妻无码区在线视频| 欧美区在线播放| 免费在线a视频| 国产尤物jk自慰制服喷水| 午夜福利视频一区| 免费在线成人网| 国产亚洲精品91| 2020最新国产精品视频| 国产亚洲第一页| 久久亚洲AⅤ无码精品午夜麻豆| 91亚瑟视频| 五月综合色婷婷| 欧美日本中文| 亚洲第一国产综合| 欧美成人午夜视频| 色播五月婷婷| 国产农村1级毛片| 国产在线精品99一区不卡| 99在线视频免费| 久久综合亚洲鲁鲁九月天| 波多野结衣一区二区三区AV| 亚洲免费三区| 中文字幕无线码一区| 亚洲香蕉久久| 一级片免费网站| 色成人亚洲| 一级毛片免费观看久| 欧美不卡二区| 91视频99| 玖玖精品视频在线观看| 日韩av高清无码一区二区三区| 大陆国产精品视频| 亚洲精品视频免费看| 波多野结衣一区二区三区四区视频 |