視圖矩陣ViewMatrix一些概念


討論下View矩陣

圖1

上圖黑色是我們世界坐標系,淺藍色是攝像機坐標系。

視圖矩陣作用一句話簡明表達就是世界坐標系轉換到攝像機坐標系。

從圖1 黑色的世界坐標系轉換到淺藍色的攝像機坐標系。

公式1: QQ截圖20160422234254

先說概念,我們根據攝像機的位置和旋轉信息可以構造出攝像機的坐標系矩陣C,但是這個C

你單純的乘上世界矩陣,是錯誤的。因為你的變化還是在世界坐標系做平移和旋轉。

我們要的目的是把世界坐標系的東西變換到Camera的坐標系。以Camera中心點做世界的原點,Camera的基向量做世界坐標系的軸。

那么於“原來的世界坐標系”的向量,都得除去“現在世界坐標”基向量的影響。

公式2:

矩陣乘上他的逆矩陣得到單位矩陣。那么我們對"原來世界坐標系"的向量乘上"現在世界坐標系"矩陣的逆矩陣。

我們分解逆矩陣

他位移部分Mt矩陣,他的平移矩陣位置。

他的位移矩陣的逆矩陣就是反向位移矩陣,那么我們可以構造下面逆矩陣

現在構造旋轉部分的逆矩陣,我們知道。旋轉矩陣是個正交矩陣,它的逆矩陣和轉置矩陣一樣得到下面。

那么構造出本身的旋轉矩陣,轉置就得到他的逆矩陣

矩陣旋轉構造,只要知道三個基向量就可以構造。

image

我們先用世界坐標系”Y軸基向量”,通過 look和eye點 得到Z軸基向量。

叉乘得X軸基向量,但是我們知道Y基向量,不是真正的基向量。重新叉乘得到真正的Y軸基向量。

有了三個坐標系基向量,構造旋轉矩陣。

轉置下

相乘就得到我們真正想要Camera矩陣

 

這個推導的矩陣是 左手系行向量的情況下視圖矩陣(DX情況下)

下步推導下右手系列向量情況下的矩陣

平移矩陣

QQ截圖20160422224736

平移逆矩陣

QQ截圖20160422224743

 

旋轉矩陣

 

QQ截圖20160422225914

逆矩陣

QQ截圖20160422225927

 

矩陣相乘不滿足交換律,所以列向量都是右乘

QQ截圖20160422225934

到目前,左右手系視圖矩陣推導完成。如果有錯誤謝謝指出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM