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

?

微震監(jiān)測(cè)區(qū)域的實(shí)時(shí)仿真建模方法

2015-07-19 09:54李懷良庹先國(guó)劉瑤蔣鑫
中國(guó)測(cè)試 2015年8期
關(guān)鍵詞:面元微震頂點(diǎn)

李懷良,庹先國(guó),,劉瑤,蔣鑫

(1.西南科技大學(xué)核廢物與環(huán)境安全國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,四川綿陽621010;2.成都理工大學(xué)地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護(hù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,四川成都610059)

微震監(jiān)測(cè)區(qū)域的實(shí)時(shí)仿真建模方法

李懷良1,庹先國(guó)1,2,劉瑤1,蔣鑫2

(1.西南科技大學(xué)核廢物與環(huán)境安全國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,四川綿陽621010;2.成都理工大學(xué)地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護(hù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,四川成都610059)

針對(duì)因建模的三維數(shù)據(jù)量巨大導(dǎo)致傳統(tǒng)OpenGL固定管線對(duì)三維地形渲染難以滿足實(shí)時(shí)性需求這一問題,提出利用GPU可編程圖形管線來進(jìn)行渲染,實(shí)現(xiàn)區(qū)域的可視化實(shí)時(shí)顯示。建模過程中首先使用基于分形理論的隨機(jī)中點(diǎn)位移法產(chǎn)生地形高程數(shù)據(jù),然后利用三角面元連接地形高程散點(diǎn)生成三維曲面,最后通過GLSL著色語言對(duì)GPU進(jìn)行編程實(shí)現(xiàn)對(duì)地形的渲染。該方法建模過程與OpenGL固定管線渲染效率進(jìn)行對(duì)比,結(jié)果表明:利用GPU可編程圖形管線對(duì)400萬的三維地形網(wǎng)格數(shù)據(jù)進(jìn)行渲染僅用時(shí)82.92ms,效率遠(yuǎn)高于OpenGL固定管線的渲染,能夠滿足實(shí)時(shí)渲染的需要。

GPU;GLSL;三維地形;微震;實(shí)時(shí)渲染

0 引言

微地震監(jiān)測(cè)是近幾十年發(fā)展起來的對(duì)煤層頂板巖石破裂情況進(jìn)行監(jiān)測(cè)的新技術(shù)。它可量測(cè)長(zhǎng)壁開采過程中應(yīng)力變化所導(dǎo)致的圍巖破裂的空間展布形態(tài)與動(dòng)態(tài)變化特征。對(duì)監(jiān)測(cè)區(qū)域建立高準(zhǔn)確度的三維地質(zhì)模型,并運(yùn)用此模型進(jìn)行微震監(jiān)測(cè),快速定位發(fā)生的微震事件,是評(píng)價(jià)監(jiān)測(cè)區(qū)域穩(wěn)定性的一個(gè)重要指標(biāo)。如何快速地生成具有高度真實(shí)感的三維地形便成為一個(gè)富有挑戰(zhàn)性的研究課題[1],而三維地形的生成和渲染技術(shù)作為其核心技術(shù)更是研究中的重點(diǎn)。

目前,國(guó)內(nèi)外對(duì)于三維地形生成算法的研究取得了不俗的成果,總結(jié)起來,大體有如下3種方法:1)基于真實(shí)地形數(shù)據(jù)(如數(shù)字地面模型DTM和數(shù)字高程模型DEM)來生成地形[2];2)基于曲面擬合來生成地形[3];3)基于分形理論使用中點(diǎn)位移等方法進(jìn)行迭代插值來生成地形[4-5]。相對(duì)而言,對(duì)于三維地形渲染方面的研究則較少,大多是采用傳統(tǒng)的固定渲染管線對(duì)地形數(shù)據(jù)進(jìn)行渲染,這種方法只能依賴于圖形函數(shù)庫所提供的特性,無法更改機(jī)器內(nèi)部的操作順序,當(dāng)顯示數(shù)據(jù)量過大時(shí)往往會(huì)在CPU與GPU間傳遞數(shù)據(jù)而耗費(fèi)大量時(shí)間,導(dǎo)致遲滯、卡屏等現(xiàn)象。

由此,本文提出采用著色器語言GLSL對(duì)GPU進(jìn)行編程,實(shí)現(xiàn)對(duì)地形的渲染,將大量的計(jì)算過程由CPU轉(zhuǎn)向GPU,能夠快速完成對(duì)微震監(jiān)測(cè)區(qū)域三維地形的渲染,并取得較好的視覺效果。本文首先使用基于分形理論的隨機(jī)中點(diǎn)位移法來生成地形高程數(shù)據(jù),然后采用著色器語言GLSL對(duì)GPU進(jìn)行編程,最后以四川地區(qū)近水平薄煤層中具有代表性的某測(cè)試研究試點(diǎn)煤礦進(jìn)行圍巖監(jiān)測(cè),并比較CPU和GPU兩者對(duì)三維地形的渲染效率。

1 三維地形生成及建模方法

1.1 地形生成算法

基于分形理論的三維地形生成算法可以很好的解決一般地形仿真中模型細(xì)節(jié)不充分,畫面真實(shí)感不夠等問題,時(shí)間復(fù)雜度低,代碼簡(jiǎn)單,實(shí)現(xiàn)相對(duì)容易,本文采用隨機(jī)中點(diǎn)位移法中的菱形-方形法生成三維地形數(shù)據(jù),下面闡述其算法過程[6]。

1)菱形階段。如圖1(a)所示,初始地形表面為一個(gè)正方形,然后連接正方形對(duì)角線,得到正方形中點(diǎn),如圖1(b)所示。O點(diǎn)的高度值由4個(gè)頂點(diǎn)高度值的平均值再加上一個(gè)隨機(jī)變量得到,即:

其中,頂點(diǎn)hA、hB、hC、hD分別表示頂點(diǎn)A、B、C、D的高度值,ro為隨機(jī)變量,本文選取高斯分布隨機(jī)數(shù),計(jì)算公式如下:

圖1 菱形-方形法示意圖

式中:scale——比例系數(shù);

i——遞歸次數(shù);

H——地形特征參數(shù);

gauss——服從正態(tài)分布的隨機(jī)數(shù)。

2)方形階段。分別計(jì)算初始正方形4邊中點(diǎn)的高度值,每邊中點(diǎn)的高度值由此邊上兩頂點(diǎn)高度值的平均值加上一個(gè)隨機(jī)變量(與菱形階段的隨機(jī)變量滿足同分布)得到,即:

式中:W——AB中點(diǎn);

X——BC中點(diǎn);

Y——CD中點(diǎn);

Z——AD中點(diǎn);

rW、rX、rY、rZ——隨機(jī)變量。

至此,已經(jīng)生成了9個(gè)點(diǎn)的高度值,如圖1(c)所示,初始正方形被細(xì)分成了4個(gè)小正方形。然后,再對(duì)每個(gè)小正方形執(zhí)行上述步驟,則每個(gè)小正方形又可細(xì)分成4個(gè)更小的正方形,依次類推,便可得到迭代次數(shù)與生成的網(wǎng)格之間的數(shù)量關(guān)系式為

其中,n為生成的網(wǎng)格數(shù),i為迭代次數(shù),取值為大于1的正整數(shù),迭代次數(shù)的確定取決于期望得到地形細(xì)節(jié)復(fù)雜程度,迭代次數(shù)越大,生成的地形細(xì)節(jié)越豐富,計(jì)算量也相應(yīng)增加。

1.2 地形建模方法

按照上述算法生成的三維地形數(shù)據(jù)為包含x,y,z信息的一系列散點(diǎn),OpenGL提供了一種高效的三角形組織形式可以將這些散點(diǎn)連接成為面元,最終生成的三維地形曲面即由這些面元構(gòu)成。三角形面元的連接方法[7-8]描述如下:

設(shè)Vi(i=0,1,2,…,n)表示第i個(gè)頂點(diǎn),n為頂點(diǎn)總數(shù),第1個(gè)三角形面元由V0→V1→V23個(gè)頂點(diǎn)依次連接,當(dāng)i≥3的頂點(diǎn),每1個(gè)頂點(diǎn)數(shù)據(jù)則與其前兩個(gè)數(shù)據(jù)構(gòu)成第i-1個(gè)三角形面元,當(dāng)i為奇數(shù)時(shí),構(gòu)建三角形面元的連接順序?yàn)閂i-1→Vi-2→Vi;當(dāng)i為偶數(shù)時(shí),構(gòu)建三角形面元的連接順序?yàn)閂i-2→Vi-1→Vi,通過如此連接,可以保證每個(gè)三角形面元的法線向量保持一致(向外或者向里),這樣,當(dāng)進(jìn)行某些操作(如剔除掉背面不繪制)時(shí)則十分容易,可極大地提高渲染效率。下面舉例說明三角形面元的連接方法,如圖2所示。

圖2 三角形面元連接示意圖

圖中共有6個(gè)頂點(diǎn)進(jìn)行連接,第1步依次連接前3個(gè)頂點(diǎn)V0→V1→V2,構(gòu)建第1個(gè)三角形面元,當(dāng)連接V3頂點(diǎn)時(shí),利用其之前的兩個(gè)頂點(diǎn)V1和V2構(gòu)建第2個(gè)三角形面元,連接順序?yàn)閂2→V1→V3,從圖中可以看出,構(gòu)建的4個(gè)三角面元的法線方向都向外,繪制時(shí)可以據(jù)此剔除背面不進(jìn)行繪制,節(jié)省繪制時(shí)間。

2 三維地形渲染

2.1 OpenGL固定渲染管線

可以把OpenGL操作看成是兩臺(tái)機(jī)器,其中一臺(tái)對(duì)頂點(diǎn)進(jìn)行處理,另一臺(tái)對(duì)片斷進(jìn)行處理。機(jī)器的前面具有拔號(hào)盤和開關(guān),可以通過切換開關(guān)和拔號(hào)來控制機(jī)器的操作,但是機(jī)器的內(nèi)部操作是“固定”的,也就是說,無法更改機(jī)器內(nèi)部的操作順序,并且只能利用機(jī)器提供的特性,OpenGL的這種操作模式常常又稱為“固定功能的管線”[9],其操作順序如圖3所示。

幾何數(shù)據(jù)(頂點(diǎn)、線段和多邊形)沿著一條路徑,先進(jìn)行求值即根據(jù)幾何形狀建模,建立起物體的數(shù)學(xué)描述,然后根據(jù)物體在三維空間中的放置位置以及觀察的位置和方向?qū)γ總€(gè)頂點(diǎn)數(shù)據(jù)進(jìn)行操作;同時(shí),像素?cái)?shù)據(jù)(像素、圖像、位圖)沿著另一條路徑進(jìn)行處理,然后在光柵化階段,將物體的幾何描述和它們相關(guān)的信息(主要是顏色、紋理等)轉(zhuǎn)換為片斷,而每個(gè)片斷方塊對(duì)應(yīng)于幀緩沖區(qū)中的一個(gè)像素,最后將幀緩沖區(qū)中的圖形顯示到屏幕上。

圖3 OpenGL固定渲染管線

2.2 GPU可編程圖形管線

GPU可編程圖形管線的出現(xiàn)和高級(jí)著色語言的不斷發(fā)展,使得人們可以通過著色器對(duì)GPU進(jìn)行編程,著色器包含頂點(diǎn)著色器與像素著色器兩種,圖4和圖5分別展示了OpenGL固定管線中的頂點(diǎn)處理過程和像素處理過程,其中方框陰影部分的功能可以分別由頂點(diǎn)著色器和片斷著色器來代替,從而可使CPU從固定管線中的大量向量計(jì)算中解放出來,交由GPU完成,這不僅提高了渲染的速度,同時(shí)渲染圖像的質(zhì)量也顯著提高。

2.3 GLSL著色器創(chuàng)建流程

圖4 頂點(diǎn)處理管線

目前,對(duì)GPU編程的著色器語言主要有3種:1)微軟公司的基于Direct3D的HLSL語言;2)NVIDIA公司推出的Cg(C for Graphic)著色器語言;3)基于OpenGL的GLSL。本文采用GLSL對(duì)GPU進(jìn)行編程,圖6顯示了創(chuàng)建GLSL著色器對(duì)象并把它們鏈接起來創(chuàng)建可執(zhí)行著色器程序所需要的步驟[10]。

圖5 片斷處理管線

圖6 著色器創(chuàng)建流程

在應(yīng)用程序中使用頂點(diǎn)或片斷著色器,需要按照順序執(zhí)行下面的步驟:

1)創(chuàng)建一個(gè)著色器對(duì)象;

2)把著色器源代參與編譯為目標(biāo)代碼;

3)驗(yàn)證這個(gè)著色器已成功通過編譯;

然后,為了把多個(gè)著色器對(duì)象鏈接到一個(gè)著色器程序中,需要執(zhí)行下面的步驟:

4)創(chuàng)建一個(gè)著色器程序;

5)把適當(dāng)?shù)闹鲗?duì)象鏈接到這個(gè)著色器程序中;

6)鏈接著色器程序;

7)驗(yàn)證著色器鏈接階段已經(jīng)成功完成;

8)使用著色器進(jìn)行頂點(diǎn)或片斷處理。

3 實(shí)驗(yàn)結(jié)果

為了測(cè)試采用GPU可編程圖形管線對(duì)微震監(jiān)測(cè)區(qū)域的渲染效率,本文以四川地區(qū)近水平薄煤層中具有代表性的某測(cè)試研究試點(diǎn)煤礦進(jìn)行圍巖監(jiān)測(cè)。首先從谷歌地圖中導(dǎo)出監(jiān)測(cè)區(qū)域的三維地形數(shù)據(jù),包括坐標(biāo)和20×20的高程數(shù)據(jù),如圖7所示。

圖7 監(jiān)測(cè)區(qū)域示意圖

3.1 仿真測(cè)試

使用隨機(jī)中點(diǎn)位移法對(duì)谷歌地圖的高程數(shù)據(jù)進(jìn)行建模,生成大數(shù)據(jù)量的地形數(shù)據(jù),監(jiān)測(cè)區(qū)域高程地形的仿真結(jié)果如圖8所示。

圖8 區(qū)域等高線及微震事件監(jiān)測(cè)圖

圖8中,不同顏色的球體代表微震事件的震級(jí)大小,范圍從里氏震級(jí)-3.0~1.5,四面體代表檢波器。微震事件的聚集區(qū)域發(fā)生了塌方事件,是由于巖體多次、長(zhǎng)時(shí)間的破壞累積導(dǎo)致。通過GPU渲染的實(shí)際三維地形圖和網(wǎng)格圖如圖9所示。

圖9 監(jiān)測(cè)區(qū)域地形仿真圖

圖10 監(jiān)測(cè)區(qū)域地形網(wǎng)格圖

3.2 對(duì)比測(cè)試

本文在不同網(wǎng)格數(shù)情況下對(duì)監(jiān)測(cè)區(qū)域圖像的渲染時(shí)間與OpenGL傳統(tǒng)渲染管線所耗時(shí)間進(jìn)行了對(duì)比。進(jìn)行實(shí)驗(yàn)的硬件環(huán)境為:處理器為Intel(R)Core(TM)i5-3470 CPU@3.2GHz,內(nèi)存為3.47GB,顯卡為NVIDIA GeForce GT 620;軟件環(huán)境為:QT/C++,GLSL,OpenGL。

表1為不同網(wǎng)格數(shù)量時(shí)兩者所費(fèi)時(shí)間的統(tǒng)計(jì)表,從表中數(shù)據(jù)不難發(fā)現(xiàn),在相同網(wǎng)格數(shù)量情況下,使用GPU可編程圖形管線(GLSL)渲染效率高于OpenGL傳統(tǒng)渲染管線,特別當(dāng)所需渲染的網(wǎng)格數(shù)量超過百萬時(shí),差異更加明顯。

根據(jù)表1中數(shù)據(jù)作出二者的渲染時(shí)間對(duì)比圖如圖11所示,可以發(fā)現(xiàn)傳統(tǒng)渲染管線的渲染時(shí)間隨著網(wǎng)格數(shù)量級(jí)的增加近似于幾何增長(zhǎng),而可編程圖形管線的渲染時(shí)間隨網(wǎng)格數(shù)量級(jí)增加則近似于線性增長(zhǎng),由此可見,后者耗時(shí)隨地形網(wǎng)格數(shù)量級(jí)的增長(zhǎng)速度同樣小于前者耗時(shí)的增長(zhǎng)速度,因此,GPU可編程圖形管線的渲染效率較高。

圖11 幀渲染時(shí)間對(duì)比圖

4 結(jié)束語

本文首先使用Google Earth獲取監(jiān)測(cè)區(qū)域的高程數(shù)據(jù),再基于分形理論的隨機(jī)中點(diǎn)位移法擴(kuò)展地形數(shù)據(jù),利用連接三角形面元的方法進(jìn)行建模生成三維地形曲面,最后提出采用著色器語言GLSL對(duì)GPU進(jìn)行編程實(shí)現(xiàn)對(duì)三維地形的渲染。實(shí)踐表明,對(duì)于三維地形的渲染,相比于OpenGL固定渲染管線,GPU可編程圖形管線的渲染效率更高,能夠滿足實(shí)時(shí)渲染的需要,這對(duì)于微震數(shù)據(jù)或其他大量數(shù)據(jù)的可視化研究具有一定的參考意義。

[1]韓飛.面向虛擬環(huán)境的三維地形生成方法[J].計(jì)算機(jī)工程,2010,36(19):261-265.

[2]劉歡,朱紅秀,李宏遠(yuǎn),等.管道漏磁檢測(cè)數(shù)據(jù)三維顯示方法研究[J].中國(guó)測(cè)試,2015,41(2):84-87.

[3]劉海洋.三維地形生成的關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2012.

[4]芮小平,張彥敏,楊崇俊.基于Perlin噪聲函數(shù)的三維地形可視化研究[J].測(cè)繪通報(bào),2003(7):16-18.

[5]周煒,董福安,吉楠.基于分形和高度圖控制的三維地形生成技術(shù)研究[J].電光與控制,2007,14(4):66-69.

[6]劉操,汪俊,吳章文,等.基于圖形處理器的射線追蹤數(shù)字重建影像方法[J].中國(guó)測(cè)試,2012,38(2):81-84.

[7]孫鶴.基于分形理論的海底三維地形生成技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2011.

[8]Chaturvedi A K,Piegl L A.Procedural method for terrain surface interpolation[J].Computers&Graphics,1996,20(4):541-566.

[9]李廣鑫,吳自力,丁振國(guó),等.一種面向虛擬環(huán)境的真實(shí)感地形生成算法[J].西安電子科技大學(xué)學(xué)報(bào),2004,31(5):728-731.

[10]Shreiner D.OpenGL programming guide seventh edition[M]. Boston:Addison-Wesley,1999:668-674.

A method for realtime simulation modeling in m icroseism ic monitoring area

LI Huailiang1,TUO Xianguo1,2,LIU Yao1,JIANG Xin2
(1.Key Subject Lab of National Defense for Nuclear Waste and Environmental Safety,Southwest University of Science and Technology,Mianyang 621010,China;2.State Key Laboratory of Geohazard Prevention and Geoenvironment Protection,Chengdu University of Technology,Chengdu 610059,China)

Simulation modeling in micro-seismic monitoring areas is crucial for evaluating microseismic events.Because of the huge amount of 3D data for modeling,the traditional OpenGL fixed pipeline can not be applied to render 3D terrains in real time.A GPU programmable graphics pipeline capable of displaying visual areas in real time was proposed in this paper accordingly. First,the random midpoint displacement method was applied on the basis of fractal theory to produce terrain elevation data.Second,a 3D surface was formed by connecting triangle face-units with the scattered terrain elevation points.Next,the terrain was rendered by the GPU with a GLSL shading language.Compared with the rendering efficiency of the traditional OpenGL fixed pipeline,the new method is more efficient,for it takes only 82.92 ms to render 4-million terrain meshes.

GPU;GLSL;3D Terrain;microseismic;real-time rendering

A文章編號(hào):1674-5124(2015)08-0083-05

10.11857/j.issn.1674-5124.2015.08.020

2015-03-02;

2015-04-27

國(guó)家重大科研儀器設(shè)備研制專項(xiàng)(41227802);四川省科技支撐計(jì)劃項(xiàng)目(2014GZ0184);西南科技大學(xué)科研基金項(xiàng)目(13zx7135,15yyhk14)

李懷良(1985-),男,講師,主要從事信號(hào)檢測(cè)與數(shù)字信號(hào)處理方面的研究。

猜你喜歡
面元微震頂點(diǎn)
基于微震監(jiān)測(cè)的煤巖破壞與瓦斯涌出關(guān)系研究
過非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
過非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(上)
淺談KJ768煤礦微震監(jiān)測(cè)系統(tǒng)的應(yīng)用
長(zhǎng)平煤業(yè)5302 綜放工作面頂板巖層移動(dòng)規(guī)律研究
超電大尺寸海面電磁散射計(jì)算的混合面元法研究
基于波形特征的露天鉬礦微震事件的識(shí)別分析——以卓資山鉬礦為例
一種精確計(jì)算破片對(duì)空中目標(biāo)命中點(diǎn)參數(shù)的算法*
基于改進(jìn)Gordon方程的RCS快速算法
與黑體有關(guān)的三個(gè)術(shù)語
克拉玛依市| 清远市| 乐平市| 石棉县| 罗江县| 长丰县| 尉犁县| 海南省| 东阳市| 房产| 福安市| 威信县| 赣榆县| 芒康县| 哈巴河县| 丹巴县| 乐都县| 信阳市| 康马县| 宁蒗| 葫芦岛市| 宿迁市| 当涂县| 阿拉善左旗| 花垣县| 建宁县| 大宁县| 旅游| 梧州市| 平和县| 彭阳县| 烟台市| 旬阳县| 常州市| 东莞市| 彩票| 涟源市| 子长县| 方山县| 将乐县| 济阳县|