三维旋转矩阵

                     

贡献者: half-tree; addis

  • 本文处于草稿阶段。
  • 本文缺少预备知识,初学者可能会遇到困难。
预备知识 平面旋转矩阵,自由度

   类比平面旋转矩阵,空间旋转矩阵是三维直角坐标的旋转变换,所以应该是 3×3 的方阵。不同的是平面旋转变换只有一个自由度 θ,而空间旋转变换除了转过的角度还需要考虑转轴的方向,三维空间中的方向有两个自由度,所有三维旋转矩阵共有 3 个自由度。

   若已经知道空间直角坐标系中三个单位正交矢量

(1)x^=(100) ,y^=(010) ,z^=(001) .
经过三维旋转矩阵变换以后变为另外三个正交归一矢量。仍然以 x^,y^,z^ 作为基底,把他们分别记为
(2)(a11a21a31) ,(a12a22a32) ,(a13a23a33) .
类比平面旋转矩阵,可以得到旋转矩阵为
(3)R3=(a11a12a13a21a22a23a31a32a33) .
这 9 个矩阵元只有 3 个是独立的,因为我们有 6 个条件:每个列矢量模长等于 1(3 个等式),且两两间正交(3 个等式)。

   除了通过三个单位矢量构建旋转矩阵,我们可以通过由转轴的方向和旋转的角度来计算每个矩阵元,参考 “罗德里格旋转公式” 和 “四元数”。另一种常见的方法是使用欧拉角

例 1 分别给出绕 x,y,z 轴旋转的三维矩阵。

图
图 1:旋转矩阵

   出于转轴已经固定为某一条坐标轴,所以仅需要一个参量 θ 就可以确定旋转后的矩阵状态。

   以绕 x 轴旋转的三维矩阵为例,由上图可以发现,基底 x^ 在转轴上,不做变换;而 y^z^ 垂直于转轴,故其方向发生变化。

   设由 y 轴正方向向 z 轴负方向转动为正向转动,转动角为 θ,我们可以知道,原基底 y^=(010) 将转变为 y^=(0cosθsinθ)。同理,原基底 z^=(001) 将在转动中转变为 z^=(0sinθcosθ)

   综上所述,结合转换后的基底结果,我们知道描述以 y 轴正方向向 z 轴负方向转动为正向转动,绕 x 轴旋转的三维矩阵可以表示为

(4)Mx=(1000cosθsinθ0sinθcosθ) .

   同样的,绕 y 轴或者绕 z 轴旋转的矩阵也可以用类似的办法推出,我们也可以得到相应的矩阵为

(5)My=(cosθ0sinθ010sinθ0cosθ) .
(6)Mz=(cosθsinθ0sinθcosθ0001) .

1. 被动理解

   结合 平面旋转矩阵 中关于二维的旋转矩阵的知识,我们可以发现对二维平面做旋转相当于对当前的基做 式 1 的矩阵变换。

   现在,让我们观察二维旋转矩阵的表达式

(7)(xy)=(cosθsinθsinθcosθ)(xy) .

   对于矩阵的行空间,定义 ux=(cosθsinθ),uy=(sinθcosθ).

   则我们可以发现变换后的新基底实际上是旋转矩阵的行空间向量与原基底的内积,如下所示

(8)x=ux(xy) ;
(9)y=uy(xy) .

   相应地,这个规律可以推广到更高维度的情况,对于一个三维的旋转矩阵而言,变换后的新基底仍然是旋转矩阵的行空间向量与原基底的内积,以 式 3 为例,对于 (xyz)=R3(xyz),有以下表达式成立

(10)x=ux(xyz) ;y=uy(xyz) ;z=uz(xyz) .

   其中,ux=(a11a12a13),uy=(a21a22a23),uz=(a31a32a33).

   所以说,像这样的变换,可以用矩阵向量空间和原向量的内积来表示。进而我们想到:任何直角坐标的变换都可以用内积来完成。这也就是矩阵乘法定义的另一种解释。

  

未完成:参考 “平面旋转变换” 中的讲述

2. 逆矩阵

定理 1 正交矩阵的逆矩阵是它的转置矩阵

   证明如下:

   要证明对于一个正交矩阵 P 来说,有 P1=P 成立。那么可以等价于证明 PP=I

   设 P=(p1,p2)

  

未完成:如果我们把式 2 中的三个正交归一基底记为……


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利