概述
在3D圖形:矩陣與線性變換中,曾經簡單的說過關於正交投影和透視投影的簡單區別,這一篇部落格將對透視投影做進一步的瞭解與深入.
如下圖所示,兩種投影方式,一種是平行投影也叫作正交投影,正交投影的特點是所有的投影線都是平行的,另外一種則是今天的主題,透視投影,透視投影的特點是投影線是相交於一點的,相交於這個點叫做投影中心.
幾何原理解釋
如圖所示,假設原點O為投影中心,點A = [x y z]為投射之前的點,點H為投射之後的點,假如說投射平面在投射點的左側,投影平面距離投影中心的距離為d.
上面在3D環境顯得有些雜亂,我們就把它放在2D環境中,如下所示.
那麼我們可以通過比例計算出z = -d的時候,投影座標H的具體座標,如下所示.
那麼,上面的是在投影中左邊的投影,下面我們看一下,在投影中心的右邊的投影是如何的.
我們仍然還是把整體放在一個2D環境中,如下所示.
那麼我們依然可以根據比例關係推匯出z =d投射點G的座標.
使用4X4矩陣進行投影變換
上一篇部落格中,我寫到了如何使用4X4矩陣進行平移變換,那麼4X4矩陣可不可以進行投影變換呢?這還用說,肯定是可以的了,就拿上一個模組中投射平面在投射中心的右邊(z = d),假設投射之前的點A的w=1,那麼A= [x,y,z,1],那麼投射完成的點,我們可以給它改成如下所示.
那麼A= [x,y,z,1]如何通過矩陣變換到G = [x,y,z,z/d],然後就出現瞭如下形式了.
總結
這一篇文章只是簡單地介紹了透視投影,到後面我將會專門的寫一篇關於透視投影的部落格,下面一篇部落格將對尤拉角與四元數進行研究.歡迎繼續關注騷棟.
最後還是要附上<<3D數學基礎 圖形與遊戲開發>>的pdf版的傳送門.