DX 中的座標變換

Directx中的座標變換

(1)世界變換和世界座標系:物體在三維空間的運動和變形過程稱爲世界變換,如平移、旋轉、縮放等。物體在其中運動的三維空間稱爲世界空間,它的三維座標系表示稱爲世界座標系,物體頂點在世界座標系裏的座標變換稱爲世界變換。

(2)取景變換和觀察座標系:把圖形顯示想象成攝像過程,取景變換就像攝像機中攝像機的擺放一樣,在三維圖形顯示中,需要設置一個虛擬攝像機,屏幕顯示的圖形就是虛擬攝像機拍攝在膠片上的景物。以攝像機位置爲參考原點,攝像機觀察的方向爲座標軸,建立的座標系稱爲觀察座標系,物體在觀察座標系中的相對座標稱爲觀察座標,頂點從世界座標到觀察座標的轉換稱爲取景變換。

(3)投影座標和投影座標系:物體從世界座標描述轉換到觀察座標後,可將三維物體投影到二維表面上,即投影到虛擬攝像機的膠片上,這個過程就是投影變換。以膠片中心爲參考原點的空間座標系稱爲投影座標系,物體在投影座標系中的座標稱爲投影座標。

(4)視區變換和屏幕座標系:物體在投影座標系中的表示爲浮點座標,通過定義屏幕顯示區域(一般爲顯示窗口大小),將浮點座標轉化爲像素座標的過程稱爲視區變換,該像素座標值稱爲屏幕座標。例如,如果定義視區大小爲寬640像素、高480像素,那麼投影座標(1.0f, 0.5f)經過視區變換後的屏幕座標爲(640, 240),如果定義視區大小爲寬1024像素、高800像素,經過視區變換後的屏幕座標爲(1204, 400)。

取景變換其實就是設置攝像機,當設置完攝像機以後,其它就已經確定了在世界座標系中,我們能看到哪個方向上的物體,但要做實際顯示,一來不可能把所有這些物體全顯示,因爲模擬人能看到的角度和遠近都有限,所以肯定有所裁剪,並且現在顯示都是 2D 顯示器,肯定也要模擬視覺效果,所以就有了投影變化,投影變化可以其實就是把 3D 減爲 2D,並且模擬人的視覺效果對攝像機所觀察的方向進行裁剪(投影變化是建立在視圖變化的基礎上的),所以投影時需要設置視角範圍,最遠觀察距離,最近觀察距離,最後可以選擇正交投影,還是接近人類視覺的透視投影,來對看到的物體進行 2D 化顯示,最後達到最終效果,相當於在整個渲染管線中,視圖矩陣相當於確定了方向,投影矩陣確定了在這個方向上的所要運算的頂點的範圍,共同完成從頂點緩衝到最後呈現爲 2D 圖像的工作。

發佈了67 篇原創文章 · 獲贊 813 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章