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

基于B/S模式的三維巖心瀏覽系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2018-10-22 11:47:52卿粼波何小海張余強(qiáng)
關(guān)鍵詞:動(dòng)畫效果模型

陳 岑,卿粼波,何小海,張余強(qiáng)

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

0 引言

巖心圖像可以保存巖心原始的顏色、結(jié)構(gòu)和油水的分布狀態(tài),可用于巖心描述和分析[1],是永久記錄巖心的第一手資料。即使巖心后期經(jīng)受風(fēng)化,采樣后的巖心可以和原始圖像進(jìn)行對(duì)比校正,保證了巖心的使用價(jià)值。目前各類巖心管理、入庫(kù)、分析、瀏覽系統(tǒng)已經(jīng)得到了廣泛的應(yīng)用,隨著技術(shù)的進(jìn)步和發(fā)展,油氣勘探開發(fā)單位對(duì)巖心展示系統(tǒng)的直觀性、操作便捷性有了更高的需求。傳統(tǒng)的基于Web的巖心圖像瀏覽系統(tǒng)主要采用ASP.NET Webform框架,需要配置和安裝ActiveX控件實(shí)現(xiàn)網(wǎng)頁(yè)3D渲染展示[2],Webform頁(yè)面可設(shè)計(jì)性差,同時(shí)頁(yè)面與業(yè)務(wù)邏輯混雜也增加了維護(hù)難度。已有的巖心展示系統(tǒng)常采用列表的形式展示不同井段的巖心圖像,而巖心整理時(shí)是將丈量好的巖心按照自上而下的順序裝入巖心盒內(nèi),列表的展現(xiàn)形式不利于查看整筒巖心隨井深的變化情況。在訪問速度方面,查詢相關(guān)筒次數(shù)據(jù)和同時(shí)加載大量巖心圖像,會(huì)造成瀏覽器卡頓和加載時(shí)間長(zhǎng)的問題,嚴(yán)重影響了油田工作者的用戶體驗(yàn)。

針對(duì)以上問題,本文設(shè)計(jì)了基于B/S模式的巖心相冊(cè)瀏覽系統(tǒng),充分利用HTML5、Canvas的強(qiáng)大優(yōu)勢(shì),按照巖心的井深順序標(biāo)識(shí)和展現(xiàn)不同筒次的巖心。結(jié)合了平面式和三維重建式的兩種展現(xiàn)方式,用于展現(xiàn)縱切面和外表面的巖心圖像,同時(shí)為用戶提供了豐富的交互式功能,系統(tǒng)具有操作直觀便捷、無需安裝專用渲染插件的優(yōu)勢(shì)。最后為了優(yōu)化訪問速度,采用將巖心的高分辨率圖像和縮略圖結(jié)合的展現(xiàn)方式,同時(shí)使用了Memcached緩存技術(shù)緩存JSON數(shù)據(jù),提高了Web應(yīng)用系統(tǒng)的響應(yīng)速度[3]。

1 系統(tǒng)總體架構(gòu)

以往基于B/S架構(gòu)的巖心瀏覽系統(tǒng)常采用ASP.NET Webform框架進(jìn)行開發(fā),該框架封裝性太強(qiáng)不利于后臺(tái)結(jié)構(gòu)層次的劃分,增加了后期維護(hù)的難度。本系統(tǒng)采用MVC三層架構(gòu),整個(gè)業(yè)務(wù)應(yīng)用劃分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。各層之間相互獨(dú)立,當(dāng)某一層內(nèi)部由于技術(shù)變遷發(fā)生變化時(shí),只要接口不變,其他層不用做任何改變。因此分層之后系統(tǒng)靈活性提高,也便于團(tuán)隊(duì)分工開發(fā)[4]。為了提高系統(tǒng)訪問速度,本系統(tǒng)增加了Memcached緩存服務(wù)器,系統(tǒng)架構(gòu)如圖1所示。當(dāng)應(yīng)用服務(wù)器接收到用戶請(qǐng)求時(shí),應(yīng)用服務(wù)器解析用戶請(qǐng)求并首先訪問緩存服務(wù)器,如果命中則直接返回內(nèi)容,如果未命中或數(shù)據(jù)失效,則從油田數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),返回處理過后的數(shù)據(jù)同時(shí)更新緩存。這樣可以通過緩存數(shù)據(jù)庫(kù)的查詢命中減少油田數(shù)據(jù)庫(kù)壓力,提高應(yīng)用響應(yīng)速度。

圖1 系統(tǒng)架構(gòu)圖

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 系統(tǒng)功能設(shè)計(jì)

根據(jù)用戶需求,系統(tǒng)前端展示部分主要有三大模塊,如圖2所示。平面巖心展示模塊主要用于展示巖心高分辨率圖像,顯示巖心圖像的基本信息。其中動(dòng)態(tài)標(biāo)尺可以隨圖像縮放、移動(dòng),用于單張圖像的深度標(biāo)定。三維巖心展示模塊主要用于展示整筒井的重建圖像,模擬巖心盒內(nèi)實(shí)際巖心的放置方式。其中靜態(tài)標(biāo)尺用于標(biāo)識(shí)整筒井的掃描深度,不同井深的巖心圖像重建過后按照靜態(tài)標(biāo)尺標(biāo)識(shí)的深度段進(jìn)行定位,可以360°旋轉(zhuǎn)同一筒井的巖心重建圖像。動(dòng)畫效果展示模塊主要用于展示巖心三維重建動(dòng)畫,可以在動(dòng)畫過程中調(diào)節(jié)光照強(qiáng)度,展示不同光強(qiáng)下巖心圖像的重建效果。

圖2 系統(tǒng)主要功能模塊

上述功能模塊中,靜態(tài)標(biāo)尺主要是通過在Canvas畫布中繪制路徑及文本以實(shí)現(xiàn)深度標(biāo)定的功能。以下將對(duì)巖心圖像三維重建的實(shí)現(xiàn)和巖心圖像重建動(dòng)畫的實(shí)現(xiàn)部分進(jìn)行詳細(xì)闡述。

2.2 巖心圖像三維重建的實(shí)現(xiàn)

Three.js封裝了WebGL底層的圖形接口,允許瀏覽器端在未安裝插件的情況下進(jìn)行3D硬件加速渲染[5]。本系統(tǒng)使用Three.js開源框架實(shí)現(xiàn)巖心圖像的三維重建。搭建巖心圖像3D環(huán)境至少需要場(chǎng)景、相機(jī)、光源、渲染器及模型對(duì)象。其中場(chǎng)景作為一個(gè)舞臺(tái),用于添加需要呈現(xiàn)的對(duì)象。相機(jī)將三維的場(chǎng)景投影到二維的屏幕,根據(jù)投影的方式不同,相機(jī)分為正交投影和透視投影相機(jī)。如圖3所示,近平面到遠(yuǎn)平面之間的場(chǎng)景將會(huì)被渲染,在正交投影中投影線垂直于投影面進(jìn)行投影,投影之后物體遠(yuǎn)近的比例保持不變。在透視投影中所有的投影線最后都將匯聚于一點(diǎn),渲染物體具有近大遠(yuǎn)小的效果,因此本系統(tǒng)使用透視投影相機(jī),以更接近人眼的實(shí)際觀察效果。

圖3 正交投影與透視投影

光源主要用于營(yíng)造氛圍和制造陰影,渲染器則包含了WebGL繪圖上下文和著色器。巖心三維模型以圓柱或圓錐對(duì)象作為柱狀體框架,使用CanvasRenderer渲染方式[6],將三維空間的物體映射到二維平面上。

2.3 巖心圖像重建動(dòng)畫的實(shí)現(xiàn)

在網(wǎng)頁(yè)上實(shí)現(xiàn)巖心圖像重建動(dòng)畫,需要按照一定頻率更新和渲染模型。大多數(shù)顯示器的刷新頻率是60 Hz,同時(shí)受屏幕分辨率和屏幕尺寸的影響,不同設(shè)備的屏幕刷新頻率可能會(huì)不同。本文使用的requestAnimationFrame方法,它由系統(tǒng)來決定回調(diào)函數(shù)的執(zhí)行時(shí)機(jī),不會(huì)引起丟幀現(xiàn)象也不會(huì)導(dǎo)致動(dòng)畫出現(xiàn)卡頓的問題,能夠保證動(dòng)畫效果更平滑流暢。

屏幕每一次的刷新間隔中會(huì)執(zhí)行一次渲染,在這個(gè)過程中需要重新確定框架模型的每一個(gè)坐標(biāo)點(diǎn)。假設(shè)當(dāng)前顯示的重建模型的三維坐標(biāo)由(Xnow,Ynow,Znow)表示,平面模型的坐標(biāo)由(Xp,Yp,Zp)表示,柱狀三維模型的坐標(biāo)由(Xt,Yt,Zt)表示。平面模型的寬度為W,則重建之后柱狀模型的半徑為W/2π。令Mstep為步長(zhǎng),如果Mstep為60,則在渲染60次之后完成重建動(dòng)畫。通過4×4的矩陣變換實(shí)現(xiàn)模型的平移、旋轉(zhuǎn)矩和縮放,在渲染過程中模型每一個(gè)點(diǎn)的三維坐標(biāo)值如式(1)所示,每渲染一次當(dāng)前模型會(huì)更貼近柱狀三維模型。渲染Mstep次之后完成重建過程,重建之后的模型中心整體向左前方存在平移,以達(dá)到更好的視覺效果。之后再將模型中心變換到視野中心,重建動(dòng)畫實(shí)現(xiàn)效果如圖4所示。

(1)

圖4 重建動(dòng)畫

在動(dòng)畫階段重建模型也可以響應(yīng)鼠標(biāo)事件進(jìn)行縮放、拖動(dòng)及平移等。為了模擬觀察巖心的真實(shí)場(chǎng)景,在場(chǎng)景中加入了半球光源,創(chuàng)建出更加貼近自然的戶外光照效果,可以直接拖動(dòng)調(diào)節(jié)光照強(qiáng)度,觀察不同光強(qiáng)下的巖心重建效果,如圖5所示。

圖5 不同光照強(qiáng)度下的重建效果

2.4 系統(tǒng)緩存的實(shí)現(xiàn)

巖心圖像采集儀采用CCD成像技術(shù)[7],掃描圖像分辨率不小于150 DPI(Dot Per Inch),清晰度不小于24位真彩色。一筒井存在多張不同井段的高清巖心掃描圖像,在顯示的時(shí)候,同時(shí)傳輸和加載大量高分辨率巖心圖像,會(huì)造成瀏覽器卡頓加載時(shí)間長(zhǎng)的問題,甚至造成瀏覽器崩潰,嚴(yán)重影響了油田工作者的用戶體驗(yàn)。

因此本系統(tǒng)對(duì)后端部分進(jìn)行優(yōu)化,應(yīng)用了Memcached緩存技術(shù)。將Memcached以守護(hù)進(jìn)程的方式運(yùn)行在服務(wù)器中,監(jiān)聽11211端口。當(dāng)瀏覽器首次請(qǐng)求訪問數(shù)據(jù)時(shí),應(yīng)用服務(wù)器會(huì)先從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),在應(yīng)用服務(wù)器中將檢索結(jié)果封裝成JSON字符串,并將其以Key/Value鍵值對(duì)的形式存入內(nèi)存,這里的Key值是使用查詢條件及部分URL信息生成的哈希摘要。再次查詢時(shí),如果對(duì)應(yīng)的查詢條件及請(qǐng)求頁(yè)面相同,則直接從Memcached中讀取。這樣可以減少讀取數(shù)據(jù)庫(kù)的次數(shù),一定程度上提高了網(wǎng)站的訪問速度。在圖片傳輸方面,初始化時(shí)默認(rèn)選擇顯示最上層掃描深度段高清圖像,其他井段的圖像由應(yīng)用服務(wù)器生成縮略圖,并傳輸縮略圖。這里生成的縮略圖在保證重建質(zhì)量(保證圖像的長(zhǎng)寬比例不變和巖心紋理特征不丟失不變形)的情況下,對(duì)原始圖像進(jìn)行一定程度的壓縮。在點(diǎn)擊選擇不同掃描深度段的重建圖像時(shí)再傳輸和顯示當(dāng)前深度段的高分辨率巖心圖像,程序流程圖如圖6所示。

圖6 程序流程圖

3 系統(tǒng)測(cè)試

3.1 系統(tǒng)功能模塊測(cè)試

系統(tǒng)實(shí)現(xiàn)了平面巖心展示、三維巖心展示、動(dòng)畫效果展示的功能模塊。在不同查詢條件下測(cè)試了本系統(tǒng)的巖心瀏覽效果。針對(duì)巖心圖像的掃描深度可能存在不連續(xù)和重復(fù)掃描的情況,測(cè)試了巖心重建圖像井深定位的準(zhǔn)確度,定位實(shí)現(xiàn)效果如圖7所示,達(dá)到了預(yù)期效果。

圖7 井深定位實(shí)現(xiàn)效果

針對(duì)重建動(dòng)畫的流暢度方面,本系統(tǒng)使用了Chrome開發(fā)者工具中的Rendering監(jiān)聽器對(duì)重建動(dòng)畫頁(yè)面進(jìn)行實(shí)時(shí)幀率觀測(cè),動(dòng)畫渲染幀率穩(wěn)定在59~60 f/s,動(dòng)畫渲染效果流暢美觀。在其他功能方面,可以360°旋轉(zhuǎn)整筒井的巖心重建圖像,具有操作便捷直觀的特點(diǎn);可以選擇隱藏或添加動(dòng)態(tài)標(biāo)尺,用于觀察單幅巖心平面圖像的精確深度;可以以表格形式展示巖石物性詳細(xì)信息等。系統(tǒng)展示如圖8所示,系統(tǒng)對(duì)于縱切面和外表面的巖心圖像以及熒光圖像都有良好的瀏覽效果,所有功能均可可靠運(yùn)行。

圖8 系統(tǒng)展示

3.2 系統(tǒng)響應(yīng)速度測(cè)試

為了衡量系統(tǒng)的性能指標(biāo),本實(shí)驗(yàn)使用Apache JMeter對(duì)系統(tǒng)響應(yīng)時(shí)間做測(cè)試[8]。在相同查詢條件下分別測(cè)試了系統(tǒng)優(yōu)化前和優(yōu)化后的平均響應(yīng)時(shí)間,測(cè)試結(jié)果如圖9所示。優(yōu)化后的系統(tǒng)采用了高分辨率圖像和縮略圖結(jié)合的展現(xiàn)方式,同時(shí)使用了Memcached緩存技術(shù)緩存JSON數(shù)據(jù),優(yōu)化后的系統(tǒng)響應(yīng)速度滿足用戶對(duì)性能的需求。

圖9 系統(tǒng)響應(yīng)時(shí)間對(duì)比

4 結(jié)論

本文針對(duì)油田探勘生產(chǎn)部門的需求,設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于B/S模式的多功能巖心瀏覽系統(tǒng),系統(tǒng)具有優(yōu)越的跨平臺(tái)性且無需安裝插件,便捷易用。本系統(tǒng)以井字、井號(hào)、筒次作為篩選條件,查詢之后按照掃描深度直觀展示巖心圖像,便于油田工作人員查閱。系統(tǒng)提供了三維重建巖心圖像和平面巖心圖像兩種展示方式,以及直觀的重建動(dòng)畫過程,為探勘生產(chǎn)部門查閱巖心資料提供了更為便捷的途徑。

猜你喜歡
動(dòng)畫效果模型
一半模型
按摩效果確有理論依據(jù)
做個(gè)動(dòng)畫給你看
重要模型『一線三等角』
動(dòng)畫發(fā)展史
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
我的動(dòng)畫夢(mèng)
文苑(2019年22期)2019-12-07 05:28:56
迅速制造慢門虛化效果
抓住“瞬間性”效果
3D打印中的模型分割與打包
主站蜘蛛池模板: 日本日韩欧美| 国产91在线|日本| 精品欧美一区二区三区在线| 在线播放国产99re| 亚洲国产成人自拍| 91久久国产热精品免费| 亚洲成人一区在线| 日韩色图区| 91精品人妻一区二区| 精品无码一区二区三区电影| 亚洲欧美人成人让影院| 高潮毛片免费观看| AV熟女乱| 久久永久精品免费视频| 九色视频线上播放| 久久久久亚洲Av片无码观看| 久久96热在精品国产高清| 亚洲精品成人7777在线观看| 成人久久精品一区二区三区| 国产理论精品| 毛片免费观看视频| 欧美激情视频在线观看一区| 国产视频自拍一区| 日韩东京热无码人妻| 亚洲精品午夜无码电影网| 亚洲国产91人成在线| 欧洲欧美人成免费全部视频 | 日本午夜影院| 91年精品国产福利线观看久久| 麻豆精品在线| 国产在线视频导航| 喷潮白浆直流在线播放| 免费人成黄页在线观看国产| 日韩无码一二三区| 一本大道无码高清| 最新精品久久精品| 玖玖精品在线| 国产一区二区网站| 美女被操黄色视频网站| 久久久精品久久久久三级| 亚洲一区毛片| 亚洲第一成年网| 男女精品视频| 日本不卡免费高清视频| 国产精品爽爽va在线无码观看| 成人噜噜噜视频在线观看| 国产福利一区视频| 国产日韩精品欧美一区灰| 老司机久久精品视频| 都市激情亚洲综合久久| 欧美日韩中文国产| 麻豆AV网站免费进入| 欧美精品1区| 色哟哟国产精品一区二区| 日韩大片免费观看视频播放| 欧美天堂在线| 91青青草视频在线观看的| 99久久婷婷国产综合精| 久久青草免费91线频观看不卡| 国产视频自拍一区| 国产麻豆aⅴ精品无码| 国产黄色免费看| 亚洲国产精品一区二区高清无码久久| 在线人成精品免费视频| 欧美高清视频一区二区三区| a在线亚洲男人的天堂试看| 国产亚洲精品97在线观看| 久久精品国产精品国产一区| 2021无码专区人妻系列日韩| 在线无码九区| 国产另类视频| 114级毛片免费观看| 国产亚洲欧美在线专区| 日本在线亚洲| 精品欧美一区二区三区在线| 老汉色老汉首页a亚洲| 18禁黄无遮挡免费动漫网站| 2020精品极品国产色在线观看| 国产麻豆另类AV| 亚洲人成色77777在线观看| 亚洲精品成人片在线播放| 亚洲国产精品无码AV|