如何理解glm中四元数与向量相乘函数的写法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何理解glm中四元数与向量相乘函数的写法相关的知识,希望对你有一定的参考价值。

参考技术A Quaternion.Euler(x,y,z) 返回一个绕x轴旋转x度再绕y轴旋转y度再绕z轴旋转z度的Quaternion,因此Quaternion.Euler(0,90,0)返回一个绕y轴旋转90度的旋转操作.
Quaternion作用于Vector3的右乘操作(*)返回一个将向量做旋转操作后的向量.
因此Quaternion.Euler(0,90,0)*Vector3(0.0,0.0,-10)表示将向量Vector3(0.0,0.0,-10)做绕y轴90度旋转后的结果.因该等于Vector3(-10,0,0).

四元数运动学笔记旋转的雅克比矩阵

1.相对于旋转向量的雅克比

  • 这里在全局系下利用左扰动进行推导:
    aθ=Raθ

2.相对于四元数的雅克比

2.1相关公式

  • 三叉积公式:

  • 纯实部的四元数和四元数相乘,这里qw是实数
    [qw,03]Tq=qwq1q=qwq
  • 两个纯虚四元数相乘:

2.2推导雅克比

  • 由以上三个公式可以得到以下公式的推导,其中这里的w,v,a在涉及到四元数相乘的情况时,都是四元数的表示形式(纯实部四元数和纯虚部四元数),其他情况下则是正常的标量和三维向量。

  • 旋转过程相对于四元数的雅克比





以上是关于如何理解glm中四元数与向量相乘函数的写法的主要内容,如果未能解决你的问题,请参考以下文章

Unity四元数和向量相乘作用及其运算规则

eigen 中四元数欧拉角旋转矩阵旋转向量

使用 `glm::rotate` 和四元数向上旋转 3D 方向向量

四元数运动学笔记旋转的雅克比矩阵

四元数与轴+角度

四元数