图形学基础 | 3D变换

几何变换详解
绕任意轴旋转

复习一下3D矩阵变换的相关知识.

平移变换

在这里插入图片描述

缩放变换

  • [sx,sy,sz]是缩放因子
    在这里插入图片描述

旋转变换

  • 这是三种变换中最复杂的变换
  • 绕X轴旋转
  • 绕Y轴旋转
  • 绕Z轴旋转

绕X轴旋转

在这里插入图片描述

绕Y轴旋转

在这里插入图片描述

绕Z轴旋转

在这里插入图片描述

绕任意轴旋转

方法1:

  1. 将旋转轴平移至原点
  2. 将旋转轴旋转至XOZ平面
  3. 将旋转轴旋转至于Z轴重合
  4. 绕Z轴旋转θ度
  5. 执行步骤3的逆过程
  6. 执行步骤2的逆过程
  7. 执行步骤1的逆过程

假设用v1(a1, b2, c2)和v2(a2, b2, c2)来表示旋转轴,θ表示旋转角度。为了方便推导,暂时使用右手系并使用列向量,待得出矩阵后转置一下即可.
在这里插入图片描述
步骤1是一个平移操作,将v1v2平移至原点,对应的矩阵为
在这里插入图片描述
步骤2是一个旋转操作,将p(p = v2 -v1)旋转至XOZ平面,步骤3也是一个旋转操作,将p旋转至与Z轴重合,这两个操作对应的图如下。
在这里插入图片描述
做点p在平面YOZ上的投影点q。再过q做Z轴垂线,则r是p绕X轴旋转所得,且旋转角度为α,且
在这里插入图片描述
在这里插入图片描述
于是旋转矩阵为
在这里插入图片描述
步骤三. 现在将r绕Y轴旋转至与Z轴重合,旋转的角度为-beta(方向为顺时针),且
在这里插入图片描述
在这里插入图片描述
于是得到旋转矩阵为
在这里插入图片描述
步骤4: 是绕Z轴旋转
在这里插入图片描述
如果旋转轴是过原点的,那么第一步和最后一步的平移操作可以省略,也就是把中间五个矩阵连乘起来,再转置一下,得到下面的绕任意轴旋转的矩阵
在这里插入图片描述

方法2: 罗德里格斯公式

视觉SLAM十四讲(一)——罗德里格斯转换公式推导

罗德里格斯公式(Rodriguez formula):
在这里插入图片描述

1.I是三阶单位向量;
2.k是旋转轴 theta是旋转角;

猜你喜欢

转载自blog.csdn.net/qjh5606/article/details/88914762