旋转平移

二维旋转

二维

三角函数展开:

带入xy公式:

转为矩阵形式:

  • 二维绕点旋转,旋转矩阵对角记忆
加入平移引入齐次坐标:

三维旋转(齐次坐标下)

三维坐标系定义
绕X轴旋转

\begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0& 0\\ 0 & \cos(\theta) &-\sin(\theta) &0 \\ 0 & \sin(\theta) &\cos(\theta)&0\\ 0 & 0& 0&1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix}

绕Y轴旋转

\begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} = \begin{bmatrix} \sin(\theta) & 0 & \cos(\theta) &0\\ 0 &1 &0 &0\\ \cos(\theta) &0 &-\sin(\theta) &0\\ 0 & 0 & 0 &1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix}

绕Z轴旋转

\begin{bmatrix} x' \\ y' \\ z' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos(\theta) &-\sin(\theta) &0 &0 \\ \sin(\theta) &\cos(\theta) &0 &0 \\ 0 &0 &1 &0\\ 0& 0& 0& 1 \end{bmatrix} \ast \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix}

  • 右手坐标系,拇指为旋转轴方向,四指弯曲方向由源轴指向目标轴
  • 旋转矩阵中,源轴为cos -sin 目标轴为 sin cos
    参考

如何求旋转矩阵

知道源坐标系及目标坐标系在原坐标系下的定义即可求得旋转矩阵

点乘叉乘的定义
注意:numpy中点乘结果为标量 叉乘结果为矢量 外积结果是矩阵

在刚体运动中,同一个向量在各个坐标系下的长度和夹角不发生变换,这种变换称为欧式变换,由旋转和平移组成

设两个单位正交基,和,为3x1列向量。

即已知源坐标系和目标坐标系及向量在源坐标系的定义

对于同一个向量有

将坐标系旋转为坐标系,需将上式左边乘以.

单位正交矩阵,单位正交矩阵的性质其逆矩阵等于其转置矩阵:

得到如下公式:

展开
\begin{bmatrix} a_1^,\\ a_2^,\\ a_3^, \end{bmatrix} = \begin{bmatrix} e_1^{,T}e_1 & e_1^{,T}e_2 &e_1^{,T}e_2 \\ e_2^{,T}e_1 & e_2^{,T}e_2 &e_2^{,T}e_2 \\ e_3^{,T}e_1 & e_3^{,T}e_2 &e_3^{,T}e_2 \end{bmatrix} \begin{bmatrix} a_1\\ a_2\\ a_3 \end{bmatrix}

其中R为旋转矩阵,加上平移向量改为齐次坐标

参考资料

当仅知道原坐标系和目标坐标系时

以相机坐标系旋转为例
相机坐标系a满足以下条件:

可得:

即若能求得目标坐标系在原坐标系下的定义矩阵,则旋转矩阵即为坐标系的描述,该矩阵每个列向量即为坐标轴的分量

旋转矩阵的性质及理解

你可能感兴趣的:(旋转平移)