四元組和旋轉(zhuǎn)矩陣

二維旋轉(zhuǎn)矩陣(2D Rotation Matrix)

在歐幾里得坐標(biāo)系下脯丝,二維的旋轉(zhuǎn)矩陣可以用一個旋轉(zhuǎn)角 $\theta$ 來表達(dá)出來。具體地歌逢,
$$ R = \begin{bmatrix} \cos \theta & -\sin \theta \ \sin \theta & \cos \theta \ \end{bmatrix} $$

二維點坐標(biāo)表示為列向量乘以旋轉(zhuǎn)矩陣巾钉,得到的列向量就是在歐幾里得坐標(biāo)系下的旋轉(zhuǎn)后的坐標(biāo)。

三維旋轉(zhuǎn)矩陣(3D Rotation Matrix)

一般地秘案,歐幾里得理論下砰苍,三維旋轉(zhuǎn)矩陣可以表達(dá)為繞著某個方向向量以及繞著這個方向向量的旋轉(zhuǎn)角(默認(rèn)采用右手原則)。也就是說阱高,確定一個三維旋轉(zhuǎn)矩陣有 4 個變量赚导,方向向量 $x, y, z$ 以及旋轉(zhuǎn)角 $\theta$ 。歐拉旋轉(zhuǎn)指出赤惊,三維旋轉(zhuǎn)矩陣的自由度是 3 吼旧。

三維旋轉(zhuǎn)矩陣有多種表示方法,主要有 2 種方法:歐拉旋轉(zhuǎn)未舟、四元組圈暗。

1. 歐拉旋轉(zhuǎn)(Euler Rotation)

歐拉旋轉(zhuǎn)的想法和旋轉(zhuǎn)向量相似。但是不是給定一個旋轉(zhuǎn)向量裕膀,而是分別給出觀測對象沿$x, y, z$ 三個坐標(biāo)軸旋轉(zhuǎn)(轉(zhuǎn)化為了一個二維的旋轉(zhuǎn)問題)员串。其中,沿著給定三個方向的旋轉(zhuǎn)矩陣是這個樣子的:

$$ \nonumber \begin{alignat}{1} R_x(\theta) &= \begin{bmatrix} 1 & 0 & 0 \ 0 & \cos \theta & -\sin \theta \[3pt] 0 & \sin \theta & \cos \theta \[3pt] \end{bmatrix} , R_y(\theta) &= \begin{bmatrix} \cos \theta & 0 & \sin \theta \[3pt] 0 & 1 & 0 \[3pt] -\sin \theta & 0 & \cos \theta \ \end{bmatrix} , R_z(\theta) &= \begin{bmatrix} \cos \theta & -\sin \theta & 0 \[3pt] \sin \theta & \cos \theta & 0\[3pt] 0 & 0 & 1\ \end{bmatrix} \end{alignat} $$

然后昼扛,旋轉(zhuǎn)矩陣表示為:

$$ R=R_z R_y R_x $$

這種方法的缺點之一就是復(fù)雜寸齐,且由于歐拉萬向角問題而表示不唯一。

2. 四元組(Quaternions)

四元組是擴(kuò)展自復(fù)數(shù)的一個概念抄谐,延伸自歐拉旋轉(zhuǎn)渺鹦。定義三個復(fù)變量 $i2=j2=k^2=-1$ ,然后把向量的各個分量表示為 $i, j, k$ 的系數(shù)蛹含,即 (2, 3, 4) 表示為 $2i+3j+4k$ 毅厚。一個圍繞單位向量 $\overrightarrow{u}=(u_x, u_y, u_z)=u_x i + u_y j + u_z k$的旋轉(zhuǎn)$\theta$角度的旋轉(zhuǎn),可以利用歐拉公式的擴(kuò)展來表達(dá):

$$ q = e^{\frac{\theta}{2}(u_x i + u_y j + u_z k)} = \cos \frac{\theta}{2} + (u_x i + u_y j + u_z k) \sin \frac{\theta}{2} $$

然后浦箱,利用四元組乘法(注意吸耿,此處不是矩陣乘法E贡摺),上式可以應(yīng)用于計算一個普通的三維點 $p=(p_x, p_y, p_z) = p_x i + p_y j + p_z k $ 的旋轉(zhuǎn):

$$ p' = q p q^{-1} $$

而 $p'=({p_x}', {p_y}', {p_z}')$ 是旋轉(zhuǎn)后的坐標(biāo)珍语。如果 $ \overrightarrow{u} $ 和 點 $p$ 是沿原點同方向的,那么該旋轉(zhuǎn)將繞 $\overrightarrow{u}$ 順時針旋轉(zhuǎn) $\theta$竖幔。

2.1 四元組的矩陣表示

四元組表達(dá)的旋轉(zhuǎn)也可以通過旋轉(zhuǎn)矩陣來表示板乙,即簡化上述 $$ p' = q p q^{-1} $$ 的操作。其得到的旋轉(zhuǎn)矩陣為:

$$ \begin{bmatrix} c + a_x^2 (1-c) & a_x a_y (1-c) - a_z s & a_x a_z (1-c) + a_y s \ a_y a_x (1-c) + a_z s & c + a_y^2 (1-c) & a_y a_z (1-c) - a_x s \ a_z a_x (1-c) - a_y s & a_z a_y (1-c) + a_x s & c + a_z^2 (1-c) \end{bmatrix} $$

其中拳氢,$s=\sin \theta, c = \cos \theta$ 募逞。對于一個旋轉(zhuǎn)四元組 $q=q_r+q_i i + q_j j + q_k k$,以上變量可以通過

$$ \begin{align} \theta & =2 \arccos q_r=2 \arcsin \sqrt{{q_i}2+{q_j}2+{q_k}^2} \nonumber \ (a_x, a_y, a_z) & =\frac{1}{\sin \frac{1}{2}\theta} (q_i, q_j, q_k) \nonumber \end{align}$$

得到馋评。

如果直接從四元組中的變量出發(fā)放接,也可以把矩陣表達(dá)為:

$$ \begin{bmatrix} 1 - 2 q_j^2 - 2 q_k^2 & 2 (q_i q_j - q_k q_r) & 2 (q_i q_k + q_j q_r) \ 2 (q_i q_j + q_k q_r) & 1 - 2 q_i^2 - 2 q_k^2 & 2 (q_j q_k - q_i q_r) \ 2 (q_i q_k - q_j q_r) & 2 (q_j q_k + q_i q_r) & 1 - 2 q_i^2 - 2 q_j^2 \end{bmatrix} $$

或(已知 $q_r$,可以通過變換式代換主軸線上的量)

$$ \begin{bmatrix} q_r^2 + q_i^2 - q_j^2 - q_k^2 & 2 (q_i q_j - q_k q_r) & 2 (q_i q_k + q_j q_r) \ 2 (q_i q_j + q_k q_r) & q_r^2 + q_j^2 - q_i^2 - q_k^2 & 2 (q_j q_k - q_i q_r) \ 2 (q_i q_k - q_j q_r) & 2 (q_j q_k + q_i q_r) & q_r^2 + q_k^2 - q_i^2 - q_j^2 \end{bmatrix} $$

上述兩個矩陣是等價的留特。

以上旋轉(zhuǎn)默認(rèn)物體繞著原點的旋轉(zhuǎn)纠脾,其他形式的旋轉(zhuǎn),可以把物體平移到相對坐標(biāo)系蜕青,再做四元組旋轉(zhuǎn)苟蹈,然后再把坐標(biāo)系變換回去。

2.2 四元組的矩陣恢復(fù)

從旋轉(zhuǎn)矩陣恢復(fù)四元組可以通過構(gòu)造矩陣求特征值為 1 的 特征向量(即四元組)右核。設(shè) $Q$ 是一個 $3\times 3$ 的旋轉(zhuǎn)矩陣慧脱,構(gòu)造矩陣:

$$ K = \frac13 \begin{bmatrix} Q_{xx}-Q_{yy}-Q_{zz} & Q_{yx}+Q_{xy} & Q_{zx}+Q_{xz} & Q_{yz}-Q_{zy} \ Q_{yx}+Q_{xy} & Q_{yy}-Q_{xx}-Q_{zz} & Q_{zy}+Q_{yz} & Q_{zx}-Q_{xz} \ Q_{zx}+Q_{xz} & Q_{zy}+Q_{yz} & Q_{zz}-Q_{xx}-Q_{yy} & Q_{xy}-Q_{yx} \ Q_{yz}-Q_{zy} & Q_{zx}-Q_{xz} & Q_{xy}-Q_{yx} & Q_{xx}+Q_{yy}+Q_{zz} \end{bmatrix} $$

如果 $Q$ 是一個純旋轉(zhuǎn)矩陣,那么$ K $ 將會有一個特征值為 1 的特征向量贺喝,該向量即四元組菱鸥。如果 $Q$ 不是一個純旋轉(zhuǎn)矩陣,那么我們求出最大的特征值所對應(yīng)的向量為四元組躏鱼,該四元組求得的旋轉(zhuǎn)矩陣將接近$Q$氮采。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挠他,隨后出現(xiàn)的幾起案子扳抽,更是在濱河造成了極大的恐慌,老刑警劉巖殖侵,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贸呢,死亡現(xiàn)場離奇詭異,居然都是意外死亡拢军,警方通過查閱死者的電腦和手機(jī)楞陷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來茉唉,“玉大人固蛾,你說我怎么就攤上這事结执。” “怎么了艾凯?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵献幔,是天一觀的道長。 經(jīng)常有香客問我趾诗,道長蜡感,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任恃泪,我火速辦了婚禮郑兴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贝乎。我一直安慰自己情连,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布览效。 她就那樣靜靜地躺著却舀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锤灿。 梳的紋絲不亂的頭發(fā)上禁筏,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音衡招,去河邊找鬼篱昔。 笑死,一個胖子當(dāng)著我的面吹牛始腾,可吹牛的內(nèi)容都是我干的州刽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浪箭,長吁一口氣:“原來是場噩夢啊……” “哼穗椅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奶栖,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤匹表,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宣鄙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袍镀,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年冻晤,在試婚紗的時候發(fā)現(xiàn)自己被綠了苇羡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡鼻弧,死狀恐怖设江,靈堂內(nèi)的尸體忽然破棺而出锦茁,到底是詐尸還是另有隱情,我是刑警寧澤叉存,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布码俩,位于F島的核電站,受9級特大地震影響歼捏,放射性物質(zhì)發(fā)生泄漏握玛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一甫菠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧冕屯,春花似錦寂诱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浴韭,卻和暖如春丘喻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背念颈。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工泉粉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人榴芳。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓嗡靡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窟感。 傳聞我的和親對象是個殘疾皇子讨彼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容