矩陣變換:沿任意軸旋轉及其推導

曾強發表於2013-04-08

1. 2D中繞原點旋轉

設基向量p,q和r分別是朝向+x,+y和+z方向的單位向量。

旋轉角度為θ,基向量p,q繞原點旋轉,得到新的基向量p`和q`


即旋轉矩陣R(θ)為



2. 3d中繞座標軸旋轉

01. 繞x軸旋轉,基向量q和r旋轉θ,得到新的基向量q`和r`


即旋轉矩陣Rx(θ)為:


02. 繞y軸旋轉,基向量p和r旋轉θ,得到新的基向量p`和r`


即旋轉矩陣Ry(θ)為:


03. 繞z軸旋轉,基向量p和q旋轉θ,得到新的基向量p`和q`


即旋轉矩陣Rz(θ)為:



3. 繞任意軸旋轉

這裡不考慮平移,所以是過原點的任意軸。

任意軸用單位向量n表示,繞n旋轉θ角度的矩陣表示為R(n,θ),v`是向量v繞軸n旋轉後的向量

v` = vR(n,θ)

我們的目標是用v,n和θ來表示v`,具體步驟如下:

將v分解為平行於n的分向量v||和垂直於n的分向量v⊥。v`⊥是v`垂直於n的分向量。


01.根據向量投影公式有


02.根據v||算出v⊥,w是v⊥與n叉剩的結果


03.根據w算出v`⊥


04.最後算出v`



05.現在已經得到了v`與v,n和θ的關係公式,用它來計算變換後的基向量並構造矩陣,基向量p`為


06.其餘基向量類推,這裡糾正上式中列向量的寫法


07.合併為矩陣後:



更多內容參見:3d數學基礎





相關文章