四元数和变换矩阵

告诉我,如果我错了。

我开始使用四元数。 使用旋转矩阵4 x 4(如OpenGL中所用),我可以计算将当前模型视图与旋转矩阵相乘的模型视图矩阵。 旋转矩阵来自四元数。

四元数是一个方向矢量(甚至没有标准化)和一个旋转角度。 结果旋转取决于方向矢量模块和四元数组件。

但为什么我应该使用四元数来代替欧拉轴/角度符号? 后者更容易可视化和管理...

我发现的所有信息都可以用这个美丽的文章合成:

http://en.wikipedia.org/wiki/Rotation_representation


文章解释了为什么使用四元数更好。

  • 比DCM表示更紧凑,不易受到舍入误差的影响
  • 四元数元素随着方向的变化而在R4中的单位球上连续变化(用S3表示),避免了不连续跳跃(固有的三维参数化),这通常被称为万向节锁。
  • 用四元数参数表达DCM不涉及三角函数
  • 使用四元数产品组合两个单独的旋转表示为四元数非常简单

  • 与欧拉角不同,四元数不会受到万向节锁定的影响。


    四元数通常用于计算简单 - 使用四元数时,执行诸如组合转换之类的事情会更容易(也更快)。 要引用您链接的维基百科页面,

    结合两个连续的旋转,每个旋转都由一个欧拉轴和角度表示,并不直接,并且实际上不满足矢量加法定律,这表明有限旋转根本不是真正的矢量。 最好使用方向余弦矩阵(DCM)或张量或四元数符号计算积,然后转换回欧拉轴和角。

    它们也不会遇到轴/角形式,万向节锁共同的问题。

    链接地址: http://www.djcxy.com/p/81787.html

    上一篇: Quaternions and Transform Matrices

    下一篇: Rotation angles from Quaternion