羅德里格旋轉公式是計算三維空間中,一個向量繞旋轉軸旋轉給定角度以後得到的新向量的計算公式。這個公式使用原向量,旋轉軸及它們叉積作為標架表示出旋轉以後的向量。可以改寫為矩陣形式,被廣泛套用於空間解析幾何和計算機圖形學領域,成為剛體運動的基本計算公式。
基本介紹
- 中文名:羅德里格旋轉公式
- 外文名:Rodrigues' rotation formula
- 別稱:三維空間中的歐拉羅德里格旋轉公式
- 提出者:班傑明·奧倫德·羅德里格
- 提出時間:1840
- 套用學科:空間解析幾何 計算機圖形學 理論力學
- 適用領域範圍:三維渲染 機器人設計
發現歷程和定義,推導,矩陣形式,理論力學中的套用,
發現歷程和定義
在向量旋轉公式發現以前,瑞士數學家列昂哈德·歐拉(Leonhard Euler(1707-1783))為了證明四平方和定理,發現了四平方和恆等式。然而這個恆等式的構造過程非常繁瑣。直到後來,四元數被引入,使得這個恆等式的推導大大簡化。
四元數可以很方便地表示旋轉變換。但在很多場合中,使用矩陣形式和向量形式表達旋轉更有利於推導。向量旋轉公式最早由法國數學家班傑明·奧倫德·羅德里格(Benjamin Olinde Rodrigues(1795–1851))導出,後來被套用在很多領域。
設v是一個三維空間向量,k是旋轉軸的單位向量,則v在右手螺旋定則意義下繞旋轉軸k旋轉角度θ得到的向量可以由三個不共面的向量v, k和k×v構成的標架表示:
推導
如果被旋轉向量v與旋轉軸k(k為單位向量)相互垂直,那旋轉變換不難表示。而對於與旋轉軸k呈任意角度的向量v,可以通過正交分解,把被旋轉向量轉化為與旋轉軸平行的分量 和與旋轉軸垂直的分量 ,其中與旋轉軸平行的分量 在旋轉中是不變的,而與旋轉軸垂直的分量 則恰好旋轉了角度θ,把與旋轉軸平行的分量與旋轉以後的與旋轉軸垂直的分量加在一起,即可得到旋轉以後的向量。
第一步是如何對向量v做正交分解:
利用向量投影公式,可以得到 的表達式:
通過做減法,得到
利用外積可以計算與 和k都垂直,且長度等於 的向量w:
旋轉以後的向量可以表示為:
與 相加即可得到旋轉以後的向量表達式:
矩陣形式
在計算機圖形學中,羅德里格向量旋轉公式通常被用來填寫旋轉矩陣。如果把k和v分別寫為列向量:
則旋轉以後的向量可以表示為:
其中
其中E是3階單位矩陣。需要注意的是,公式中的第二項不是點積,而是張量積,得到的是一個3行3列的矩陣。
理論力學中的套用
設在以角速度ω,繞單位向量k旋轉的慣性系中,物體在 處以速度v運動,則物體在該局部坐標系下的運動方程為: