美文网首页
旋转平移

旋转平移

作者: VaultHunter | 来源:发表于2020-11-27 11:20 被阅读0次

二维旋转

二维
\left\{\begin{matrix} x=r\cos \phi \\ y=r\sin \phi \end{matrix}\right.

\left\{\begin{matrix} x'=r\cos (\phi+\theta) \\ x'=r\sin (\phi+\theta) \end{matrix}\right.

三角函数展开:

\left\{\begin{matrix} x′=r\cos(\theta)\cos(\phi)−r\sin(\theta)\sin(\phi)\\ y′=r\sin(\theta)\cos(\phi)+y\cos(\theta)\sin(\phi) \end{matrix}\right.

带入xy公式:

\left\{\begin{matrix} x′=x\cos(\theta)−y\sin(\theta)\\ y′=x\sin(\theta)+y\cos(\theta) \end{matrix}\right.

转为矩阵形式:

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

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

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

三维旋转(齐次坐标下)

三维坐标系定义
绕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中点乘结果为标量 叉乘结果为矢量 外积结果是矩阵

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

设两个单位正交基,\begin{bmatrix} e_1,e_2,e_3\end{bmatrix}\begin{bmatrix} e_1^,,e_2^,,e_3^,\end{bmatrix}e_i为3x1列向量。

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

对于同一个向量a=[a_1,a_2,a_3]^T
\begin{bmatrix}e_1,e_2,e_3\end{bmatrix} \begin{bmatrix} a_1\\ a_2\\ a_3 \end{bmatrix} = \begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix} \begin{bmatrix} a_1^,\\ a_2^,\\ a_3^, \end{bmatrix}
将坐标系e旋转为坐标系e^,,需将上式左边乘以\begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix}^{-1}.

单位正交矩阵,单位正交矩阵的性质其逆矩阵等于其转置矩阵:\begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix}^{-1} = \begin{bmatrix}e_1^,,e_2^,,e_3^,\end{bmatrix}^{T}

得到如下公式:
\begin{bmatrix} a_1^,\\ a_2^,\\ a_3^, \end{bmatrix} = \begin{bmatrix}e_1^{,T}\\e_2^{,T}\\e_3^{,T}\end{bmatrix} \begin{bmatrix}e_1,e_2,e_3\end{bmatrix} \begin{bmatrix} a_1\\ a_2\\ a_3 \end{bmatrix}
展开
\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= \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}

其中R为旋转矩阵,加上平移向量t改为齐次坐标
\begin{bmatrix} a^,\\ 1 \end{bmatrix} = \begin{bmatrix} R & t\\ 0^T &1 \end{bmatrix} \begin{bmatrix} a\\ 1 \end{bmatrix}

参考资料

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

以相机坐标系旋转为例
相机坐标系a满足以下条件:
a=\begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix}
可得:
a^,=Ra\ a^,=R
即若能求得目标坐标系在原坐标系下的定义矩阵,则旋转矩阵R即为a^,坐标系的描述,该矩阵每个列向量即为坐标轴x,y,z的分量
R_1^{T} R_2^{T} R_3^{T}

旋转矩阵的性质及理解

相关文章

  • 晶体学笔记15:晶体的微观对称性-操作和轴

    微观对称操作有平移、旋转-平移、反映-平移,他们相应的对称元素是平移轴、螺旋轴和滑移面。 平移操作和平移轴 旋转-...

  • transform

    平移,伸缩,旋转,倾斜 translateX:x轴平移 scaleX:伸缩 rotateX:旋转 skewX :倾斜

  • 旋转平移

    二维旋转 三角函数展开: 带入xy公式: 转为矩阵形式: 二维绕点旋转,旋转矩阵对角记忆 加入平移引入齐次坐标: ...

  • 基本变换矩阵

    1 平移变换 平移矩阵 T 平移后的新点 2 旋转矩阵 旋转矩阵用、、 分别表示 对一个绕任意轴旋转角度的旋转矩阵...

  • 矩阵变换

    摘自:旋转变换(一)旋转矩阵 平移矩阵 tx表示:在x轴方向上平移距离ty表示:在y轴方向上的平移距离 旋转矩阵 ...

  • 02.1--transform(形变)

    一、平移+旋转+缩放

  • CGAffineTransform使用

    平移、缩放、旋转、组合

  • UIView的transform属性

    transform属性作用:给我们的控件做一些形变,(平移,缩放,旋转) 平移 缩放 旋转 计算方式 transf...

  • 第三讲 三维空间的刚体运动

    三维刚体运动,由平移和旋转构成。平移简单,旋转就麻烦些了。这一章的重点就是描述旋转,设计核心概念为:旋转矩阵,变换...

  • OpenGL(五)-矩阵变换

    关键函数讲解 平移 旋转 缩放 案例1 : 利用矩阵的平移、旋转、综合变化等, 实现矩阵的移动. 效果图: 注: ...

网友评论

      本文标题:旋转平移

      本文链接:https://www.haomeiwen.com/subject/syitwktx.html