四元数

四元数是比较复杂的,它是一个复数,由实部和虚部组成。

  • 复数的定义:


    Paste_Image.png

    Paste_Image.png

如果我们将平面上的x轴作为实轴,y轴作为虚轴。这样复数P就定义了一个p点,同时也定义了一个向量。

Paste_Image.png

如果我们将两个复数相乘。就可以把原来的向量旋转一定的角度得到一个新的向量 复数的乘法就是四元数旋转的本质。

Paste_Image.png
Paste_Image.png
  • 旋转以后:p'(2D)
Paste_Image.png

3D中的旋转如何用四元数表示呢?

这时我们的四元数就需要三个虚部和一个实部。这就是真正的四元数。

Paste_Image.png

3D空间中绕任意方向的旋转轴(n),旋转的角度为θ进行旋转就可以用以下四元数表示:

Paste_Image.png
Paste_Image.png
  • 旋转公式:


    Paste_Image.png

四元数的计算法则。

四元数作为复数,就会遵循复数的计算法则:
  负四元数:

Paste_Image.png
  • 单位四元数(代表没有旋转,没有角位移)
Paste_Image.png
Paste_Image.png
Paste_Image.png
  • 四元数的模(同向量差不多):
Paste_Image.png

四元数的模的几何意义:将旋转公式代入其中n代表旋转轴用一个单位向量表示即可,单位向量的模就是1,化简之后四元数的模为1,这种模为1的四元数是3D数学中使用最多的(规范化四元数)

Paste_Image.png
  • 复数的共轭(将虚部值取反)
Paste_Image.png
  • 四元数的共轭(也将虚部值取反):
Paste_Image.png
  • 四元数的逆公式(由于我们3D中旋转都使用的是规范化四元数,所以它的模为1,这样四元数的逆就等于四元数的共轭):
Paste_Image.png
  • 四元数的共轭几何意义就代表绕着与之前相反的方向进行旋转。


    Paste_Image.png
  • 四元数的叉乘,叉乘之后得到一个新的四元数:

Paste_Image.png
  • 编程时使用变换过的叉乘公式。
Paste_Image.png
  • 四元数的叉乘不遵循交换律。
Paste_Image.png

四元数表示旋转:

3D中的一个点p(x,y,z)以四元数的方式表示出来,并将它使用四元数进行旋转。


Paste_Image.png
  • 四元数绕n轴旋转一个点p,θ度,旋转的公式:


    Paste_Image.png
Paste_Image.png
  • 四元数的“差”(实际上为四元数的除法)
    一个四元数a表示一个方位,另外一个四元数b表示另一个方位,从方位a旋转一定的角度d到了方位b。(可以通过四元素的除法获得两个方向旋转的角位移)
Paste_Image.png
  • 四元数的点乘(相当于向量的点乘):
Paste_Image.png
  • 四元数的对数:
Paste_Image.png
  • 四元数的指数:
Paste_Image.png
  • 四元数的标量乘:
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容