国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Qt與OpenInventor的儲層三維可視化系統(tǒng)構(gòu)建

2017-12-11 14:29:32董欣鄭凱東王家華
電腦知識與技術(shù) 2017年31期
關(guān)鍵詞:紋理可視化儲層

董欣 鄭凱東 王家華

摘要:該文通過將地震數(shù)據(jù)模型轉(zhuǎn)換為圖形信息,構(gòu)造出儲層數(shù)據(jù)集的空間分布形態(tài)。將開發(fā)工具Qt和OpenInventor結(jié)合起來,在VS 2008開發(fā)環(huán)境下實(shí)現(xiàn)了三維地質(zhì)模型可視化系統(tǒng)的構(gòu)建。所實(shí)現(xiàn)的儲層可視化模型對了解儲層地質(zhì)數(shù)據(jù)的分布規(guī)律具有較大意義。

關(guān)鍵詞:Qt開發(fā)平臺;OpenInventor圖形開發(fā)包;可視化

中圖分類號:TP37 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)31-0260-02

地震數(shù)據(jù)三維可視化通過對三維地震數(shù)據(jù)中感興趣的特征數(shù)據(jù)進(jìn)行構(gòu)造,顯示其范圍、走向,并使用不同的顏色與不透明度表示多種屬性間的關(guān)系??蓪Φ卣饠?shù)據(jù)進(jìn)行完整、準(zhǔn)確地顯示,還可以顯示出井中數(shù)據(jù)和井間的關(guān)系。

Qt是跨平臺的C++圖形用戶界面應(yīng)用程序框架,面向?qū)ο笄乙子跀U(kuò)展,可在大多數(shù)操作系統(tǒng)下運(yùn)行[1]。OpenInventor(以下簡稱OIV)是目前使用最為廣泛的面向?qū)ο蟮睦L圖軟件開發(fā)包。OIV在OpenGL的基礎(chǔ)上發(fā)展而來,通過“搭積木”的方式快速、高效地構(gòu)造出復(fù)雜的三維場景,方便地實(shí)現(xiàn)數(shù)據(jù)模型的可視化[2]。OIV提供了多種文件接口的方法,如地震數(shù)據(jù)SGEY、LDM格式文件等。

本文以地震數(shù)據(jù)為例,通過建立可視化系統(tǒng)框架,生成儲層三維可視化場景。

1 地震數(shù)據(jù)可視化流程

可視化系統(tǒng)框架結(jié)構(gòu)主要由數(shù)據(jù)處理、網(wǎng)格計(jì)算、數(shù)學(xué)算法、顯示等模塊組成。根據(jù)對儲層可視化系統(tǒng)的需求分析,將該軟件系統(tǒng)劃分為數(shù)據(jù)輸入輸出模塊、數(shù)據(jù)規(guī)格化模塊、地質(zhì)統(tǒng)計(jì)學(xué)算法模塊、用戶圖形界面與三維顯示模塊、系統(tǒng)管理模塊和主程序模塊。各個(gè)模塊間具有相互聯(lián)系的依賴性,必須按照一定的順序才能實(shí)現(xiàn)各自的功能。地震數(shù)據(jù)可視化流程圖如圖1所示。

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

2.1 數(shù)據(jù)預(yù)處理

數(shù)據(jù)預(yù)處理將測井?dāng)?shù)據(jù)或原始地震數(shù)據(jù)從一個(gè)不規(guī)則的數(shù)據(jù)體構(gòu)造為一個(gè)規(guī)則化的網(wǎng)格數(shù)據(jù)體,然后在網(wǎng)格模型的坐標(biāo)軸水平X和Y方向定義網(wǎng)格單元的大小,通過插值算法對原本沒有數(shù)據(jù)的網(wǎng)格點(diǎn)進(jìn)行賦值。真實(shí)的儲層是凹凸不平或彎曲的層狀模型,需要進(jìn)行變異函數(shù)分析或其他統(tǒng)計(jì)分析。將層狀模型轉(zhuǎn)換成箱形的模型區(qū)域,對分析和統(tǒng)計(jì)地質(zhì)變量至關(guān)重要[3]。在儲層建模的過程中,對地質(zhì)數(shù)據(jù)首先要進(jìn)行坐標(biāo)變換。

不考慮剝蝕只考慮壓實(shí)和構(gòu)造作用的影響,坐標(biāo)變換為(直井情形)。x,y為水平方向的剖面長度。z為兩個(gè)層中的形成的一個(gè)層面。則有如下變換:

[x'=x,y'=y,z'=(z-zTop)/(zTop-zBott)] (1)

[(X,Y,Z)]為一個(gè)直井軌跡中的空間位置,([ZTop,ZBott])為該直井中對應(yīng)的層面頂?shù)咨疃?,[(X',Y',Z')]為變換后新的坐標(biāo)。因?yàn)閇0≤Z'≤1],這種變換被稱為層模型的歸一化處理。

對地層油氣藏進(jìn)行三維建模,要建立地質(zhì)剖面圖模型。剖面圖以某個(gè)方向作為剖切路徑,將切開的斷面繪制成地質(zhì)剖面圖[3]。為實(shí)現(xiàn)剖面的可視化,首先進(jìn)行數(shù)據(jù)的組織(包括幾何頂點(diǎn),物性參數(shù)等),通過已有地質(zhì)數(shù)據(jù)建立一個(gè)基于某種數(shù)學(xué)模型的地質(zhì)模型并與相應(yīng)目標(biāo)相結(jié)合,然后進(jìn)行數(shù)據(jù)插值計(jì)算得出該區(qū)域范圍內(nèi)各網(wǎng)格點(diǎn)的屬性值,通過屬性點(diǎn)的賦值實(shí)現(xiàn)對模型的繪制[4]。其次,提供對模型的分解和剖切方法,實(shí)現(xiàn)由數(shù)據(jù)驅(qū)動的對模型的操作控制。

2.2 可視化映射

本文的可視化紋理映射有三個(gè)主要步驟。

第一步生成紋理。使用RGB顏色模型來描述地層屬性的分布情況,每個(gè)顏色分量的取值為0~255。每一個(gè)體數(shù)據(jù)的RGB值通過使用OIV中的數(shù)據(jù)范圍的SoDataRange類和轉(zhuǎn)換函數(shù)SoTransferFunction類來決定。由預(yù)設(shè)置的轉(zhuǎn)換函數(shù)將體數(shù)據(jù)值轉(zhuǎn)換成相應(yīng)的顏色和不透明度,形成紋理。采用當(dāng)前的漫射顏色和透明度來修改切片的表面。

第二步定義映射。建立紋理空間與物體空間及物體空間與計(jì)算機(jī)屏幕空間的映射關(guān)系。

第三步紋理的重采樣。紋理空間的紋理單元與被繪制物體離散化后的坐標(biāo)點(diǎn)并不一一對應(yīng),還須進(jìn)行重采樣來計(jì)算所需的紋理值。離散的紋理方法較常用。離散法把紋理定義在一個(gè)二維數(shù)組中,代表紋理空間中行、列間隔固定的一組網(wǎng)格點(diǎn)上的紋理值。網(wǎng)格點(diǎn)之間的其他點(diǎn)的紋理值可通過網(wǎng)格點(diǎn)的插值獲得。通過紋理空間與物體空間之間的坐標(biāo)變換,把紋理映射到物體表面。

通過分類和映射實(shí)現(xiàn)最終的可視化結(jié)果。分類映射的目的就是在繪制結(jié)果中,用不同的顏色和不透明度,直觀區(qū)分不同類型的物質(zhì)[5]。

映射的過程需要通過傳遞函數(shù)來完成。映射一般是將數(shù)據(jù)的顏色表的值與數(shù)據(jù)范圍建立一個(gè)映射,這就可以使得數(shù)據(jù)的每一個(gè)數(shù)據(jù)都以在顏色表中找到與之相對應(yīng)的顏色值。通過使用轉(zhuǎn)換函數(shù)SoTransferFunction類的colorMap參數(shù)域進(jìn)行顏色映射的定義。SoTransferFunction類可根據(jù)體數(shù)據(jù)范圍和渲染節(jié)點(diǎn)自動建立起體素值和顏色之間的對應(yīng)關(guān)系,就不用再分類體數(shù)據(jù)及進(jìn)行手動編寫數(shù)據(jù)與顏色的映射關(guān)系,可快速完成地震數(shù)據(jù)的渲染。

2.3 場景圖設(shè)計(jì)

通過設(shè)計(jì)場景結(jié)構(gòu)圖構(gòu)建可視化場景結(jié)構(gòu)。使用了一種樹狀的數(shù)據(jù)結(jié)構(gòu)來組織空間數(shù)據(jù)集,該結(jié)構(gòu)采用自上而下的分層結(jié)構(gòu),建立場景結(jié)構(gòu)圖來構(gòu)建對象各個(gè)部分,完成剖面具體實(shí)現(xiàn)的場景, OIV將程序所創(chuàng)建的圖形都作為三維對象管理,光照模型LightMode、場景照相機(jī)Camera、井位well1以及地震切片SliceChild等節(jié)點(diǎn)組合為三維場景圖(如圖2所示)。利用OIV強(qiáng)大的庫將三維對象封裝后,可對其進(jìn)行改動顏色,大小、紋理、包圍盒等一系列操作,最終實(shí)現(xiàn)三維可視化的交互模塊[6]。

2.4 儲層三維模型實(shí)現(xiàn)

首先利用地震波阻抗數(shù)據(jù),通過數(shù)據(jù)預(yù)處理分類后,再分析相應(yīng)的直方圖,根據(jù)光線經(jīng)過三維數(shù)據(jù)場內(nèi)部所有點(diǎn),對采樣多邊形進(jìn)行紋理重采樣,進(jìn)行紋理映射,顏色與不透明度的變化進(jìn)行疊加排列合成,將數(shù)據(jù)點(diǎn)與顏色值對應(yīng)起來,賦予體數(shù)據(jù)不同的顏色值和不透明度。最后求解多個(gè)采樣多邊形,給出采樣多邊形與紋理空間的映射關(guān)系,按從后到前的順序?qū)崿F(xiàn)圖像合成。

用硬件支持的紋理映射技術(shù)實(shí)現(xiàn)地震數(shù)據(jù)的三維彩色圖像顯示。最終顯示出經(jīng)過四口虛擬井位的柵狀圖(如圖3所示),實(shí)現(xiàn)數(shù)到形的轉(zhuǎn)換。

3 結(jié)束語

通過構(gòu)建基于Ot與OIV的儲層三維可視化系統(tǒng)框架,使用Qt設(shè)計(jì)界面完成數(shù)據(jù)的輸入,增加數(shù)據(jù)預(yù)處理模塊和算法實(shí)現(xiàn)等部分,加入OIV建立圖形對象場景圖,通過C++代碼進(jìn)行邏輯處理,將預(yù)處理數(shù)據(jù)加載到LDM中去,利用OIV可視化模塊將數(shù)據(jù)圖形化,可以直觀顯示儲層內(nèi)部構(gòu)造,并可對剖面結(jié)構(gòu)特征進(jìn)行分析[7] [8]。利用OIV實(shí)現(xiàn)的交互式儲層地質(zhì)可視化模型對勘探預(yù)測具有較大意義,方便地質(zhì)開發(fā)人員對地層構(gòu)造和油藏分布規(guī)律進(jìn)行更深入的分析和探究。

參考文獻(xiàn):

[1] 蔡志明,盧傳富,李立夏.精通Qt4編程[M].電子工業(yè)出版社,2008.

[2] 閻鋒欣,侯增選,張定華.OpenInventor程序設(shè)計(jì)入門到精通[M].清華大學(xué)出版社,2007.

[3] 王家華,于海茂多點(diǎn)地質(zhì)統(tǒng)計(jì)學(xué)建模方法研究[J].石油化工應(yīng)用 ,2012,31(10):72-74.

[3] 潘少偉,楊少春,李胡送. 基于開放圖形庫的儲層剖面圖的繪制[J].中國石油大學(xué)學(xué)報(bào):自然科學(xué)版,2009,31(1):157-160.

[4] 孟鑫,張樺. Open Inventor開發(fā)的關(guān)鍵技術(shù)與應(yīng)用[J].天津理工大學(xué)學(xué)報(bào),2005,21(1):70-72.

[5] 陳雨馨. Volume Viz在油氣儲層可視化中的應(yīng)用研究[D].西安石油大學(xué),2014.

[6] 鄭凱東. 基于OpenGL 的三維油藏可視化模型[J]. 電子設(shè)計(jì)工程,2009,17(5):63-65.

[7] Bruce Eckel,Chuck Allision. Thinking in C++Volume Two:Practical Programming. Pearson Education[M].Prentice Hall, 2003.

[8] 閆鋒欣,侯增選,張定華,等.基于Qt和Open Inventor跨平臺虛擬油泥造型系統(tǒng)構(gòu)建方法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2008,35(011):244-247.

猜你喜歡
紋理可視化儲層
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
輸導(dǎo)層
——北美又一種非常規(guī)儲層類型
基于CGAL和OpenGL的海底地形三維可視化
基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
軟件(2020年3期)2020-04-20 01:45:18
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
使用紋理疊加添加藝術(shù)畫特效
基于儲層構(gòu)型研究的儲層平面非均質(zhì)性表征
TEXTURE ON TEXTURE質(zhì)地上的紋理
Coco薇(2017年8期)2017-08-03 15:23:38
消除凹凸紋理有妙招!
Coco薇(2015年5期)2016-03-29 23:22:15
富平县| 沙田区| 怀远县| 司法| 沁阳市| 仁化县| 微山县| 响水县| 攀枝花市| 会同县| 肥乡县| 县级市| 江源县| 梓潼县| 营山县| 萨迦县| 安康市| 营口市| 泰州市| 太仓市| 苏尼特右旗| 平顶山市| 元阳县| 双柏县| 黄平县| 建瓯市| 萍乡市| 达日县| 察雅县| 富阳市| 曲沃县| 新津县| 松江区| 桐柏县| 邯郸市| 漳浦县| 仁化县| 盐源县| 葵青区| 合山市| 大新县|