



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 基于OpenGL的三維地形可視化技術(shù)摘要:三維地形可視化技術(shù)一直是地理信息系統(tǒng)、數(shù)字?jǐn)z影測(cè)量、虛擬現(xiàn)實(shí)等領(lǐng)域的研究熱點(diǎn)。對(duì)OpenGL發(fā)展現(xiàn)狀、數(shù)字地面模型和構(gòu)網(wǎng)技術(shù)進(jìn)行了對(duì)比研究,重點(diǎn)討論了利用VisualC+6.0平臺(tái)和OpenGL編程技術(shù),建立虛擬地形三維可視化系統(tǒng)的實(shí)現(xiàn)過程和關(guān)鍵技術(shù)。通過實(shí)驗(yàn)數(shù)據(jù)模擬,實(shí)現(xiàn)了三維地形可視化。關(guān)鍵詞:OpenGL;三維;地形;可視化引言我國政府從國家戰(zhàn)略高度將“數(shù)字地球”列為中國21世紀(jì)的戰(zhàn)略目標(biāo)之一,并提出了“數(shù)字中國”戰(zhàn)略?!皵?shù)字地球”強(qiáng)調(diào)對(duì)地球的三維描述,在實(shí)現(xiàn)這一使命的過程中,需要有現(xiàn)代空間信息科學(xué)技術(shù)的支撐,三維地形可視化的具有重大研究意義。
2、三維地形可視化的應(yīng)用涉及地理信息系統(tǒng)、虛擬現(xiàn)實(shí)(VR)、環(huán)境仿真、數(shù)字城市、地形的穿越飛行、國土資源管理、娛樂與游戲、氣象數(shù)據(jù)、空間分析等領(lǐng)域。三維真實(shí)感地形圖能夠逼真的反應(yīng)外部真實(shí)世界,相對(duì)傳統(tǒng)的紙質(zhì)地圖和計(jì)算機(jī)生成的地圖,三維真實(shí)感地形圖具有可視化程度高、存儲(chǔ)和查詢方便、可實(shí)時(shí)生成等優(yōu)點(diǎn)。因此地形三維顯示有著廣闊的應(yīng)用背景,所以受到了廣泛的關(guān)注。OpenGL簡(jiǎn)介人們對(duì)計(jì)算機(jī)可視化技術(shù)的研究已經(jīng)歷了一個(gè)很長(zhǎng)的歷程,而且形成了許多可視化工具,其中SiliconGraphicsIncorporated(SGI公司)推出的GL三維圖形庫表現(xiàn)突出,易于使用而且功能強(qiáng)大。隨著計(jì)算機(jī)技術(shù)的繼續(xù)發(fā)展,GL
3、已經(jīng)進(jìn)一步發(fā)展成為開放圖形程序庫(opengraphicslibrary,OpenGL),并被集成到Unix、Windows2000、WindowsXP等窗口操作系統(tǒng)中。OpenGL被認(rèn)為是高性能圖形和交互式視景處理的標(biāo)準(zhǔn)。OpenGL是指開放圖形程序庫,實(shí)際上是一種圖形與硬件的接口。它集成了所有幾何建模、圖形變換、光源設(shè)置、材質(zhì)設(shè)置、紋理映射、運(yùn)動(dòng)模糊、像素操作、融合、反走樣技術(shù)、霧化等復(fù)雜的計(jì)算機(jī)圖形學(xué)算法,其中包括120個(gè)圖形函數(shù),開發(fā)者可以用這些函數(shù)來繪制點(diǎn)、線、多邊形、面,建立三維模型和進(jìn)行三維實(shí)時(shí)交互。為了利用VisualC+6.0的強(qiáng)大功能來實(shí)現(xiàn)對(duì)OpenGL三維圖像的繪制,Wi
4、ndows提供了OpenGL32.DLL和GLU32.DLL動(dòng)態(tài)鏈接庫,VisualC+6.0包含了61庫(opengl32.lib)、輔助庫(glaux.lib)和實(shí)用庫(glu32.lib),開發(fā)者可以在多種硬件平臺(tái)及操作系統(tǒng)下方便的利用這個(gè)圖形庫,使我們方便地編程,簡(jiǎn)單、快速的生成美觀、漂亮的復(fù)雜的三維彩色圖形,并且OpenGL在網(wǎng)絡(luò)上工作時(shí),顯示圖形的計(jì)算機(jī)(客戶端)可不是運(yùn)行圖形程序的計(jì)算機(jī)(服務(wù)器),客戶機(jī)與服務(wù)器可是不同類型的機(jī)器,只要兩者服從相同的協(xié)議。基于OpenGL的三維地形顯示的實(shí)現(xiàn)過程及關(guān)鍵技術(shù)地形是自然界復(fù)雜的景物,三維地形是模擬自然界環(huán)境中不可缺少的重要組成部分,因
5、此三維真實(shí)感地形的繪制一直是國內(nèi)外計(jì)算機(jī)圖形學(xué)領(lǐng)域關(guān)注的熱點(diǎn)。三維真實(shí)感地形的生成通常分為兩步:地形建模,即選擇合適的地形建模方法控制地形輪廓;地貌特征模擬,即采用有效的技術(shù)呈現(xiàn)豐富的地貌特征。目前地形建模常用方法是曲面造型方法和高度場(chǎng)方法。曲面造型方法是首先用幾何造型方法生成的曲面刻畫地形的大致形狀,然后利用紋理合成技術(shù)生成地表豐富細(xì)節(jié),高度場(chǎng)的方法是把地域視為一個(gè)高度場(chǎng),采用各種高度場(chǎng)來生成地域的三維模型。該過程可以借助AUTOCAD和3DMAX等建模工具,也可以直接利用OpenGL或VEML等專用建模語言完成建模。三維地形模擬的基本流程如圖1所示。參數(shù)設(shè)置在用OpenGL繪制三維地形模型
6、之前,還要設(shè)置一些相關(guān)的參數(shù)。這些參數(shù)包括光源參數(shù)的設(shè)置(光源性質(zhì)、光源位置)、顏色模式(索引、RGBA)等。地形模型映射地形模型映射就是把數(shù)字地形數(shù)據(jù)轉(zhuǎn)成OpenGL的基本格式,并計(jì)算相關(guān)的參數(shù)的過程。相關(guān)的參數(shù)包括頂點(diǎn)顏色和法向量等。DEM數(shù)據(jù)紋理數(shù)據(jù)參數(shù)設(shè)置地形模型映射視點(diǎn)變換模型變換投影變換視口變換三維地形圖圖1三維地形模擬的基本流程頂點(diǎn)法向量的計(jì)算:法向量(亦稱法向)是面上某一點(diǎn)處垂直于該面的向量。幾何對(duì)象的法向量定義它在空間中的方向,特別定義相對(duì)于光源的方向,因此某頂點(diǎn)的法向量決定了對(duì)象在該點(diǎn)上可接受多少光照。計(jì)算三角形面法向量。在三維環(huán)境中,每個(gè)面都具有兩個(gè)方向,因此計(jì)算三角形法
7、向量時(shí)必須按相同的順序(順時(shí)針或逆時(shí)針)從三角形中找出兩條有向邊,計(jì)算其叉積,得到的結(jié)果就是該三角形的法向量,并要對(duì)結(jié)果進(jìn)行單位化。計(jì)算頂點(diǎn)法向量。在三維環(huán)境中,每個(gè)面都具有兩個(gè)方向,因此計(jì)算三角形法向量時(shí)必須計(jì)算每個(gè)頂點(diǎn)的法向量。頂點(diǎn)顏色的設(shè)置:如果地表模型不粘貼紋理影像,則可以采用地勢(shì)圖中分層設(shè)色的原理來對(duì)三維地形模型進(jìn)行分層設(shè)色,分層設(shè)色即根據(jù)不同的高度段用不同的顏色繪制。投影變換投影變換的目的是將三維場(chǎng)景中的物體投影到二維平面上,這個(gè)二維平面就是顯示窗口。投影變換有2種:一種是透視投影,這種投影的效果與人眼觀察世界的效果相同,距離視點(diǎn)越遠(yuǎn)的物體看起來越小,距離視點(diǎn)越近的物體看起來越大,
8、符合人們的視覺習(xí)慣,透視投影的應(yīng)用比較廣泛,通常用到視景仿真和模擬真實(shí)場(chǎng)景的應(yīng)用程序中,另一種是正交投影,它的最大特點(diǎn)是無論物體距離視點(diǎn)多遠(yuǎn),投影后的尺寸不變,投影變換是使用矩陣變換來實(shí)現(xiàn)的,在進(jìn)行投影變換之前必須調(diào)用GLMATRIXMODE函數(shù)將當(dāng)前矩陣的類型設(shè)置為投影矩陣。視口變換視口是指計(jì)算機(jī)屏幕中的矩形繪圖區(qū)域,它用窗口坐標(biāo)來度量,反映了屏幕上的像素位置。視口變換就是將視景體內(nèi)投影的物體顯示在二維的視口平面上。通常,調(diào)用函數(shù)glViewport()來定義一個(gè)視口,這個(gè)過程類似于將照片放大或縮小。視口變換中視口的寬高比通常等于視景體的寬高比,否則視口內(nèi)顯示的圖形將會(huì)發(fā)生形變。紋理映射地形
9、的真實(shí)性是地形可視化的重要組成部分,隨著計(jì)算機(jī)硬件和軟件水平的不斷提高人們對(duì)地形的真實(shí)性要求也越來越高,除了利用光照模型使地形產(chǎn)生明暗起伏的效果外,為了提高地形的真實(shí)性,往往可以通過貼加紋理圖像來實(shí)現(xiàn)其過程為:定義紋理。紋理通常被認(rèn)為是二維的,但紋理也可以是一維或三維的,通過函數(shù)指定一個(gè)二維紋理,其中包含了紋理圖像的大小,紋理圖像數(shù)據(jù)的數(shù)據(jù)格式和數(shù)據(jù)類型以及存儲(chǔ)在內(nèi)存中的圖像數(shù)據(jù)指針等??刂萍y理。用來說明紋理以何種方式映射到三維模型的表面上一種方法是:將紋理顏色作為最終的顏色,另一種方法是:使用紋理來調(diào)整片元的顏色值,還有一種就是將一種常量顏色和片元混合起來。啟用紋理映射。繪制場(chǎng)景之前需要啟用
10、紋理映射。要啟用和禁用紋理映射,可以調(diào)用孫數(shù)。調(diào)用這些孫數(shù)時(shí)可以使用一維、二維、三維和立方圖紋理映射。紋理坐標(biāo)和繪制場(chǎng)景。粘貼紋理之前,必須指定紋理和片元之間的對(duì)應(yīng)關(guān)系,也就是說,在場(chǎng)景中繪制物體時(shí),必須指定紋理坐標(biāo)和幾何坐標(biāo)。動(dòng)態(tài)顯示的實(shí)現(xiàn)三維電子地圖的動(dòng)態(tài)表現(xiàn)是實(shí)現(xiàn)交互式操作的前提。三維地形顯示方式主要有兩種:第1種視點(diǎn)不動(dòng)目標(biāo)移動(dòng);第2種視點(diǎn)和目標(biāo)實(shí)時(shí)運(yùn)動(dòng)。從本質(zhì)上講,兩種顯示方式都是采用改變投影變換矩陣或模型變換矩陣的方式來實(shí)現(xiàn)的。視點(diǎn)不動(dòng)目標(biāo)移動(dòng)。視點(diǎn)不動(dòng)目標(biāo)移動(dòng)的實(shí)時(shí)顯示方式實(shí)現(xiàn)起來比較簡(jiǎn)單,可以采用兩種基本投影:平行投影和透視投影。在投影設(shè)置完畢后,就可以通過實(shí)時(shí)改變基本模型變換
11、矩陣如平移、旋轉(zhuǎn)、比例縮放等相應(yīng)的參數(shù)來改變目標(biāo)物體在對(duì)應(yīng)投影方式下的實(shí)時(shí)顯示效果。視點(diǎn)和目標(biāo)實(shí)時(shí)移動(dòng)。實(shí)時(shí)改變視點(diǎn)和目標(biāo)點(diǎn)(即改變視線)是三維地形實(shí)時(shí)顯示通常采用的方法。視點(diǎn)和目標(biāo)點(diǎn)的變化可以是沿指定的路徑移動(dòng),也可以用鼠標(biāo)、鍵盤或其它設(shè)備進(jìn)行交互引導(dǎo)或控制。此外,為了使模型看起來具有三維立體的感覺,還應(yīng)設(shè)置一定的光照。當(dāng)觀察物體的表面時(shí),人眼睛對(duì)顏色的感知數(shù)取決于進(jìn)入眼內(nèi)視錐細(xì)胞的光子的能量分布,這些光子來自于光源或發(fā)光物體。一部分被物體表面吸收,而另一部分則被物體表面反射,只有反射光和投射光能夠進(jìn)入眼睛,產(chǎn)生視覺效果,我們才能看到物體,這種反射和投射的光決定了物體呈現(xiàn)的亮度和顏色。還可以
12、根據(jù)實(shí)際情況增加融合,反走樣和霧化等一些特殊的顯示效果,使生成的場(chǎng)景看起來更有真實(shí)感。4三維真實(shí)感地形生成實(shí)例結(jié)合相關(guān)研究工作的理論和方法,利用VisualC+6.0平臺(tái)和OpenGL編程技術(shù),開發(fā)了一個(gè)實(shí)驗(yàn)程序,對(duì)以上三維地形仿真技術(shù)進(jìn)行實(shí)驗(yàn)和驗(yàn)證。本實(shí)驗(yàn)程序以三維電子地圖的數(shù)據(jù)為操作對(duì)象,可以實(shí)現(xiàn)地形三維數(shù)據(jù)的三維顯示、透視投影與正射投影的轉(zhuǎn)換、三維地形的分層設(shè)色、紋理的加載、霧化效果的設(shè)置以及相對(duì)高度差的改變等功能。具體實(shí)現(xiàn)過程為:打開對(duì)應(yīng)的三維電子地圖數(shù)據(jù),就可以看到具有明顯地形起伏的三維圖;如果根據(jù)實(shí)際情況映射對(duì)應(yīng)紋理圖像,即可獲得較為逼真的仿真結(jié)果。以來自某地區(qū)的DEM數(shù)據(jù)為例,仿
13、真效果圖如圖2所示。5結(jié)論與展望VisualC+是一個(gè)功能非常強(qiáng)大的編程工具,在VC環(huán)境下進(jìn)行OpenGL的編程,調(diào)用dll動(dòng)態(tài)鏈接庫,因此速度不會(huì)受到影響。本文通過對(duì)區(qū)域三維可視化實(shí)現(xiàn)方法的研究,闡述了其具體實(shí)現(xiàn)過程并給出了實(shí)踐實(shí)例。實(shí)例結(jié)果表明,三維地形可視化能夠交互式地從各個(gè)不同的角度更形象更直觀地展示三維地形。通過地形表面的可視化,可以了解研究區(qū)域的三維信息特征,為進(jìn)一步研究區(qū)域地形演變、泥沙沖淤提供實(shí)時(shí)幫助,具有很大的實(shí)用價(jià)值。隨著計(jì)算機(jī)及圖形處理設(shè)備性能的不斷提高,地形三維可視化技術(shù)正向著實(shí)時(shí)動(dòng)態(tài)顯示、交互式控制、具有高度真實(shí)感的場(chǎng)景畫面顯示方向發(fā)展。參考文獻(xiàn)DaveShreiner,MasonWooojacierNeider,TomDavis.OpenGL編程指南M.北京:機(jī)械工業(yè)出版社,2009.勒海亮,高井祥,康建榮.基于VC和OpenGL的地形三維可視化J.微計(jì)算機(jī)應(yīng)用,2006,27(5):577-581.歐陽溯.淺議OpenGL的三
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電池制造與高速公路電子收費(fèi)考核試卷
- 家庭影院座椅布局建議考核試卷
- 種子批發(fā)商綠色營銷與環(huán)保意識(shí)考核試卷
- 統(tǒng)編版語文六年級(jí)下冊(cè)《語文園地二》精美課件
- 什么的心聲初一語文作文
- 難忘的一節(jié)語文課初一作文范文
- 模具行業(yè)創(chuàng)新驅(qū)動(dòng)與商業(yè)模式研究考核試卷
- 牛飼養(yǎng)與飼料原料質(zhì)量控制考核試卷
- 環(huán)保通風(fēng)設(shè)備行業(yè)發(fā)展趨勢(shì)與政策環(huán)境分析考核試卷
- 電話銷售中的客戶關(guān)系深化考核試卷
- 第七講-信息技術(shù)與大數(shù)據(jù)倫理問題-副本
- 校園安全常識(shí)測(cè)試題卷
- 建筑用玻璃ccc標(biāo)準(zhǔn)
- 新版PFMEA自動(dòng)判定
- 第一課中國人民站起來了
- 眼科門診病歷
- 高考閱讀理解(main-idea)(課堂)課件
- 有限元分析研究匯報(bào)課件
- 境外貨物管控應(yīng)急預(yù)案方案
- 江蘇省醫(yī)療服務(wù)項(xiàng)目?jī)r(jià)格標(biāo)準(zhǔn)
- 公司報(bào)廢申請(qǐng)單
評(píng)論
0/150
提交評(píng)論