旋轉矩陣(英文:Rotation matrix)是在乘以一個向量的時候有改變向量的方向但不改變大小的效果并保持了手性的矩陣。旋轉矩陣不包括點反演,點反演可以改變手性,也就是把右手坐標系改變成左手坐標系或反之,所有旋轉加上反演形成了正交矩陣的集合,旋轉可分為主動旋轉與被動旋轉,主動旋轉是指將向量逆時針圍繞旋轉軸所做出的旋轉,被動旋轉是對坐標軸本身進行的逆時針旋轉,它相當于主動旋轉的逆操作。
旋轉矩陣具有保持向量大小不變、保持手性不變、應用于坐標變換和繞任意點旋轉等特點。旋轉矩陣是一種強大的數學工具,它在計算機圖形學、機器人學、航空航天等領域有著廣泛的應用。通過旋轉矩陣,可以方便地進行復雜的空間變換和動態模擬。
基本介紹
旋轉矩陣的原理在數學上涉及到的是一種組合設計:覆蓋設計。而覆蓋設計,填裝設計,斯坦納系,t-設計都是離散數學中的組合優化問題。它們解決的是如何組合集合中的元素以達到某種特定的要求。其最古老的數學命題是寇克曼女生問題:
某教員打算這樣安排她班上的十五名女生散步:散步時三女生為一組,共五組。問能否在一周內每日安排一次散步,使得每兩名女生在一周內一道散步恰好一次?寇克曼于1847年提出了該問題,過了100多年后,對于一般形式的寇克曼問題的存在性才徹底解決。用1~15這15個數字分別代表15個女生,其中的一組符合要求的分組方法是:
歷史
Patric Ostergard
他的主要貢獻是用了全新的模擬退火算法解決了旋轉矩陣的構造問題,運用他的模擬退火程序,可以很迅速的產生許許多多的旋轉矩陣。
Alex Sidorenko
他研究出了許多旋轉矩陣和幾種產生旋轉矩陣的基于禿嶺瀏覽的一般方法。
Greg Kuperberg
他注意到線性的[v,t]編碼的補集可以給出區組長度不定的覆蓋設計,而這可以產生對現有的旋轉矩陣的一系列改進。
Dan Gordon
他收集的旋轉矩陣是迄今為止最全面,最權威的。
性質
設 是任何維的一般旋轉矩陣:
(1)兩個向量的點積(內積)在它們都被一個旋轉矩陣操作之后保持不變:
這里的是單位矩陣。
(3)一個矩陣是旋轉矩陣,當且僅當它是正交矩陣并且它的行列式是單位一。正交矩陣的行列式是 ±1;如果行列式是 ?1,則它包含了一個反射而不是真旋轉矩陣。
(4)旋轉矩陣是正交矩陣,如果它的列向量形成的一個正交基,就是說在任何兩個列向量之間的點積是零(正交性)而每個列向量的大小是單位一(單位向量)。
(5)任何旋轉向量可以表示為斜對稱矩陣A的指數:
這里的指數是以泰勒級數定義的而 是以矩陣乘法定義的。A矩陣叫做旋轉的“生成元”。旋轉矩陣的李代數是它的生成元的代數,它就是斜對稱矩陣的代數。生成元可以通過 M 的矩陣對數來找到。
二維空間
在二維空間中,旋轉可以用一個單一的角 定義。作為約定,正角表示逆時針旋轉。把勒內·笛卡爾坐標的列向量關于原點逆時針旋轉的矩陣是:
三維空間
在三維空間中,旋轉矩陣有一個等于單位1的實特征值。旋轉矩陣指定關于對應的特征向量的旋轉(歐拉旋轉定理)。如果旋轉角是 θ,則旋轉矩陣的另外兩個(復數)特征值是。從而得出 3 維旋轉的跡數等于,這可用來快速的計算任何 3 維旋轉的旋轉角。
3 維旋轉矩陣的生成元是三維斜對稱矩陣。因為只需要三個實數來指定 3 維斜對稱矩陣,得出只用三個是實數就可以指定一個 3 維旋轉矩陣。
旋轉
生成旋轉矩陣的一種簡單方式是把它作為三個基本旋轉的序列復合。關于右手笛卡爾坐標系的x-,y- 和z-軸的旋轉分別叫做軋輥,pitch和yaw旋轉。因為這些旋轉被表達為關于一個軸的旋轉,它們的生成元很容易表達。
繞x-軸的主動旋轉定義為:
這里的是 軋輥 角,和右手尾旋的方向相反(在yz平面順時針)。
繞y-軸的主動旋轉定義為:
這里的 是 pitch 角,和右手尾旋的方向相反(在zx平面順時針)。
繞z-軸的主動旋轉定義為:
這里的是 yaw 角,和右手尾旋的方向相反(在xy平面順時針)。
在飛行動力學中,roll, pitch 和 yaw 角通常分別采用符號;但是為了避免混淆于歐拉角這里使用符號。
任何 3 維旋轉矩陣都可以用這三個角來刻畫,并且可以表示為 roll, pitch 和 yaw 矩陣的乘積。
是在 中的旋轉矩陣
在中所有旋轉的集合,加上復合運算形成了旋轉群SO(3)。這里討論的矩陣接著提供了這個群的群表示。更高維的情況可參見Givens旋轉。
角-軸表示
在三維中,旋轉可以通過單一的旋轉角和所圍繞的單位向量方向 來定義。
這個旋轉可以簡單的以生成元來表達:
在運算于向量r上的時候,這等價于Rodrigues旋轉公式:
角-軸表示密切關聯于四元數表示。依據軸和角,四元數可以給出為正規化四元數Q:
這里的i,j和k是Q的三個虛部。
歐拉角表示
在三維空間中,旋轉可以通過三個歐拉角 來定義。有一些可能的歐拉角定義,每個都可以依據 軋輥, pitch 和 yaw 的復合來表達。依據 "z-x-z" 歐拉角,在右手勒內·笛卡爾坐標中的主動旋轉矩陣可表達為:
進行乘法運算生成:
因為這個旋轉矩陣不可以表達為關于一個單一軸的旋轉,它的生成元不能像上面例子那樣簡單表達出來。
SVD表示
對旋轉軸 和旋轉角,旋轉矩陣
這里的 的縱列張開正交于q 的空間而 G 是 度 Givens 旋轉,就是說
參考資料 >
Rotation Matrix.mathworld.wolfram.com.2024-04-02