旋转矩阵是正交矩阵的一种特殊形式,用于描述二维平面上的旋转变换。
在二维空间中,旋转可以用一个单一的角 θ 定义。作为约定,正角表示逆时针旋转。把笛卡尔坐标的列向量关于原点逆时针旋转 θ 的矩阵是:
R(θ)=[cosθsinθ−sinθcosθ]=cosθ[1001]+sinθ[01−10]=exp(θ[01−10])
二维旋转矩阵有一对共轭复特征值, 没有实特征值
λ1=eiθ,λ2=e−iθ
det(R(θ)−λI)=0
det(cosθ−λsinθ−sinθcosθ−λ)=0
(cosθ−λ)2+sin2θ=0
cos2θ−2λcosθ+λ2+sin2θ=0
λ2−2λcosθ+1=0
使用求根公式,得到:
λ=cosθ±isinθ
因此,特征值为:
λ1=eiθ,λ2=e−iθ
这两个特征值都是复数,且它们是共轭复数。
在三维空间中,旋转矩阵有一个等于单位1的实特征值。旋转矩阵指定关于对应的特征向量的旋转(欧拉旋转定理)。如果旋转角是 θ,则旋转矩阵的另外两个(复数)特征值是 exp(iθ) 和 exp(−iθ)。从而得出三维旋转的迹数等于 1+2cos(θ),这可用来快速地计算任何三维旋转的旋转角。 三维旋转矩阵的生成元是三维斜对称矩阵。因为只需要三个实数来指定三维斜对称矩阵,得出只用三个实数就可以指定一个三维旋转矩阵。
生成旋转矩阵的一种简单方式是把它作为三个基本旋转的序列复合。关于右手笛卡尔坐标系的 x-, y- 和 z-轴的旋转分别叫做 roll, pitch 和 yaw 旋转。因为这些旋转被表达为关于一个轴的旋转,它们的生成元很容易表达。
Rx(θx)=1000cosθxsinθx0−sinθxcosθx=expθx1000010−10
这里的 θx 是 roll 角,和右手螺旋的方向相反(在 yz 平面顺时针)。
Ry(θy)=cosθy0−sinθy010sinθy0cosθy=expθy00−1010100
这里的 θy 是 pitch 角,和右手螺旋的方向相反(在 zx 平面顺时针)。
Rz(θz)=cosθzsinθz0−sinθzcosθz0001=expθz010−100001
这里的 θz 是 yaw 角,和右手螺旋的方向相反(在 xy 平面顺时针)。
旋转矩阵是正交矩阵, 因此具有正交矩阵的所有性质
- 逆矩阵:Q−1=QT
- 列向量正交:列向量彼此正交,且范数为1。
- 行向量正交:行向量彼此正交,且范数为1。
- 保距性:保留向量的长度和内积。
旋转矩阵在计算机图形学、[[机器人动力学]]、物理学和信号处理等领域有广泛应用。