3D數(shù)學(xué)-正交投影
好記性不如爛筆頭啊,還是記錄一下!
概述
正交投影也被稱為平行投影叶堆,不會出現(xiàn)透視投影的近大遠(yuǎn)小
的扭曲現(xiàn)象,
正交投影的推導(dǎo)
構(gòu)建正交投影矩陣相對來說會簡單一些沥匈,由于不存在透視扭曲高帖。
是相機(jī)空間中的一個坐標(biāo)點(diǎn)
表示經(jīng)過透視投影后在規(guī)范化設(shè)備坐標(biāo)系(Normalized Device Coordinates)
中的坐標(biāo)
表示近裁剪平面(near clip plane)
的左邊散址,即
表示近裁剪平面(near clip plane)
的右邊,即
表示近裁剪平面(near clip plane)
的上邊义起,即
表示近裁剪平面(near clip plane)
的下邊,即
如圖所示犁罩,可以先行的映射到規(guī)范化設(shè)備坐標(biāo)系(Normalized Device Coordinates)
中的床估,因?yàn)槲覀儗?shí)際只是將一個長方體縮成一個立方體丐巫,并把它移動到原點(diǎn)勺美。下面我們就來使用線性映射關(guān)系(linear relationship)
來推導(dǎo)正交投影矩陣
現(xiàn)在需要將映射到,得范圍是缎脾,的范圍是遗菠,還需要將映射到辙纬,得范圍是叭喜,的范圍是域滥,還需要將映射到,由于齊次裁剪空間為左手坐標(biāo)系昂儒,所以需要將z軸反置渊跋,因此的范圍是,得范圍是可以利用簡單線性插值的方法獲得以下關(guān)系式:
解出可得:
將以上三個關(guān)系式寫成矩陣形式,可得:
就是正交投影矩陣
投影矩陣的另一種形式
根據(jù)Size(豎直方向上高度的一半)
和Aspect(投影平面的寬高比)
可得出以下關(guān)系:
所以還可以寫成:
本節(jié)教程就到此結(jié)束,希望大家繼續(xù)閱讀我之后的教程材诽。
謝謝大家,再見!
飲水思源
參考文獻(xiàn):
《3D游戲與圖形學(xué)中的數(shù)學(xué)方法》
《OpenGL投影矩陣(Projection Matrix)構(gòu)造方法》
版權(quán)聲明:原創(chuàng)技術(shù)文章脸侥,撰寫不易睁枕,轉(zhuǎn)載請注明出處!