計(jì)算機(jī)圖形學(xué):(5-3)三維視圖-投影矩陣_第1頁
計(jì)算機(jī)圖形學(xué):(5-3)三維視圖-投影矩陣_第2頁
計(jì)算機(jī)圖形學(xué):(5-3)三維視圖-投影矩陣_第3頁
計(jì)算機(jī)圖形學(xué):(5-3)三維視圖-投影矩陣_第4頁
計(jì)算機(jī)圖形學(xué):(5-3)三維視圖-投影矩陣_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1Angel: Interactive Computer Graphics 5E Addison-Wesley 2009投影矩陣2Angel: Interactive Computer Graphics 5E Addison-Wesley 2009基本內(nèi)容推導(dǎo)出在標(biāo)準(zhǔn)OpenGL投影中所用的投影矩陣具體表示介紹斜投影介紹投影規(guī)范化投影規(guī)范化不想為每種類型的投影設(shè)計(jì)不同的投影矩陣,所以把所有的投影轉(zhuǎn)化為具有默認(rèn)視景體的正交投影這種策略可以使我們在流水線中應(yīng)用標(biāo)準(zhǔn)變換,并進(jìn)行有效的裁剪3Angel: Interactive Computer Graphics 5E Addison-Wesley 2

2、009投影規(guī)范化把對象進(jìn)行變形,使得變形后的對象經(jīng)正交投影后得到與原對象的理想投影一樣的視圖規(guī)范化矩陣就是正交投影矩陣串乘上對象變形矩陣4Angel: Interactive Computer Graphics 5E Addison-Wesley 2009流水線流水線5Angel: Interactive Computer Graphics 5E Addison-Wesley 2009注釋在模型視圖變換和投影變換的過程中,我們是一直在四維齊次坐標(biāo)系中的,這些變換都是非奇異的默認(rèn)值為單位陣(正交視圖)規(guī)范化使得不管投影的類型是什么,都是相對于默認(rèn)的簡單立方體進(jìn)行裁剪投影直到最后時刻才進(jìn)行,從而可

3、以盡可能的保留深度信息,這對隱藏面消除是非常重要的6Angel: Interactive Computer Graphics 5E Addison-Wesley 2009正則視景體OpenGL缺省的視景體是中心在原點(diǎn),邊長為2的立方體,相當(dāng)于調(diào)用glMatrixMode(GL_PROJECTION);glLoadIdentity();glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);稱這個視景體為正則視景體(canonical view volume)7Angel: Interactive Computer Graphics 5E Addison-Wesley

4、2009正交規(guī)范化glOrtho(left, right, bottom, top, near, far)規(guī)范化求出把指定裁剪體轉(zhuǎn)化為默認(rèn)裁剪體的變換8Angel: Interactive Computer Graphics 5E Addison-Wesley 2009正交規(guī)范化矩陣兩步把中心移到原點(diǎn),對應(yīng)的變換為T(left+right)/2, (bottom+top)/2, (near+far)/2)進(jìn)行放縮從而使視景體的邊長為2,S(2/(right-left), 2/(top bottom), -2/(far-near)近裁剪面z=-near映射到z=-1平面,遠(yuǎn)裁剪面z=-far映射

5、到z=1平面9Angel: Interactive Computer Graphics 5E Addison-Wesley 2009最后的投影令z = 0這等價于如下的齊次坐標(biāo)變換從而在4D中一般的正交投影為P = MorthST10Angel: Interactive Computer Graphics 5E Addison-Wesley 2009斜投影OpenGL的投影函數(shù)不支持一般的平行投影,例如立方體的如下圖示此時立方體好像發(fā)生了錯切,然后再進(jìn)行正交投影斜投影= 錯切正交投影11Angel: Interactive Computer Graphics 5E Addison-Wesley

6、 2009一般的錯切12Angel: Interactive Computer Graphics 5E Addison-Wesley 2009頂視圖和側(cè)視圖13Angel: Interactive Computer Graphics 5E Addison-Wesley 2009錯切矩陣xy 錯切(z值不變)投影矩陣P = MorthH(, )一般情形:P = MorthSTH(, )14Angel: Interactive Computer Graphics 5E Addison-Wesley 2009等價性15Angel: Interactive Computer Graphics 5E A

7、ddison-Wesley 2009對裁剪體的影響投影矩陣P = STH把原來的裁剪體變換為默認(rèn)的裁剪體16Angel: Interactive Computer Graphics 5E Addison-Wesley 2009簡單透視考慮簡單透視:COP在原點(diǎn),近裁剪面在z = -1, 由平面x = z, y = z確定的有90度的視野17Angel: Interactive Computer Graphics 5E Addison-Wesley 2009透視矩陣齊次坐標(biāo)下的簡單投影矩陣為注意這個矩陣與遠(yuǎn)裁剪面無關(guān)18Angel: Interactive Computer Graphics 5

8、E Addison-Wesley 2009推廣在透視除法后,點(diǎn)(x,y,z,1)變到了x = -x/z, y = -y/z, z = -(+/z)無論, 的值是什么,在正交投影后就得到所期望的點(diǎn)。此時矩陣N非奇異19Angel: Interactive Computer Graphics 5E Addison-Wesley 2009與的選取如果取= (near + far)/(near far)= 2 near*far/(near far)那么近平面z=-near映射到z = -1遠(yuǎn)平面z=-far映射到z = 1各側(cè)邊映射到x = 1, y = 1這樣,新的裁剪體就是缺省裁剪體20Angel

9、: Interactive Computer Graphics 5E Addison-Wesley 2009z = -(+/z)規(guī)范變換21Angel: Interactive Computer Graphics 5E Addison-Wesley 2009規(guī)范化與隱藏面消除雖然這里選擇的透視矩陣形式上看起來有點(diǎn)兒任意,但這種選擇保證如果在原來的裁剪體內(nèi)z1z2, 那么變換后的點(diǎn)滿足z1z2因此如果首先應(yīng)用規(guī)范變化,隱藏面消除算法有效然而,公式z = -(+/z)意味著由于規(guī)范化導(dǎo)致距離發(fā)生了改變,這可能導(dǎo)致數(shù)值問題,特別是當(dāng)近距離非常小的時候更是如此22Angel: Interactive

10、Computer Graphics 5E Addison-Wesley 2009OpenGL的透視glFrustum可以定義非對稱視景體,但gluPerspective不能做到這一點(diǎn)23Angel: Interactive Computer Graphics 5E Addison-Wesley 2009OpenGL透視矩陣glFrustum的規(guī)范化剪切變換H:把非對稱視景棱臺變換為對稱的四棱臺,遠(yuǎn)近平面不變縮放變換S:把四棱臺的側(cè)面變換為x=z和y=z,遠(yuǎn)近平面不變透視規(guī)范化變換N:x=z變換為x= 1,y= z變換為y= 1,近平面z=-near變換為z=-1,遠(yuǎn)平面z=-far變換為z = 1P = NSH24Angel: Interactive Computer Graphics 5E Addison-Wesley 2009投影矩陣25Angel: Interactive Computer Graphics

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論