查看“︁旋转矩阵”︁的源代码
←
旋转矩阵
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''[[旋转]]矩阵'''({{lang-en|Rotation matrix}})是在[[矩阵乘法|乘以]]一个[[向量]]的时候有改变向量的方向但不改变大小的效果并保持了手性的[[矩阵]]。旋转矩阵不包括[[点反演]],点反演可以改变手性,也就是把右手坐标系改变成左手坐标系或反之。所有旋转加上反演形成了[[正交矩阵]]的集合。旋转可分为主动旋转与被动旋转。主动旋转是指将向量逆时针围绕旋转轴所做出的旋转。被动旋转是对坐标轴本身进行的逆时针旋转,它相当于主动旋转的逆操作。 ==性质== 设 <math>\mathbf{M}</math> 是任何维的一般旋转矩阵: <math>\mathbf{M}\in\mathbb{R}^{n \times n}</math> * 两个向量的点积(內積)在它们都被一个旋转矩阵操作之后保持不变: ::<math>\mathbf{a}^\top\cdot\mathbf{b} = \mathbf{(Ma)}^\top\cdot\mathbf{M}\mathbf{b}</math> :: * 从而得出旋转矩阵的[[逆矩阵]]是它的[[转置矩阵]]: ::<math>\mathbf{M}\,\mathbf{M}^{-1}=\mathbf{M}\,\mathbf{M}^\top=\mathcal{I}</math> 这里的 <math>\mathcal{I}</math> 是单位矩阵。 * 一个矩阵是旋转矩阵,当且仅当它是[[正交矩阵]]并且它的[[行列式]]是1。正交矩阵的行列式是 ±1;如果行列式是 −1,则它包含了一个[[反射 (数学)|反射]]而不是真旋转矩阵。 * 旋转矩阵是[[正交矩阵]],如果它的列向量形成 <math>\mathbb{R}^{n}</math> 的一个[[正交基]],就是说在任何两个列向量之间的标量积是零([[正交|正交性]])而每个列向量的大小是单位一([[单位向量]])。 * 任何旋转矩阵可以表示为[[斜对称矩阵]] '''A'''的指数: ::<math>\mathbf{M}=\exp (\mathbf{A})=\sum_{k=0}^\infty \frac{\mathbf{A}^k}{k!}</math> :这里的指数是以[[泰勒级数]]定义的而 <math>\mathbf{A}^k</math> 是以[[矩阵乘法]]定义的。矩阵'''A'''叫做旋转的“生成元”。旋转矩阵的[[李代数]]是它的生成元的代数,它就是斜对称矩阵的代数。生成元可以通过 M 的[[矩阵对数]]来找到。 ==二维空间== {{main|复数_(数学)#矩陣表達式}} 在二维空间中,旋转可以用一个单一的角 <math>\theta</math> 定义。作为约定,正角表示逆时针旋转。把[[笛卡尔坐标]]的[[列向量]]关于原点逆时针旋转 <math>\theta</math> 的矩阵是: :<math> M(\theta) = \begin{bmatrix} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{bmatrix} =\cos{\theta}\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} +\sin{\theta}\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} = \exp\left(\theta\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}\right) </math> ==三维空间== 在三维空间中,旋转矩阵有一个等于单位1的实[[特征值]]。旋转矩阵指定关于对应的[[特征向量]]的旋转([[欧拉旋转定理]])。如果旋转角是 θ,则旋转矩阵的另外两个(复数)特征值是 exp(''i''θ) 和 exp(-''i''θ)。从而得出 3 维旋转的[[迹数]]等于 1 + 2 cos(θ),这可用来快速的计算任何 3 维旋转的旋转角。 3 维旋转矩阵的生成元是三维斜对称矩阵。因为只需要三个实数来指定 3 维斜对称矩阵,得出只用三个实数就可以指定一个 3 维旋转矩阵。 ===旋转=== {{main|Tait-Bryan角}} 生成旋转矩阵的一种简单方式是把它作为三个基本旋转的序列复合。关于右手笛卡尔坐标系的 ''x''-, ''y''- 和 ''z''-轴的旋转分别叫做 ''roll'', ''pitch'' 和 ''yaw'' 旋转。因为这些旋转被表达为关于一个轴的旋转,它们的生成元很容易表达。 * 绕 ''x''-轴的主动旋转定义为: :<math> \mathcal{R}_x(\theta_x)= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos{\theta_x} & -\sin{\theta_x} \\ 0 & \sin{\theta_x} & \cos{\theta_x} \end{bmatrix} =\exp \left(\theta_x \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix}\right) </math> 这里的 <math>\theta_x</math> 是 roll 角,和右手螺旋的方向相反(在yz平面顺时针)。 * 绕 ''y''-轴的主动旋转定义为: :<math> \mathcal{R}_y(\theta_y)= \begin{bmatrix} \cos{\theta_y} & 0 & \sin{\theta_y} \\ 0 & 1 & 0 \\ -\sin{\theta_y} & 0 & \cos{\theta_y} \end{bmatrix} =\exp\left(\theta_y \begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ -1 & 0 & 0 \end{bmatrix}\right) </math> 这里的 <math>\theta_y</math> 是 pitch 角,和右手螺旋的方向相反(在zx平面顺时针)。 * 绕 ''z''-轴的主动旋转定义为: :<math> \mathcal{R}_z(\theta_z)= \begin{bmatrix} \cos{\theta_z} & -\sin{\theta_z} & 0 \\ \sin{\theta_z} & \cos{\theta_z} & 0 \\ 0 & 0 & 1 \end{bmatrix} =\exp\left(\theta_z \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}\right) </math> 这里的 <math>\theta_z</math> 是 yaw 角,和右手螺旋的方向相反(在xy平面顺时针)。 [[File:Flight dynamics with text.png|right|325px]] 在[[飞行动力学]]中,roll, pitch 和 yaw 角通常分别采用符号 <math>\gamma</math>, <math>\alpha</math>, 和 <math>\beta</math>;但是为了避免混淆于[[欧拉角]]这里使用符号 <math>\theta_x</math>, <math>\theta_y</math> 和 <math>\theta_z</math>。 任何 3 维旋转矩阵 <math>\mathcal{M}\in\mathbb{R}^{3\times 3}</math> 都可以用这三个角 <math>\theta_x</math>, <math>\theta_y</math>, 和 <math>\theta_z</math> 来刻画,并且可以表示为 roll, pitch 和 yaw 矩阵的乘积。 :<math>\mathcal{M}</math> 是在 <math> \mathbb{R}^{3\times 3}\,</math> 中的旋转矩阵 <math>\Leftrightarrow\,\exist\,\theta_x,\theta_y,\theta_z\in[0\ldots\pi):\, \mathcal{M}=\mathcal{R}_z(\theta_z)\,\mathcal{R}_y(\theta_y)\,\mathcal{R}_x(\theta_x)</math> 在 <math>\mathbb{R}^3</math> 中所有旋转的集合,加上[[函数复合|复合]]运算形成了[[旋转群]] SO(3)。这里讨论的矩阵接着提供了这个群的[[群表示]]。更高维的情况可参见 [[Givens旋转]]。 === 角-轴表示和四元数表示 === {{main|轴角|四元数和空间旋转}} 在三维中,旋转可以通过单一的旋转角 <math>\theta</math> 和所围绕的[[单位向量]]方向 <math>\hat{\mathbf{v}} = (x,y,z)</math> 来定义。 :<math> \mathcal{M}(\hat{\mathbf{v}},\theta) = \begin{bmatrix} \cos \theta + (1 - \cos \theta) x^2 & (1 - \cos \theta) x y - (\sin \theta) z & (1 - \cos \theta) x z + (\sin \theta) y \\ (1 - \cos \theta) y x + (\sin \theta) z & \cos \theta + (1 - \cos \theta) y^2 & (1 - \cos \theta) y z - (\sin \theta) x \\ (1 - \cos \theta) z x - (\sin \theta) y & (1 - \cos \theta) z y + (\sin \theta) x & \cos \theta + (1 - \cos \theta) z^2 \end{bmatrix} </math> 这个旋转可以简单的以生成元来表达: :<math> \mathcal{M}(\hat{\mathbf{v}},\theta) = \exp\left( \theta\begin{bmatrix} 0 & -z & y \\ z & 0 & -x \\ -y & x & 0 \\ \end{bmatrix}\right) </math> 在运算于向量 '''r''' 上的时候,这等价于[[Rodrigues旋转公式]]: :<math>\mathcal{M} \cdot \mathbf{r} = \mathbf{r} \,\cos(\theta)+\hat{\mathbf{v}}\times \mathbf{r}\, \sin(\theta)+(\hat{\mathbf{v}}\cdot\mathbf{r})\hat{\mathbf{v}}(1-\cos(\theta))</math> 角-轴表示密切关联于[[四元数和空间旋转|四元数]]表示。依据轴和角,四元数可以给出为正规化四元数 ''Q'': :<math> Q=(xi+yj+zk)\sin(\theta/2)+\cos(\theta/2)\, </math> 这里的 ''i'', ''j'' 和 ''k'' 是 ''Q'' 的三个虚部。 === 欧拉角表示 === {{main|欧拉角}} 在三维空间中,旋转可以通过三个[[欧拉角]] <math>(\alpha,\beta,\gamma)</math> 来定义。有一些可能的欧拉角定义,每个都可以依据 roll, pitch 和 yaw 的复合来表达。依据 "x-y-z" 欧拉角,在右手[[笛卡尔坐标]]中的旋转矩阵可表达为: :<math> \mathcal{M}(\alpha,\beta,\gamma)=\mathcal{R}_z(\gamma)\mathcal{R}_y(\beta) \mathcal{R}_x(\alpha)</math> 进行乘法运算生成: :<math> \begin{align} \mathcal{M}(\alpha,\beta,\gamma) &= \begin{bmatrix} \cos \gamma & -\sin \gamma & 0 \\ \sin \gamma & \cos \gamma & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \cos \beta & 0 & \sin \beta \\ 0 & 1 & 0 \\ -\sin \beta & 0 & \cos \beta \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos \alpha & -\sin \alpha \\ 0 & \sin \alpha & \cos \alpha \end{bmatrix} \\ &= \begin{bmatrix} \cos \gamma \cos \beta & -\sin \gamma & \cos \gamma \sin \beta \\ \sin \gamma \cos \beta & \cos \gamma & \sin \gamma \sin \beta \\ -\sin \beta & 0 & \cos \beta \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos \alpha & -\sin \alpha \\ 0 & \sin \alpha & \cos \alpha \end{bmatrix} \\ &= \begin{bmatrix} \cos \gamma \cos \beta & -\sin \gamma \cos \alpha + \cos \gamma \sin \beta \sin \alpha & \sin \gamma \sin \alpha + \cos \gamma \sin \beta \cos \alpha \\ \sin \gamma \cos \beta & \cos \gamma \cos \alpha + \sin \gamma \sin \beta \sin \alpha & -\cos \gamma \sin \alpha + \sin \gamma \sin \beta \cos \alpha \\ -\sin \beta & \cos \beta \sin \alpha & \cos \beta \cos \alpha \end{bmatrix} \end{align}</math> === 对称保持 [[奇异值分解|SVD]] 表示 === 对旋转轴 <math>q</math> 和旋转角 <math>\theta</math>,旋转矩阵 :<math> \mathcal{M} = qq^T+QGQ^T</math> 这里的 <math>Q=\begin{bmatrix}q_1, & q_2\end{bmatrix}</math> 的纵列张开正交于 <math>q</math> 的空间而 <math>G</math> 是 <math>\theta</math> 度 Givens 旋转,就是说 :<math> G = \begin{bmatrix} \cos\theta & \sin\theta\\ -\sin\theta & \cos\theta \end{bmatrix}</math> ==参见== * [[坐标旋转]] * [[旋转表示]] * [[等距同构]] * [[正交矩阵]] * [[Rodrigues旋转公式]] * [[旋转]] * [[旋转群]] ==外部链接== *[http://mathworld.wolfram.com/RotationMatrix.html Rotation matrices at Mathworld] {{Wayback|url=http://mathworld.wolfram.com/RotationMatrix.html |date=20210118154423 }} [[Category:矩阵|X]]
该页面使用的模板:
Template:Lang-en
(
查看源代码
)
Template:Main
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
旋转矩阵
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息