DEM分析與可視化-第5章.ppt_第1頁
DEM分析與可視化-第5章.ppt_第2頁
DEM分析與可視化-第5章.ppt_第3頁
DEM分析與可視化-第5章.ppt_第4頁
DEM分析與可視化-第5章.ppt_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章地形三維顯示的基本理論,江文萍jiangwenping2008武漢大學(xué)資源與環(huán)境科學(xué)學(xué)院2015.10,5-1三維圖形顯示流程,一、OpenGL介紹OpenGL(OpenGraphicsLibrary)是ATvoidgluOrtho2D(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop);,第一個(gè)函數(shù),它創(chuàng)建一個(gè)平行視景體。實(shí)際上這個(gè)函數(shù)的操作是創(chuàng)建一個(gè)正射投影矩陣,并且用這個(gè)矩陣乘以當(dāng)前矩陣。其中近剪取平面是一個(gè)矩形,矩形左下角點(diǎn)三維空間坐標(biāo)是(left,bottom,-near),右上角點(diǎn)是(right,top,-near);

2、遠(yuǎn)剪取平面也是一個(gè)矩形,左下角點(diǎn)空間坐標(biāo)是(left,bottom,-far),右上角點(diǎn)是(right,top,-far)。所有的near和far值同時(shí)為正或同時(shí)為負(fù)。如果沒有其他變換,正射投影的方向平行于Z軸,且視點(diǎn)朝向Z負(fù)軸。這意味著物體在視點(diǎn)前面時(shí)far和near都為負(fù)值,物體在視點(diǎn)后面時(shí)far和near都為正值。第二個(gè)函數(shù)是一個(gè)特殊的正射投影函數(shù),主要用于二維圖像到二維屏幕上的投影。它的near和far缺省值分別為-10和10,所有二維物體的Z坐標(biāo)都為00。因此它的剪取面是一個(gè)左下角點(diǎn)為left,bottom)、右上角點(diǎn)為(right,top)的矩形。,5-2基本變換,二、投影變換2、

3、透視投影(PerspectiveProjection)透視投影符合人們心理習(xí)慣,即離視點(diǎn)近的物體大,離視點(diǎn)遠(yuǎn)的物體小,遠(yuǎn)到極點(diǎn)即消失,成為滅點(diǎn)。它的視景體類似于一個(gè)頂部和底部都被切除掉的棱椎,也就是棱臺(tái)。這個(gè)投影通常用于動(dòng)畫、視覺仿真以及其它許多具有真實(shí)性反映的方面。,5-2基本變換,OpenGL透視投影函數(shù)也有兩個(gè),函數(shù)glFrustum()所形成的視voidglFrustum(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop,GLdoubleznear,GLdoublezfar);voidgluPerspective(GLdoubl

4、efovy,GLdoubleaspect,GLdoublezNear,GLdoublezFar);,5-2基本變換,三、剪取變換在OpngGL中,空間物體的三維剪取變換包括兩個(gè)部分:視景體剪取和附加面剪取。視景體剪取由投影變換來定義。除了視景體定義的六個(gè)剪取平面(上、下、左、右、前、月用戶還可以自己再定義一個(gè)或多個(gè)附加剪取平面,以去掉場(chǎng)景中無關(guān)的目標(biāo)。,5-2基本變換,四、視口變換運(yùn)用相機(jī)模擬方式,我們很容易理解視口變換就是類似于照片的放大與縮小。在計(jì)算機(jī)圖形學(xué)中,它的定義是將經(jīng)過幾何變換、投影變換和剪取變換后的物體顯示于屏幕窗口內(nèi)指定的區(qū)域內(nèi),這個(gè)區(qū)域通常為矩形,稱為視口。,5-2基本變換,

5、voidglViewport(GLintx,GLinty,GLsizeiwidth,GLsizeiheight);這個(gè)函數(shù)定義一個(gè)視口。函數(shù)參數(shù)(x,y)是視口在屏幕窗口坐標(biāo)系中的左下角坐標(biāo),參數(shù)width和height分別是視口的寬度和高度。缺省時(shí),參數(shù)值即(0,0,winWidth,winHeight)指的是屏幕窗口的實(shí)際尺寸大小。所有這些值都是以像素為單位,全為整型數(shù)。在實(shí)際應(yīng)用中,視口的長(zhǎng)寬比率總是等于視景體剪取面的長(zhǎng)寬比。如果兩個(gè)比率不相等,那么投影后的圖像顯示于視口內(nèi)時(shí)會(huì)發(fā)生變形。在調(diào)用這個(gè)函數(shù)時(shí),最好實(shí)時(shí)檢測(cè)窗口尺寸,及時(shí)修正視口的大小保證視口內(nèi)的圖像能隨窗口的變化而變化,且不變

6、形。,5-3基本幾何圖元的顯示,一、構(gòu)成三維復(fù)雜形體的基本圖元點(diǎn)(頂點(diǎn))用浮點(diǎn)值表示的點(diǎn)稱為頂點(diǎn)(Vertex)。所有頂點(diǎn)都是三維的,用二維坐標(biāo)(x,y)定義的點(diǎn),其z值默認(rèn)為0。為表達(dá)復(fù)雜目標(biāo)的真實(shí)感圖形,在頂點(diǎn)處計(jì)算下列屬性坐標(biāo)幾何坐標(biāo)法向坐標(biāo)顏色坐標(biāo)紋理坐標(biāo),5-3基本幾何圖元的顯示,線(Line)線代表線段(Linesegment),由一系列頂點(diǎn)順次連接而成,有閉合和不閉合兩種線的幾何屬性顏色(關(guān)閉光照),5-3基本幾何圖元的顯示,面(多邊形)(Polygon)多邊形是由一系列線段依次連接而成的封閉區(qū)域,這些線段不能交叉,區(qū)域內(nèi)不能又空洞,多邊形必須是凸多邊形,否則就不能被正確顯示。多

7、邊形可以是平面多邊形,即所有頂點(diǎn)在一個(gè)平面上,也可以是空間多邊形。顏色坐標(biāo)法向坐標(biāo),5-3基本幾何圖元的顯示,二、圖元的繪制1、定義頂點(diǎn)所有幾何物體最終都由一定順序的定點(diǎn)集來描述。,雙精度3維頂點(diǎn),用齊次坐標(biāo)定義3維頂點(diǎn),真實(shí)坐標(biāo)為(1.2,0.5,-1.1),5-3基本幾何圖元的顯示,2、構(gòu)造幾何圖元在實(shí)際應(yīng)用中,通常用一組相關(guān)的頂點(diǎn)序列以一定的組織方式組織起來定義某個(gè)幾何圖元,而不采用單獨(dú)定義多個(gè)頂點(diǎn)來構(gòu)造幾何圖元。,在OpenGL中,所有被定義的頂點(diǎn)必須放在glBegin()與glEnd()兩個(gè)函數(shù)之間才能正確表達(dá)一個(gè)幾何圖元或物體,否則glVertex*()不能完成任何操作。,5-3基

8、本幾何圖元的顯示,5-4真實(shí)感地形表面的繪制,一、真實(shí)感圖形的基本概念真實(shí)感圖形繪制是計(jì)算機(jī)圖形學(xué)的一個(gè)重要組成部分,它綜合利用數(shù)學(xué)、物理學(xué)、計(jì)算機(jī)科學(xué)和其它科學(xué)知識(shí)在計(jì)算機(jī)圖形設(shè)備上生成象彩色照片那樣的具有真實(shí)感的圖形。,5-4真實(shí)感地形表面的繪制,一般說來,用計(jì)算機(jī)在圖形設(shè)備上生成真實(shí)感圖形必須完成以下四個(gè)步驟:一是建模,即用一定的數(shù)學(xué)方法建立所需三維場(chǎng)景的幾何描述,場(chǎng)景的幾何描述直接影響圖形的復(fù)雜性和圖形繪制的計(jì)算耗費(fèi);二是將三維幾何模型經(jīng)過一定變換轉(zhuǎn)為二雛平面透視投影圖;三是確定場(chǎng)景中所有可見面,運(yùn)用隱藏面消隱算法將視域外或被遮擋住的不可見面消去;四是計(jì)算場(chǎng)景中可見面的顏色,即根據(jù)基于

9、光學(xué)物理的光照模型計(jì)算可見面投射到觀察者眼中光亮度大小和顏色分量,并將它轉(zhuǎn)換成適合圖形設(shè)備的顏色值,從而確定投影畫面上每一像素的顏色,最終生成圖形。,5-4真實(shí)感地形表面的繪制,由于真實(shí)感圖形是通過景物表面的顏色和明暗色調(diào)來表現(xiàn)景物的幾何形狀、空間位置以及表面材質(zhì)的,而一個(gè)物體表面所呈現(xiàn)的顏色是由表面向視線方向輻射的光能決定的。在計(jì)算機(jī)圖形學(xué)中,常采用一個(gè)既能表示光能大小又能表示其顏色組成的物理量即光亮度(luminance)或光強(qiáng)(intensityoflight)來描述物體表面朝某方向輻射光能的顏色。采用這個(gè)物理量可以正確描述光在物體表面的反射、透射和吸收現(xiàn)象,因而可以正確計(jì)算處理物體表面

10、在空間給定方向上的光能顏色。物體表面向空間給定方向輻射的光強(qiáng)可應(yīng)用光照模型進(jìn)行計(jì)算。,5-4真實(shí)感地形表面的繪制,簡(jiǎn)單的光照模型通常假定物體表面是光滑的且由理想材料構(gòu)成,因此只考慮光源照射在物體表面產(chǎn)生的反射光,所生成的圖形可以模擬不透明物體表面的明暗過渡,具有一定的真實(shí)感效果。復(fù)雜的光照模型除了考慮上述因素外,還要考慮周圍環(huán)境的光對(duì)物體表面的影響。如光亮平滑的物體表面會(huì)將環(huán)境中其它物體映像在表面上,而通過透明物體也可看到其后的環(huán)境景象。這類光照模型稱為整體光照模型,它能模擬出鏡面映像、透明等較精致的光照效果。為了更真實(shí)的繪制圖形,還要考慮物體表面的細(xì)節(jié)紋理,這通常使用一種稱為“紋理映射”(t

11、exturemapping)的技術(shù)把已有的平面花紋圖案映射到物體表面上,并在應(yīng)用光照模型時(shí)考慮這些花紋的顏色,物體表面細(xì)節(jié)的模擬使繪制的圖形更接近自然景物。,5-4真實(shí)感地形表面的繪制,二、基于DEM構(gòu)造地形表面任何復(fù)雜表面都可以分解為若干個(gè)由基本圖元構(gòu)成的圖形。由眾多三角網(wǎng)無限逼近而形成光滑曲面是生成復(fù)雜地形表面的一個(gè)基本途徑。1、基于正方形網(wǎng)格DEM,5-4真實(shí)感地形表面的繪制,2、基于TIN結(jié)構(gòu)的DEM,5-4真實(shí)感地形表面的繪制,三、地形表面的繪制眾多三角形(空間三角面)構(gòu)成了地形表面1、循環(huán)繪制單個(gè)三角形頂點(diǎn)重復(fù)定義、繪制,繪制效率低形成的地表有棱角,不光滑2、構(gòu)成三角網(wǎng)狀結(jié)構(gòu)大量減

12、少頂點(diǎn)的顏色、光照等的計(jì)算提高繪制效率形成真實(shí)感圖形,5-4真實(shí)感地形表面的繪制,構(gòu)成復(fù)雜表面的數(shù)據(jù)結(jié)構(gòu),5-4真實(shí)感地形表面的繪制,四、光照處理與材質(zhì)1、光照模型1)光照概述當(dāng)光照射到一個(gè)物體表面上時(shí),會(huì)出現(xiàn)三種情形。首先,光可以通過物體表面向空間反射,產(chǎn)生反射光。其次,對(duì)于透明體,光可以穿透該物體并從另一端射出,產(chǎn)生透射光。最后,部分光將被物體表面吸收而轉(zhuǎn)換成熱。在上述三部分光中,僅僅是透射光和反射光能夠進(jìn)入人眼產(chǎn)生視覺效果。一般來說,反射光可以分成三個(gè)分量,即環(huán)境反射、漫反射和鏡面反射。,5-4真實(shí)感地形表面的繪制,一般來說,反射光可以分成三個(gè)分量,即環(huán)境反射、漫反射和鏡面反射。環(huán)境反射

13、分量假定入射光均勻地從周圍環(huán)境入射至景物表面并等量地向各個(gè)方向反射出去,通常物體表面還會(huì)受到從周圍環(huán)境來的反射光(如來自地面、天空、墻壁等的反射光)的照射,這些光常統(tǒng)稱為環(huán)境光(AmbientLight);漫反射分量表示特定光源在景物表面的反射光中那些向空間各方向均勻反射出去的光,這些光常稱為漫射光(DiffuseLight);鏡面反射光為朝一定方向的反射光,如一個(gè)點(diǎn)光源照射一個(gè)金屬球時(shí)會(huì)在球面上形成一塊特別亮的區(qū)域,呈現(xiàn)所謂“高光(Highlight)”,它是光源在金屬球面上產(chǎn)生的鏡面反射光(SpecularLight)。對(duì)于較光滑物體,其鏡面反射光的高光區(qū)域小而亮;相反,粗糙表面的鏡面反射

14、光呈發(fā)散狀態(tài),其高光區(qū)域大而不亮。,5-4真實(shí)感地形表面的繪制,2)光組成在OpenGL簡(jiǎn)單光照模型中的幾種光分為:輻射光(EmittedLight)環(huán)境光(AmbientLight)漫射光(DiffuseLight)鏡面光(SpecularLight),5-4真實(shí)感地形表面的繪制,輻射光是最簡(jiǎn)單的一種光,它直接從物體發(fā)出并且不受任何光源影響。環(huán)境光是由光源發(fā)出經(jīng)環(huán)境多次散射而無法確定其方向的光,即似乎來自所有方向。一般說來,房間里的環(huán)境光成分要多些,戶外的相反要少得多,因?yàn)榇蟛糠止獍聪嗤较蛘眨以趹敉夂苌儆衅渌矬w反射的光。當(dāng)環(huán)境光照到曲面上時(shí),它在各個(gè)方向上均等地發(fā)散(類似于無影燈光)

15、。漫射光來自一個(gè)方向,它垂直于物體時(shí)比傾斜時(shí)更明亮。一旦它照射到物體上,則在各個(gè)方向上均勻地發(fā)散出去。于是,無論視點(diǎn)在哪里它都一樣亮。來自特定位置和特定方向的任何光,都可能有散射成分。鏡面光來自特定方向并沿另一方向反射出去,一個(gè)平行激光束在高質(zhì)量的鏡面上產(chǎn)生100%的鏡面反射。光亮的金屬和塑料具有很高非反射成分,而象粉筆和地毯等幾乎沒有反射成分。因此,三某種意義上講,物體的反射程度等同于其上的光強(qiáng)(或光亮度)。,5-4真實(shí)感地形表面的繪制,3)創(chuàng)建光源(LightSource)光源有許多特性,如顏色、位置、方向等。選擇不同的特性值,則對(duì)應(yīng)的光源作用在物體上的效果也不一樣。定義光源特性的函數(shù)vo

16、idglLightifv(GLenumlight,GLenumpname,TYPEparam)創(chuàng)建具有某種特性的光源。其中第一個(gè)參數(shù)light指定所創(chuàng)建的光源號(hào),如GL_LIGHT0、GL_LIGHT1、.、GL_LIGHT7。第二個(gè)參數(shù)pname指定光源特性,這個(gè)參數(shù)的輔助信息見下表所示。最后一個(gè)參數(shù)設(shè)置相應(yīng)的光源特性值。,5-4真實(shí)感地形表面的繪制,voidglLightifv(GLenumlight,GLenumpname,TYPEparam)參數(shù)pname指定光源特性,參數(shù)如下:_pname參數(shù)名缺省值說明GL_AMBIENT(0.0,0.0,0.0,1.0)RGBA模式下環(huán)境光GL_

17、DIFFUSE(1.0,1.0,1.0,1.0)RGBA模式下漫反射光GL_SPECULAR(1.0,1.0,1.0,1.0)RGBA模式下鏡面光GL_POSITION(0.0,0.0,1.0,0.0)光源位置齊次坐標(biāo)(x,y,z,w)GL_SPOT_DIRECTION(0.0,0.0,-1.0)點(diǎn)光源聚光方向矢量(x,y,z)GL_SPOT_EXPONENT0.0點(diǎn)光源聚光指數(shù)GL_SPOT_CUTOFF180.0點(diǎn)光源聚光截止角GL_CONSTANT_ATTENUATION1.0常數(shù)衰減因子GL_LINER_ATTENUATION0.0線性衰減因子GL_QUADRATIC_ATTENUAT

18、ION0.0平方衰減因子,5-4真實(shí)感地形表面的繪制,用法:GLfloatlight_position=1.0,1.0,1.0,0.0;glLightfv(GL_LIGHT0,GL_POSITION,light_position);GLfloatlight_ambient=0.0,0.0,0.0,1.0;GLfloatlight_diffuse=1.0,1.0,1.0,1.0;GLfloatlight_specular=1.0,1.0,1.0,1.0;glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);glLightfv(GL_LIGHT0,GL_DIF

19、FUSE,light_diffuse);glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);,5-4真實(shí)感地形表面的繪制,啟動(dòng)光照在OpenGL中,必須明確指出光照是否有效或無效。如果光照無效,則只是簡(jiǎn)單地將當(dāng)前顏色映射到當(dāng)前頂點(diǎn)上去,不進(jìn)行法向、光源、材質(zhì)等復(fù)雜計(jì)算,那么顯示的圖形就沒有真實(shí)感,如前幾章例程運(yùn)行結(jié)果顯示。要使光照有效,首先得啟動(dòng)光照,即:glEnable(GL_LIGHTING);若使光照無效,則調(diào)用gDisable(GL_LIGHTING)可關(guān)閉當(dāng)前光照。然后,必須使所定義的每個(gè)光源有效,例light0.c中只用了一個(gè)光源,即:g

20、lEnable(GL_LIGHT0);其它光源類似,只是光源號(hào)不同而已。,5-4真實(shí)感地形表面的繪制,2、明暗處理在計(jì)算機(jī)圖形學(xué)中,光滑的曲面表面常用多邊形予以逼近和表示,而每個(gè)小多邊形輪廓(或內(nèi)部)就用單一的顏色或許多不同的顏色來勾畫(或填充),這種處理方式就稱為明暗處理。用單一顏色處理的稱為平面明暗處理(FlatShading)。用許多不同顏色處理的稱為光滑明暗處理(SmoothShading),也稱為Gourand明暗處理(GourandShading)。設(shè)置明暗處理模式的函數(shù)為:voidglShadeModel(GLenummode)函數(shù)參數(shù)為GL_FLAT或GL_SMOOTH,分別表

21、示平面明暗處理和光滑明暗處理。應(yīng)用平面明暗處理模式時(shí),多邊形內(nèi)每個(gè)點(diǎn)的法向一致,且顏色也一致;應(yīng)用光滑明暗處理模式時(shí),多邊形所有點(diǎn)的法向是由內(nèi)插生成的,具有一定的連續(xù)性,因此每個(gè)點(diǎn)的顏色也相應(yīng)內(nèi)插,故呈現(xiàn)不同色。,5-4真實(shí)感地形表面的繪制,Gouraud明暗處理通常算法為:先用多邊形頂點(diǎn)的光強(qiáng)線性插值出當(dāng)前掃描線與多邊形邊交點(diǎn)處的光強(qiáng),然后再用交點(diǎn)的光強(qiáng)線插值處掃描線位于多邊形內(nèi)區(qū)段上每一象素處的光強(qiáng)值。圖中顯示出一條掃描線與多邊形相交,交線的端點(diǎn)是A點(diǎn)和B點(diǎn),P點(diǎn)是掃描線上位于多邊形內(nèi)的任一點(diǎn),多邊形三個(gè)頂點(diǎn)的光強(qiáng)分別為I1、I2和I3.取A點(diǎn)的光強(qiáng)Ia為I1和I2的線性插值,B點(diǎn)的光強(qiáng)I

22、b為I1和I3的線性插值,P點(diǎn)的光強(qiáng)Ip則為Ia和Ib的線性插值。采用Gouraud明暗處理不但可以使用多邊形表示的曲面光強(qiáng)連續(xù),而且計(jì)算量很小。這種算法還可以以增量的形式改進(jìn),且能用硬件直接實(shí)現(xiàn)算法,從而廣泛用于計(jì)算機(jī)實(shí)時(shí)圖形生成。,gouraud明暗處理,5-4真實(shí)感地形表面的繪制,3、材質(zhì)1)材質(zhì)顏色OpenGL用材料對(duì)光的紅、綠、藍(lán)三原色的反射率來近似定義材料的顏色。與光源類似,材料顏色也分成環(huán)境、漫反射和鏡面反射成分,它們決定了材料對(duì)環(huán)境光、漫反射光和鏡面反射光的反射程度。在進(jìn)行光照計(jì)算時(shí),材料對(duì)環(huán)境光的反射率與每個(gè)進(jìn)入光源的環(huán)境光結(jié)合。對(duì)漫反射光的反射率與每個(gè)進(jìn)入光源的漫反射光結(jié)合

23、。對(duì)鏡面光的反射率與每個(gè)進(jìn)入光源的鏡面反射光結(jié)合。對(duì)環(huán)境光與漫反射光的反射程度決定了材料的顏色,并且它們很相似。對(duì)鏡面反射光的反射率通常是白色或灰色(即對(duì)鏡面反射光中紅、綠、藍(lán)的反射率相同)。鏡面反射高光最亮的地方將變成具有光源鏡面光強(qiáng)度的顏色。例如一個(gè)光亮的紅色塑料球,球的大部分表現(xiàn)為紅色,光亮的高光將是白色的。,5-4真實(shí)感地形表面的繪制,2)材質(zhì)定義材質(zhì)的定義與光源的定義類似。其函數(shù)為:voidglMaterialifv(GLenumface,GLenumpname,TYPEparam);定義光照計(jì)算中用到的當(dāng)前材質(zhì)。face可以是GL_FRONT、GL_BACK、GL_FRONT_AN

24、D_BACK,它表明當(dāng)前材質(zhì)應(yīng)該應(yīng)用到物體的哪一個(gè)面上;pname說明一個(gè)特定的材質(zhì);param是材質(zhì)的具體數(shù)值,若函數(shù)為向量形式,則param是一組值的指針,反之為參數(shù)值本身。非向量形式僅用于設(shè)置GL_SHINESS。,5-4真實(shí)感地形表面的繪制,函數(shù)glMaterial*()參數(shù)pname的缺省值_參數(shù)名缺省值說明_GL_AMBIENT(0.2,0.2,0.2,1.0)材料的環(huán)境光顏色GL_DIFFUSE(0.8,0.8,0.8,1.0)材料的漫反射光顏色GL_AMBIENT_AND_DIFFUSE材料的環(huán)境光和漫反射光顏色GL_SPECULAR(0.0,0.0,0.0,1.0)材料的鏡面

25、反射光顏色GL_SHINESS0.0鏡面指數(shù)(光亮度)GL_EMISSION(0.0,0.0,0.0,1.0)材料的輻射光顏色GL_COLOR_INDEXES(0,1,1)材料的環(huán)境光、漫反射光和鏡面光顏色_參數(shù)GL_AMBIENT_AND_DIFFUSE表示可以用相同的RGB值設(shè)置環(huán)境光顏色和漫反射光顏色。,5-4真實(shí)感地形表面的繪制,光源與材質(zhì)例子GLfloatmat_ambient=0.8,0.8,0.8,1.0;GLfloatmat_diffuse=0.8,0.0,0.8,1.0;/*紫色*/GLfloatmat_specular=1.0,0.0,1.0,1.0;GLfloatmat_

26、shininess=50.0;GLfloatlight_diffuse=0.0,0.0,1.0,1.0;/*藍(lán)色*/GLfloatlight_position=1.0,1.0,1.0,0.0;glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);glLightfv(GL_L

27、IGHT0,GL_DIFFUSE,light_diffuse);glLightfv(GL_LIGHT0,GL_POSITION,light_position);glEnable(GL_LIGHTING);glEnable(GL_LIGHT0);glDepthFunc(GL_LESS);glEnable(GL_DEPTH_TEST);,5-4真實(shí)感地形表面的繪制,3)材質(zhì)RGB值和光源RGB值的關(guān)系材質(zhì)的顏色與光源的顏色有些不同。對(duì)于光源,R、G、B值等于R、G、B對(duì)其最大強(qiáng)度的百分比。若光源顏色的R、G、B值都是1.0,則是最強(qiáng)的白光;若值變?yōu)?.5,顏色仍為白色,但強(qiáng)度為原來的一半,于是表現(xiàn)

28、為灰色;若RG1.0,B0.0,則光源為黃色。對(duì)于材質(zhì),R、G、B值為材質(zhì)對(duì)光的R、G、B成分的反射率。比如,一種材質(zhì)的R1.0,G0.5,B0.0,則材質(zhì)反射全部的紅色成分,一半的綠色成分,不反射藍(lán)色成分。也就是說,若OpenGL的光源顏色為(LR,LG,LB),材質(zhì)顏色為(MR,MG,MB),那么,在忽略所有其他反射效果的情況下,最終到達(dá)眼睛的光的顏色為(LR*MR,LG*MG,LB*MB)。同樣,如果有兩束光,相應(yīng)的值分別為(R1,G1,B1)和(R2,G2,B2),則OpenGL將各個(gè)顏色成分相加,得到(R1+R2,G1+G2,B1+B2),若任一成分的和值大于1(超出了設(shè)備所能顯示的

29、亮度)則約簡(jiǎn)到1.0。,多種光和材質(zhì)的變化效果,5-4真實(shí)感地形表面的繪制,4、法向計(jì)算1)概念法向,又稱法向量(MormalVector)法向量,是面上某一點(diǎn)處垂直于該面的向量。幾何對(duì)象的法向量定義它在空間中的方向,特別定義相對(duì)于光源的方向,因此某頂點(diǎn)的法向量決定了對(duì)象在該點(diǎn)上可接受多少光照。對(duì)于一個(gè)平面,其上各點(diǎn)的法向的一樣,統(tǒng)一為這個(gè)平面的法向,所以稱為平面法向。對(duì)于一個(gè)曲面,雖然它在計(jì)算機(jī)圖形中是由許多片小的平面多邊形逼近,但是每個(gè)頂點(diǎn)的法向都不一樣,因此曲面上每個(gè)點(diǎn)的法向計(jì)算就可以根據(jù)不同的應(yīng)用有不同的算法,則最后效果也不相同。,5-4真實(shí)感地形表面的繪制,OpenGL有很大的靈活性

30、,它只提供賦予當(dāng)前頂點(diǎn)法向的函數(shù),并不在內(nèi)部具體計(jì)算其法向量,這個(gè)值由自己根據(jù)需要計(jì)算。正確設(shè)定點(diǎn)或面的法向是獲得正確光照的前提條件。,5-4真實(shí)感地形表面的繪制,2)法向計(jì)算方法在一個(gè)平面內(nèi),有兩條相交的線段,假設(shè)其中一條為矢量W,另一條為矢量V,且平面法向?yàn)镹,如圖所示,則平面法向就等于兩個(gè)矢量的叉積(遵循右手定則),即NWxV。,平面法向計(jì)算,5-4真實(shí)感地形表面的繪制,三角形平面的法向計(jì)算計(jì)算一個(gè)三角形平面的法向,就可以用它的三個(gè)頂點(diǎn)來計(jì)算。(對(duì)于規(guī)則幾何體)設(shè)三個(gè)頂點(diǎn)分別為P0,P1,P2,相應(yīng)兩個(gè)向量為W、V,三角平面法向的計(jì)算方式:voidgetNormal(GLfloatgx3

31、,GLfloatgy3,GLfloatgz3,GLfloat*ddnv)GLfloatw0,w1,w2,v0,v1,v2,nr,nx,ny,nz;w0=gx0-gx1;w1=gy0-gy1;w2=gz0-gz1;v0=gx2-gx1;v1=gy2-gy1;v2=gz2-gz1;nx=(w1*v2-w2*v1);ny=(w2*v0-w0*v2);nz=(w0*v1-w1*v0);nr=sqrt(nx*nx+ny*ny+nz*nz);ddnv0=nx/nr;ddnv1=ny/nr;ddnv2=nz/nr;,三角形平面法向計(jì)算,5-4真實(shí)感地形表面的繪制,曲面各頂點(diǎn)的法向計(jì)算對(duì)于曲面,必須計(jì)算構(gòu)成曲

32、面的各頂點(diǎn)處的法向。對(duì)于正方形格網(wǎng)DEM和由不規(guī)則三角網(wǎng)構(gòu)成的DEM,必須依次計(jì)算各個(gè)格網(wǎng)頂點(diǎn)的法向量。計(jì)算每個(gè)頂點(diǎn)的法向量有多種方法:可以簡(jiǎn)單地將周圍三角形的法向直接相加得到可以由其周圍三角形的法向加權(quán)平均得到,并對(duì)結(jié)果向量進(jìn)行單位化。權(quán)值的取法有多種,該權(quán)值代表當(dāng)前三角形所在的面對(duì)頂點(diǎn)法向量的貢獻(xiàn)大小。可以是每個(gè)三角形的面積可以是每個(gè)三角形在該點(diǎn)處的夾角,5-4真實(shí)感地形表面的繪制,頂點(diǎn)P0的法向可以由其周圍的三角形(實(shí)際上是三角面)P0P1P4,P0P4P6,P0P6P7,P0P7P8,P0P8P5,P0P5P3,P0P3P2,P0P2P1和P0P2P4,P0P4P7,P0P7P5,P0

33、P5P2的法向加權(quán)平均得到。,三角形法向的計(jì)算頂點(diǎn)法向的計(jì)算規(guī)則三角網(wǎng)的構(gòu)造,5-4真實(shí)感地形表面的繪制,5、地表材質(zhì)設(shè)定地表材質(zhì)通過設(shè)定頂點(diǎn)的顏色來實(shí)現(xiàn)粘貼影像單一顏色分層設(shè)色如果地表模型不粘貼航空影像,則可以采用地勢(shì)圖中分層設(shè)色的原理來對(duì)三維地形模型進(jìn)行分層設(shè)色,主要是通過對(duì)各頂點(diǎn)分別設(shè)色來實(shí)現(xiàn)的。頂點(diǎn)的顏色可以根據(jù)其高程值從高程的分層設(shè)色表中獲得,該分層設(shè)色表中所存儲(chǔ)的是各高程帶所對(duì)應(yīng)的顏色。在繪制某頂點(diǎn)前將設(shè)定該頂點(diǎn)顏色設(shè)為該點(diǎn)的材質(zhì)的漫反射顏色,5-5三維地形的紋理疊加技術(shù),一、概念紋理映射(TextureMapping)技術(shù)是三維圖形的一項(xiàng)主要技術(shù),也是創(chuàng)建真實(shí)感圖形的一個(gè)重要手段

34、。它通過將指定的一張圖片,使用有關(guān)技術(shù)粘貼到物體模型的表面,使物體看上去更真實(shí),更自然。比如繪制一面磚墻,就可以用一幅真實(shí)的磚墻圖像或照片作為紋理貼到一個(gè)矩形上,這樣,一面逼真的磚墻就畫好了。如果不用紋理映射的方法,則墻上的每一塊磚都必須作為一個(gè)獨(dú)立的多邊形來畫。另外,紋理映射能夠保證在變換多邊形時(shí),多邊形上的紋理圖案也隨之變化。例如,以透視投影方式觀察墻面時(shí),離視點(diǎn)遠(yuǎn)的磚塊的尺寸就會(huì)縮小,而離視點(diǎn)較近的就會(huì)大些。此外,紋理映射也常常運(yùn)用在其他一些領(lǐng)域如飛行仿真中常把一大片植被的圖像映射到一些大多邊形上用以表示地面,或用大理石、木材、布匹等自然物質(zhì)的圖像作為紋理映射到多邊形上表示相應(yīng)的物體。,

35、5-5三維地形的紋理疊加技術(shù),紋理映射有許多種情況。例如,任意一塊紋理可以映射到平面或曲面上,且對(duì)光亮的物體進(jìn)行紋理映射,其表面可以映射出周圍環(huán)境的景象;紋理還可按不同的方式映射到曲面上一是可以直接畫上去(或稱移畫印花法)二是可以調(diào)整曲面顏色或把紋理顏色與曲面顏色混合;紋理不僅可以是二維的,也可以是一維或其它維的。紋理技術(shù)是一項(xiàng)相當(dāng)復(fù)雜的技術(shù),在地圖模型中主要用于為地表粘貼紋理、為居民地建筑物以及水面粘貼紋理,以使其在虛擬環(huán)境中更加真實(shí)。同時(shí)也可用于部分居民地建筑物,以體現(xiàn)居民地的分類分級(jí)。,5-5三維地形的紋理疊加技術(shù),二、地表紋理的粘貼利用光照、深度測(cè)試等有關(guān)三維圖形顯示技術(shù)可以將地形模型

36、生動(dòng)地顯示出來,模型表面的材質(zhì)可以用單色,如綠色,也可以采用分層設(shè)色。若具備該地區(qū)的影像(航片、衛(wèi)片等),也可以對(duì)地表粘貼紋理。紋理繪制到表面上有三種方式:其一、將紋理以貼墻紙的方式直接畫在表面上;其二、使用紋理去調(diào)節(jié)、衡量表面原有的色彩;其三、將紋理色彩與表面色彩進(jìn)行混合。其中第二種方式對(duì)于結(jié)合光照效果和紋理非常有用,進(jìn)行地表紋理粘貼也是用的這種方式。要求影像的覆蓋范圍與DEM所覆蓋的范圍完全一致(因此其長(zhǎng)寬之比也是一致的),否則會(huì)導(dǎo)致影像與地形不匹配。,5-5三維地形的紋理疊加技術(shù),紋理坐標(biāo)計(jì)算在繪制紋理映射場(chǎng)景時(shí),不僅要給每個(gè)頂點(diǎn)定義幾何坐標(biāo),而且也要定義紋理坐標(biāo)。經(jīng)過多種變換后,幾何坐

37、標(biāo)決定頂點(diǎn)在屏幕上繪制的位置,而紋理坐標(biāo)決定紋理圖像中的哪一個(gè)紋素賦予該頂點(diǎn)。并且頂點(diǎn)之間的紋理坐標(biāo)插值與基礎(chǔ)篇中所講的平滑著色插值方法相同。影像與地形疊加的關(guān)鍵在于影像坐標(biāo)即紋理坐標(biāo)的正確獲取,主要根據(jù)DEM網(wǎng)格點(diǎn)在整個(gè)DEM中的位置來得到該點(diǎn)在整個(gè)影像中的相應(yīng)位置,即可得到該點(diǎn)的紋理坐標(biāo)。,5-5三維地形的紋理疊加技術(shù),對(duì)于一個(gè)二維紋理圖,紋理坐標(biāo)在x,y兩個(gè)方向上的取值范圍在0.0到1.0之間,長(zhǎng)邊為01.0,短邊的長(zhǎng)度為與長(zhǎng)邊之比設(shè)待粘貼紋理的表面為多邊形abcdefgh,各頂點(diǎn)的幾何坐標(biāo)已知。假設(shè)EFGH為一塊紋理圖像,為了求得紋理坐標(biāo),必須知道紋理圖像EFGH的4個(gè)角點(diǎn)坐標(biāo)。在此基

38、礎(chǔ)上計(jì)算多邊形abcdefgh各點(diǎn)紋理坐標(biāo),5-5三維地形的紋理疊加技術(shù),多邊形頂點(diǎn)紋理坐標(biāo)計(jì)算方法如下:設(shè)多邊形為abcdefgh,各頂點(diǎn)坐標(biāo)已知。紋理ABCD,計(jì)算得到最長(zhǎng)邊,設(shè)CD為長(zhǎng)邊,AC為短邊,則紋理坐標(biāo)在x,y兩個(gè)方向上的取值范圍在0.0到1.0之間x方向(長(zhǎng)邊CD):D點(diǎn)為1.0Y方向(短邊AC):A點(diǎn)y為L(zhǎng)ac/LcdP點(diǎn)的紋理坐標(biāo)(tx,ty)為L(zhǎng)=max(Lac,Lcd)Tx=(Px-Cx)/LTy=(Py-Cy)/L將所有DEM網(wǎng)格點(diǎn)的紋理坐標(biāo)都計(jì)算出來以后,就可以將影像與地形進(jìn)行疊加了。,A,B,C,D,P,5-5三維地形的紋理疊加技術(shù),粘貼紋理時(shí)將紋理多邊形的頂點(diǎn)與

39、表面多邊形的頂點(diǎn)一一對(duì)應(yīng),則可以得到比較理想的紋理效果。當(dāng)然,前提是要求紋理圖像足夠大,并且設(shè)置好有關(guān)放大濾波、縮小濾波的參量。,5-6三維地形的效果處理,三維環(huán)境中常用的三個(gè)特殊效果處理:融合、反走樣和霧。如果能很好地運(yùn)用這些特殊效果,可以用它們構(gòu)造出千變?nèi)f化的圖形世界來。例如,透明的玻璃窗,半透明的紫色水晶,光滑的地板,五彩的肥皂泡,霧化的場(chǎng)景等等。,5-6三維地形的效果處理,一、Alpha值與融合(Blending)Alpha值在光照、材質(zhì)等的章節(jié)中已經(jīng)提到過,但是一般情況下將它設(shè)置為1.0,但改變?cè)撝祵?huì)產(chǎn)生新的效果。融合,它是透明技術(shù)、數(shù)字合成和計(jì)算機(jī)繪畫技術(shù)的核心。固名思義,融合就

40、是指兩種顏色各分量依據(jù)一定的比例混在一起合二為一。而這種比例就來源于Alpha值,即RGBA中的A或(r,g,b,a)中的a值,通常稱a為不透明性,稱(1-a)為透明性。,5-6三維地形的效果處理,為了更好地理解這些概念,舉出一個(gè)例子來簡(jiǎn)要說明。例如,坐在汽車內(nèi)透過車窗的茶色玻璃看車外的綠樹,這些樹木的顏色并不是它們本來的綠色,而是透明的茶色與不透明的綠色的混合顏色。也就是說,最終的顏色來源于兩部分,一部分來自于玻璃的茶色,另一部分來自于樹木的綠色。兩部分所占的百分比依據(jù)玻璃的透射變化,若玻璃透射率為80%(即一束光照在其上有80%的透射過去),其不透明度為20%,即這里的a值就等于0.2,這

41、樣進(jìn)入眼中的樹木顏色是20%的玻璃顏色與80%的樹木本身顏色的合成。,5-6三維地形的效果處理,二、反走樣反走樣(Antialiasing),又叫反混淆,是計(jì)算機(jī)圖形學(xué)中的一個(gè)重要概念。由于計(jì)算機(jī)生成的圖形是由離散點(diǎn)組成的數(shù)字化圖像,因而生成的圖形必然與真實(shí)景物之間存在一定誤差。這種誤差表現(xiàn)為圖形上的直線或光滑的曲線呈現(xiàn)鋸齒狀、彩色花紋失去原有的形態(tài)和色彩、細(xì)小物體在畫面上得不到反映等等。這種鋸齒就叫做走樣。,左邊為走樣線,右邊為反走樣線,5-6三維地形的效果處理,左邊為反走樣線,右邊為反走樣多邊形,5-6三維地形的效果處理,三、霧化技術(shù)霧化效果在當(dāng)今的計(jì)算機(jī)圖形學(xué)中應(yīng)用極廣,它不僅可以使場(chǎng)景

42、中的物體看起來更加真實(shí),而且還可提高繪制速度。在很多情況下,計(jì)算機(jī)圖像有時(shí)會(huì)出現(xiàn)不符合實(shí)際的精細(xì)和棱角分明,反走樣技術(shù)可以通過光順著物體的邊界反走樣,使其看起來更真實(shí),而霧化處理可以使物體看起來更加自然,即在霧中,離視點(diǎn)遠(yuǎn)的物體會(huì)變得模糊。霧,是一個(gè)描述類似于大氣效果的一般術(shù)語,在視景仿真中應(yīng)用很廣。它可以模擬煙霧(haze)、薄霧(mist)、濃煙(smoke)和污染(pollution)等效果。當(dāng)啟動(dòng)霧后,離視點(diǎn)較遠(yuǎn)的物體開始淡化成霧的顏色,同時(shí),霧的濃度可以控制,即隨著距離的增加物體變淡的速率可控,霧的顏色也可以任意設(shè)定。,5-6三維地形的效果處理,采用OpenGL的霧化功能,5-6三維

43、地形的效果處理,通過采用圖像與背景融合,形成霧化效果,圖像:各像素,rgb三維場(chǎng)景的背景:各像素,深度,5-7地形的三維動(dòng)態(tài)顯示技術(shù),一、地形三維動(dòng)態(tài)顯示與虛擬現(xiàn)實(shí)虛擬現(xiàn)實(shí)技術(shù)具有兩個(gè)基本特性,即交互和身臨其境。就虛擬現(xiàn)實(shí)的虛擬地形環(huán)境而言,其虛擬效果是否逼真,取決于人的感官對(duì)此環(huán)境的主觀感覺,而人的信息感知約有80%是通過眼睛獲取的,所以,視覺感知的質(zhì)量在用戶對(duì)環(huán)境的主管感知中占有最重要的地位。換句話說,一個(gè)虛擬地形環(huán)境的好壞取決于其視景系統(tǒng)的好壞。因而,三維地形的實(shí)時(shí)動(dòng)態(tài)顯示做為三維視景仿真和虛擬現(xiàn)實(shí)的基礎(chǔ)和重要組成部分是產(chǎn)生”現(xiàn)實(shí)”感覺的首要條件,舍此便無“現(xiàn)實(shí)”而言。因?yàn)樘摂M地形環(huán)境面臨的是巨量的地形數(shù)據(jù)和地面特征數(shù)據(jù),利用這些地理空間數(shù)據(jù)建立一個(gè)逼真、實(shí)時(shí)、可交互的地形環(huán)境并實(shí)現(xiàn)具體應(yīng)用是一個(gè)復(fù)雜的工作,所以三維地形的實(shí)時(shí)動(dòng)態(tài)顯示成了虛擬現(xiàn)實(shí)的一項(xiàng)關(guān)鍵技術(shù)。,三維地形的實(shí)時(shí)動(dòng)態(tài)顯示是建立虛擬地形環(huán)境的關(guān)鍵對(duì)于動(dòng)態(tài)圖形效果而言,每幀圖形的生成時(shí)間局限于3050毫秒;而對(duì)于交互延遲,除包括交互輸入及處理時(shí)間外,圖形生成速度

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論