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

?

基于OpenGL的野外地震勘探區(qū)場(chǎng)區(qū)建模及漫游實(shí)現(xiàn)

2012-11-18 02:57:10云美厚
中國(guó)科技信息 2012年21期
關(guān)鍵詞:漫游勘探建模

聶 巖 云美厚

河南理工大學(xué)資源環(huán)境學(xué)院,河南 焦作 454000

基于OpenGL的野外地震勘探區(qū)場(chǎng)區(qū)建模及漫游實(shí)現(xiàn)

聶 巖 云美厚

河南理工大學(xué)資源環(huán)境學(xué)院,河南 焦作 454000

結(jié)合野外地震勘探虛擬仿真系統(tǒng)開發(fā)實(shí)例,分析了利用碎片整合思想實(shí)現(xiàn)地震勘探區(qū)三維場(chǎng)景的建模問(wèn)題,并深入討論了模擬行走和仿真飛行兩種不同漫游模式下的算法思想及功能實(shí)現(xiàn)。經(jīng)測(cè)試,系統(tǒng)仿真效果好,交互性能高,為后期地震勘探作業(yè)流程的仿真開發(fā)工作起到了很好的鋪墊。

地震勘探;OpenGL;天氣仿真;虛擬漫游

引言

地震勘探技術(shù)由于高分辨率、高精度和高控制性[1]的優(yōu)點(diǎn)而被廣泛地應(yīng)用于地下礦藏構(gòu)造形態(tài)及儲(chǔ)量特征的勘察工作中,全社會(huì)對(duì)地震勘探的投入及人才方面的培養(yǎng)也日益加大,然而,地震勘探設(shè)備由于價(jià)格昂貴、體積龐大,加之實(shí)驗(yàn)場(chǎng)地位于野外,為此,在專業(yè)人才培養(yǎng)方面,國(guó)內(nèi)很多企業(yè)和高校都遇到了經(jīng)費(fèi)不足、場(chǎng)地難找、安全風(fēng)險(xiǎn)高等一系列問(wèn)題。因此,開發(fā)一個(gè)能夠模擬野外地震勘探的專業(yè)培訓(xùn)系統(tǒng)是一個(gè)亟待解決的任務(wù)。OpenGL是美國(guó)SGI公司開發(fā)的一款三維圖形編程接口,目前已經(jīng)成為國(guó)際上通用的開源式三維圖形標(biāo)準(zhǔn)[2],它可以在多種操作系統(tǒng)平臺(tái)中運(yùn)行,用戶可通過(guò)OpenGL封裝的各種接口函數(shù)實(shí)現(xiàn)三維圖形的創(chuàng)建、光照、紋理貼圖、剛體運(yùn)動(dòng)模擬等功能,從而開發(fā)出順應(yīng)用戶不同需求的交互式仿真程序。本文即結(jié)合系統(tǒng)開發(fā)實(shí)例,探討在VC++6.0的MFC編程環(huán)境下利用OpenGL實(shí)現(xiàn)野外地震勘探區(qū)場(chǎng)區(qū)的構(gòu)建及場(chǎng)區(qū)漫游功能的仿真技術(shù)。

1 地震勘探區(qū)三維場(chǎng)景建模

開發(fā)野外地震勘探仿真系統(tǒng)的一個(gè)首要工作就是勘探區(qū)場(chǎng)地模型的構(gòu)建,在勘探區(qū)場(chǎng)地的構(gòu)建環(huán)節(jié),為了實(shí)現(xiàn)不同勘探地形環(huán)境下的地震勘探工作的仿真,本系統(tǒng)采用了平原和起伏丘陵兩種不同的地形模式供用戶選擇。在地形算法的實(shí)現(xiàn)方面,本著系統(tǒng)代碼低冗余度和高使用率的原則,系采用碎片整合算法[3]思想來(lái)同時(shí)實(shí)現(xiàn)兩種不同的地形模式,即采用以50*50為一個(gè)地形單位的地形集合算法,首先建立存儲(chǔ)頂點(diǎn)坐標(biāo)的結(jié)構(gòu)體函數(shù)TP,分別創(chuàng)建用來(lái)表示結(jié)構(gòu)體函數(shù)的二維數(shù)組L_view[N][M](N=M=(LAND/50)+1)和指向二維數(shù)組的結(jié)構(gòu)體類型指針*tp,然后采用遍歷算法記錄每一次遍歷到的三個(gè)點(diǎn)(L_view[N][M]、L_view[N][M+1]、L_view[N+1][M+1]),再利用glbegin(GL_TRIANGLE_STRIP)命令將這三個(gè)點(diǎn)連成一個(gè)三角形,并依照此算法以此遍歷完所有的點(diǎn)(供N*N個(gè)點(diǎn))為止,這時(shí),整個(gè)勘探區(qū)就形成了由(N-1)*(M-1)*2個(gè)三角形碎片組成的地形模型。最后采用循環(huán)分割算法,依次將地形平均分割成四份,得到并存儲(chǔ)連接四份均等子地形的結(jié)點(diǎn),依照此方法繼續(xù)分割前一次分割后得到的子地形,得到并存儲(chǔ)這次分割后連接各個(gè)更小的四份均等子地形的結(jié)點(diǎn),依次循環(huán),直到不能再分割為止,這樣,通過(guò)調(diào)整存儲(chǔ)的結(jié)點(diǎn)y軸坐標(biāo),來(lái)實(shí)現(xiàn)平原和起伏丘陵的地形地貌特征。如圖1:

圖1 碎片分割算法

關(guān)鍵代碼如下:

圖2 分割算法結(jié)果(平面)

圖3 丘陵地形

2 漫游功能

漫游技術(shù)是虛擬仿真技術(shù)領(lǐng)域的一個(gè)重要組成部分,也是仿真技術(shù)中交互性和浸沒(méi)性特征的重要體現(xiàn)[4],它實(shí)現(xiàn)了對(duì)三維場(chǎng)景的數(shù)字化和虛擬化效果,通過(guò)與人機(jī)交互技術(shù)相結(jié)合,用戶能夠自由的觀察和體驗(yàn)虛擬環(huán)境[5],產(chǎn)生浸沒(méi)感,從而達(dá)到用戶與系統(tǒng)的完美統(tǒng)一。考慮到客戶的不同需求和虛擬仿真系統(tǒng)的交互性特征,系統(tǒng)開發(fā)出了行走模式和飛行器模式兩種漫游功能供用戶體驗(yàn)。

2.1 行走模式

圖4 函數(shù)translatef(0.0f,6.0f,0.0f)的理論解析

OpenGL的漫游功能離不開CPU和顯卡的實(shí)時(shí)計(jì)算與渲染,當(dāng)用戶按下鼠標(biāo)或者某個(gè)鍵時(shí),會(huì)向系統(tǒng)發(fā)送一消息,系統(tǒng)接收到消息后,會(huì)執(zhí)行相應(yīng)的事件響應(yīng),為了實(shí)現(xiàn)漫游功能,系統(tǒng)需要在用戶發(fā)送消息后一直執(zhí)行某個(gè)操作(比如向前行走),并等待用戶發(fā)送停止前進(jìn)或者其他動(dòng)作的消息,而在這個(gè)過(guò)程中,系統(tǒng)需要將處理這一事件的程序段放入后臺(tái)運(yùn)行,一直到接受到下一消息時(shí)停止這個(gè)后臺(tái)循環(huán)。基于這一點(diǎn),VC++平臺(tái)提供了一個(gè)Onidle()函數(shù)執(zhí)行后臺(tái)空閑消息循環(huán)的命令,用于處理缺省時(shí)的空閑消息循環(huán),即用戶的后臺(tái)空閑處理命令。同時(shí),在系統(tǒng)實(shí)時(shí)漫游的過(guò)程中,為了實(shí)現(xiàn)“行走”的效果,采用了OpenGL提供的translatef(x,y,z)接口函數(shù),此函數(shù)相當(dāng)于將當(dāng)前的模型視圖矩陣乘以位移矩陣后得到的新的矩陣,如圖4所示。

綜合以上的理論分析,只需令系統(tǒng)在空閑消息循環(huán)中執(zhí)行矩陣位移函數(shù)translatef()即可實(shí)現(xiàn)行走的漫游功能。關(guān)鍵代碼如下所示:

2.2 飛行器模式

此模式是綜合分析了飛機(jī)駕駛員在地平線上飛行的仿真原理基礎(chǔ)上開發(fā)的,飛行員在操作飛機(jī)操縱桿時(shí),飛機(jī)會(huì)出現(xiàn)航道左右偏移的情況,而在飛行員開來(lái),地平線會(huì)隨著飛機(jī)航道的偏移而出現(xiàn)“傾斜”的情況,在仿真系統(tǒng)中,當(dāng)操作員偏移手柄或者鼠標(biāo)時(shí),系統(tǒng)可根據(jù)手柄或鼠標(biāo)的偏移距離按照比例計(jì)算出OpenGL模型視圖矩陣的偏移角,并結(jié)合2.1所述的空閑消息循環(huán)原理,對(duì)當(dāng)前偏移矩陣進(jìn)行實(shí)時(shí)計(jì)算和渲染。與位移矩陣函數(shù)一樣,OpenGL也提供了rotatef()接口函數(shù)對(duì)當(dāng)前矩陣進(jìn)行偏移處理。其原理如圖5所示:

圖5 函數(shù)rotatef(θ,0.0f,0.0f,1.0f)的理論解析

飛行器模式關(guān)鍵代碼如下:

仿真效果如圖6所示:

圖6 飛行器仿真漫游效果圖

3 結(jié)語(yǔ)

本文結(jié)合地震勘探仿真系統(tǒng)開發(fā)實(shí)例,在分析了探區(qū)地形建模算法的基礎(chǔ)上,深入討論了勘探區(qū)不同漫游模式下的仿真算法理論,并結(jié)合實(shí)際編程實(shí)現(xiàn)了各種模式下的功能。經(jīng)測(cè)試,系統(tǒng)真實(shí)感強(qiáng)、交互性能好,達(dá)到了預(yù)期的效果。在接下來(lái)的仿真開發(fā)工作中,計(jì)劃采用OpenGL建模和讀取3Dsmax模型文件兩種方法加載地震勘探設(shè)備三維模型,并結(jié)合已實(shí)現(xiàn)的開發(fā)模式,完成后期針對(duì)三維模型的仿真渲染和實(shí)時(shí)交互控制兩大功能,從而實(shí)現(xiàn)對(duì)勘探區(qū)域整個(gè)地震作業(yè)流程的開發(fā)。

[1]曹思華.三維地震勘探技術(shù)在礦井地質(zhì)中的應(yīng)用[J].煤炭工程,2005,10.41-43

[2]陳素麗,任福深.基于OpenGL的弧焊機(jī)器人仿真設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2011,3(12).543-550

[3]簡(jiǎn)斌,田竹友.基于MFC編寫的OpenGL程序?qū)崿F(xiàn)公式曲線預(yù)顯[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),2001,3(16).41-47

[4]Richard S.Wright,Michael Sweet,OpenGL 超級(jí)寶典[M].人民郵電出版社.2006:337-341

[5]徐敬.虛擬漫游開發(fā)技術(shù)[J].軟件導(dǎo)刊,2007,9:106~108

TP391.9

A

10.3969/j.issn.1001-8972.2012.21.035

猜你喜歡
漫游勘探建模
油氣勘探開發(fā)三年滾動(dòng)計(jì)劃編制的思考
化工管理(2022年14期)2022-12-02 11:43:00
聯(lián)想等效,拓展建模——以“帶電小球在等效場(chǎng)中做圓周運(yùn)動(dòng)”為例
勘探石油
基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
電子制作(2018年17期)2018-09-28 01:56:44
不對(duì)稱半橋變換器的建模與仿真
霹靂漫游堂
NASA漫游記
春曉油氣田勘探開發(fā)的歷史
能源(2016年1期)2016-12-01 05:10:19
煤層氣勘探開發(fā)行動(dòng)計(jì)劃發(fā)布
三元組輻射場(chǎng)的建模與仿真
宽甸| 泾阳县| 报价| 芒康县| 彭州市| 汤阴县| 建德市| 财经| 上思县| 乌苏市| 新乡市| 涿鹿县| 丽水市| 南漳县| 龙门县| 海丰县| 田阳县| 田林县| 壤塘县| 边坝县| 开远市| 襄城县| 大安市| 竹溪县| 赤壁市| 九江市| 军事| 虞城县| 嘉定区| 高雄县| 正阳县| 隆尧县| 武夷山市| 图片| 桐城市| 从江县| 泰安市| 冕宁县| 乐昌市| 万源市| 屏东市|