旋轉的軸角表示用兩個值參數化了旋轉: 一個軸或直線,和描述繞這個軸的旋轉量的一個角。它也叫做旋轉的指數坐標。
有時也叫做旋轉向量表示,因為這兩個參數(軸和角)可用在這個軸上的其模是旋轉角的一個向量來表示。
用途
軸角表示在處理剛體動力學的時候是方便的。它對特徵化旋轉還有在剛體運動的不同表示之間的轉換是有用的。
例子
假如你站在地面上,選取重力的方向為負 z 方向。如果你左轉,你將繞 z 軸旋轉
弧度 (或 90 度)。在軸角表示中,這將是
![{\displaystyle \langle \mathrm {axis} ,\mathrm {angle} \rangle =\left({\begin{bmatrix}a_{x}\\a_{y}\\a_{z}\end{bmatrix}},\theta \right)=\left({\begin{bmatrix}0\\0\\1\end{bmatrix}},{\frac {\pi }{2}}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/55facd168be3f26be45c8504bf8d7eb4f80e6b20)
這可以表示為指示 z 方向的模為
的旋轉向量。
![{\displaystyle {\begin{bmatrix}0\\0\\{\frac {\pi }{2}}\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e28c9fc67ca58468a53b627b2e223d12656a3585)
與其他表示的聯繫
表示旋轉有很多方式。理解它們相互之間的區別和如何轉換是重要的。
從 so(3) 到 SO(3) 的指數映射
從旋轉的軸角表示到旋轉矩陣的變換使用指數映射。
![{\displaystyle \exp \colon so(3)\to SO(3)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/05a8595064cf9d81f9b671d451c56741e2608d77)
本質上說,通過使用泰勒展開,你可以得出在這兩種表示之間的閉合形式的關係。給出一個軸
和角
,等價的旋轉矩陣給出為:
![{\displaystyle R=\exp({\hat {\omega }}\theta )=\sum _{k=0}^{\infty }{\frac {({\hat {\omega }}\theta )^{k}}{k!}}=I+{\hat {\omega }}\theta +{\frac {1}{2}}({\hat {\omega }}\theta )^{2}+{\frac {1}{6}}({\hat {\omega }}\theta )^{3}+\cdots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/c432fb33d4e041237dc126115694b23745b0e5ca)
![{\displaystyle R=I+{\hat {\omega }}\left(\theta -{\frac {\theta ^{3}}{3!}}+{\frac {\theta ^{5}}{5!}}-\cdots \right)+{\hat {\omega }}^{2}\left({\frac {\theta ^{2}}{2!}}-{\frac {\theta ^{4}}{4!}}+{\frac {\theta ^{6}}{6!}}-\cdots \right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/011ccaa8715c6031c4b31238d59ffed6d5e7a7b0)
![{\displaystyle R=I+{\hat {\omega }}\sin(\theta )+{\hat {\omega }}^{2}(1-\cos(\theta ))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f622a7dab29cce188aa9f83b2b627254e591887a)
這裡的 R 是 3x3 旋轉矩陣而帽算子給出與叉積被乘數對應的反對稱矩陣算符。
從 SO(3) 到 so(3) 的對數映射
要獲得旋轉矩陣的軸角表示,計算旋轉的角
![{\displaystyle \theta =\arccos \left({\frac {\mathrm {trace} (R)-1}{2}}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6400a524cddf6f9dcc3b20ef39b3b8bda744b1cb)
並接著使用它來找到軸
![{\displaystyle \omega ={\frac {1}{2\sin(\theta )}}{\begin{bmatrix}R(3,2)-R(2,3)\\R(1,3)-R(3,1)\\R(2,1)-R(1,2)\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c8b825bd9b7ef99158b459d0bbee8d9a9750477b)
四元數
要從軸角坐標變換到四元數使用下列表達式:
![{\displaystyle \mathbf {q} =\left(\cos {\tfrac {\theta }{2}},\omega \sin {\tfrac {\theta }{2}}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ee1c1e3e592bd36f08f0b371b01069a6d4e670cb)
給出一個單位四元數 q = r + v,提取軸角坐標可以使用下列表達式:
![{\displaystyle \theta =2\,\arccos(r)\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c508a1acee91cabd1cadfd24e73c6b95d5aad972)
![{\displaystyle \omega ={\begin{cases}{\dfrac {\mathbf {v} }{\sin {\tfrac {\theta }{2}}}},&\mathrm {if} \;\theta \neq 0\\0,&\mathrm {otherwise} \end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1ffcde896b48555e74cd07611d1009faa8d65dda)
參見