深入探索正交投影變換_第1頁
深入探索正交投影變換_第2頁
深入探索正交投影變換_第3頁
深入探索正交投影變換_第4頁
深入探索正交投影變換_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

深入探索正交投影變換之前我們在《深入探索透視投影變換》以及《深入探索透視投影變換(續(xù))》中研究了OpenGL、D3D以及M3G的透視投影變換的原理以及生成方法。這些方法在當前的主流圖形API中得到了普遍使用。但關于投影應用,還有一類經(jīng)常使用的投影方式需要我們深入理解——正交投影,我們在本篇文章里面研究它(這里假設讀者已經(jīng)看過前兩篇文章,并理解了絕大多數(shù)的理論,因為正交投影比透視投影的推導關系簡單得多,因此我們的推導會非常得快,如果讀者有任何的不解,請參考前兩篇文章或者通過email聯(lián)系我)。

在具體研究之前我覺得有必要把平面投影的分類簡單介紹一下,目的是為了讓大家有一個總體的認識,從而更好的理解這個知識體系。請看下圖:

平面投影分為平行投影和透視投影兩種類型,后者我們在前兩篇文章中介紹了。平行投影則是具有矩形觀察體的投影方式(透視投影則是視錐觀察體),它不會根據(jù)物體離視點的遠近縮放物體(透視投影則會)。平行投影可以分成側投影和正交投影兩種類型。這兩種類型如何區(qū)分呢?我們繼續(xù)看圖吧:

上圖中,v是投影平面,n是它的法線。p和q是平面外兩點,p’和q’分別是它們在平面上的投影點。q的投影方向向量為Q=單位化(q’-q),而p的投影方向向量為P=單位化(p’-p),其中Q不平行于n而P平行于n,則q的投影叫做側投影,而p的投影叫做正交投影。正交投影是我們今天的研究對象。

實際上上面對平面投影的分類還可以繼續(xù)向下細分,比如透視投影可以分為一滅點、二滅點以及三滅點透視投影。側投影則可以繼續(xù)分為散點側投、斜二軸側投等等。而正交投影則可以分成軸側投影以及多視點正交投影等等。如果讀者對此感興趣,可以參考相關的圖形學教程。

接下來我們研究正交投影。分別介紹OpenGL、D3D以及M3G的。我們的環(huán)境約定(左右手坐標系、行列向量乘法、CVV范圍)仍然尊重相應API自己的設置。

OpenGL正交投影變換下圖是OpenGL的右手坐標系中觀察空間的情形,我們看到的是正交投影的矩形觀察體,原點是相機位置,n是近裁剪平面到相機平面的距離,f是遠裁剪平面到相機平面的距離。p是觀察體中的一個點,p’是它投影之后的點。

投影之后我們有關系:

因為是正交投影,沒有統(tǒng)一的投影射線目標點,因此投影之后的x和y不會變,而z則永遠地變成了-n,跑到了投影平面上(我們讓投影平面和近裁剪平面重合),它已經(jīng)沒用了,則我們用這個沒用的信息保存z(為了之后片元操作的時候用),寫為:反推正交投影矩陣版本一

對x和y進行CVV線性插值

分兩種情況討論(如果讀者對此不清楚,請參考第二篇文章《深入探索透視投影變換(續(xù))》):

(1)投影平面居中,銷掉兩邊的1/2,然后反推正交投影矩陣

后面那個矩陣就是相應正交投影矩陣,這個也是D3DXMatrixOrthoLH方法所使用的情況。

(2)一般情況,投影平面不一定居中,直接通過投影結果反推正交投影矩陣

后面那個矩陣就是相應的正交投影矩陣,這個也是D3DXMatrixOrthoOffCenterLH方法所使用的情況。好了,D3D的也介紹完畢,接下來是M3G的。

M3G正交投影變換M3G是對OpenGL的封裝,因此環(huán)境和OpenGL的相同,我們從對x和y的插值來看

M3G只使用居中的投影平面,因此可以銷掉兩邊的1/2,得到

接著反推出正交投影矩陣

最后那個矩陣就是M3G的正交投影矩陣,也就是Camera.setParallel所使用的形式。

結束語以上介紹了三個API所使用的正交投影矩陣的生成方法,三者的正交投影矩陣依然可以通過視野(FOV)以及投影平面的寬高比(AspectRatio)來設置,這里請讀者自行推導,可以參考第二篇文章《深入探索透視投影變換(續(xù))》。

正交投影矩陣和透視投影矩陣一樣可以有無窮多個,但原理相同,不同的只是環(huán)境。目前

溫馨提示

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

評論

0/150

提交評論