旋转的轴角表示用两个值参数化了旋转: 一个轴或直线,和描述绕这个轴的旋转量的一个角。它也叫做旋转的指数坐标。
有时也叫做旋转向量表示,因为这两个参数(轴和角)可用在这个轴上的其模是旋转角的一个向量来表示。
用途
轴角表示在处理刚体动力学的时候是方便的。它对特征化旋转还有在刚体运动的不同表示之间的转换是有用的。
例子
假如你站在地面上,选取重力的方向为负 z 方向。如果你左转,你将绕 z 轴旋转 \tfrac{\pi}{2} 弧度 (或 90 度)。在轴角表示中,这将是
:\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)
这可以表示为指示 z 方向的模为 \tfrac{\pi}{2} 的旋转向量。
: \begin{bmatrix} 0 \\ 0 \\ \frac{\pi}{2} \end{bmatrix}
与其他表示的联系
表示旋转有很多方式。理解它们相互之间的区别和如何转换是重要的。
从 so(3) 到 SO(3) 的指数映射
从旋转的轴角表示到旋转矩阵的变换使用指数映射。
:\exp\colon so(3) \to SO(3)
本质上说,通过使用泰勒展开,你可以得出在这两种表示之间的闭合形式的关系。给出一个轴 \omega \in \mathbb{R}^{3} 和角 \theta \in \mathbb{R},等价的旋转矩阵给出为:
: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
: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)
:R = I + \hat{\omega} \sin(\theta) + \hat{\omega}^2 (1-\cos(\theta))
这里的 R 是 3x3 旋转矩阵而帽算子给出与叉积被乘数对应的反对称矩阵算符。
从 SO(3) 到 so(3) 的对数映射
要获得旋转矩阵的轴角表示,计算旋转的角
: \theta = \arccos\left( \frac{\mathrm{trace}(R) - 1}{2} \right)
并接着使用它来找到轴
: \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}
四元数
要从轴角坐标变换到四元数使用下列表达式:
:\mathbf q = \left(\cos\tfrac{\theta}{2}, \omega \sin\tfrac{\theta}{2}\right)
给出一个单位四元数 ,提取轴角坐标可以使用下列表达式:
:\theta = 2\,\arccos(r)\,
:\omega =
\begin{cases}
\dfrac{\mathbf{v}}{ \sin \tfrac{\theta}{2} }
, & \mathrm{if} \; \theta \neq 0 \\
0, & \mathrm{otherwise}
\end{cases}
参见
- 旋转群
- 迹数
- 旋转表示
评论 (0)