數學基礎知識02——旋轉軸、旋轉角度和旋轉矩陣


 

旋轉角度

已知兩向量a=(x1,y1,z1)和b=(x2,y2,z2),

兩向量的旋轉角度,可以通過點乘獲得

a•b=|a|*|b|*cosθ

通過cosθ反轉可求得旋轉角度

 

 

旋轉軸

兩個(不平行)的向量,決定一個平面,

而平面內任意向量,都可以通過旋轉角度θ獲得,所以,該平面的法向量一定是旋轉軸(旋轉軸不一定是該平面的法向量)

而法向量可以通過兩向量的叉乘得到,可參考

數學基礎知識01

 

旋轉矩陣

(旋轉矩陣)是基於(旋轉軸)和(旋轉角度)推導出來的

 

具體推導公式,可參考前輩的以下網址

http://www.cnblogs.com/xpvincent/archive/2013/02/15/2912836.html

 

推導出來的(旋轉矩陣)為

公式說明

假設(旋轉軸)的向量n=(nx, ny, nz);

I是單位矩陣,A是向量n的反對稱矩陣,即

反對稱矩陣如何求,詳情可看

數學基礎知識01

而θ旋轉角度

 

最后求出的旋轉矩陣如下

通過旋轉矩陣可以求出(向量a)繞(旋轉軸)旋轉(角度θ)得到的(向量b)

設3X3的(旋轉矩陣)為R

v' = Rv

 

 

除此之外,在后面會遇到一種特殊的情況,(攝像機的移動)

已知(旋轉軸向量n),已知(需要旋轉的向量a),已知(需要旋轉的向量a,逆時針旋轉90度得到的向量b)

而且(向量n)是,(向量a)和(向量b),所在平面的法向量

通過旋轉矩陣,我們可以得到

化簡整合有

當(向量n)是法向量的時候,我們可以清楚地看見

所以

把vx2代入公式,有

同理,把新得到的向量,逆時針旋轉90度,可以獲得,向量b旋轉同樣角度后,得到的新向量

由x坐標變化,我們可以輕易獲得向量變化之后的,y坐標 和 z坐標

 

 

 

 

 

 

 

 


 

 

 

 

 

 


免責聲明!

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



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