四元数在三维空间下的理解

废话不多说,直接上链接:https://eater.net/quaternions

这是一个可视化的四元数模型以及讲解,非常直观,不过还需稍加理解

推荐一个B站博主:3Blue1Brown(知道他的人都说好)



1.四元数需要解决的问题


首先我们需要知道四元数适用于计算机视觉、虚拟现实、量子物理等方面,因为四元数能够很方便地描述三维向量以及空间旋转,而且不存在问题。

那么其他方法会存在什么问题呢?

  • 旋转矩阵:使用9个量来描述3个自由度的旋转,具有冗余性
  • 欧拉角和旋转向量:虽然紧凑,但存在奇异性,即万向锁问题

2.四元数的旋转


四元数(Quaternion),是Hamilton找到的一种扩展复数,它既是紧凑的,也没有奇异性。


一个四元数 q拥有一个实部和三个虚部组成,即: q = q 0 + q 1 i + q 2 j + q 3 k q=q_0+q_1i+q_2j+q_3k q=q0+q1i+q2j+q3k
同时也可以使用一个标量S和一个向量V进行表示,即 q = [ S , V ] q=[ S ,V ] q=[S,V]

考虑到三维空间需要三个轴,所以我们采用四元数的三个虚部老表示空间中的一个点,然后通过实部与虚部的变化实现三维空间的旋转。


我们知道一个模长为一的复数可以表示复平面上的纯旋转(没有长度缩放),那么同理我们也可以使用单位四元数来表示三维空间中的任意一个旋转,但这种表达方式有着微妙的不同。首先我们得知道该四元数的形式,如下:

q = c o s ( θ / 2 ) + s i n ( θ / 2 ) ( q 1 i + q 2 j + q 3 k ) q=cos(\theta/2)+sin(\theta/2)(q_1i+q_2j+q_3k) q=cos(θ/2)+sin(θ/2)(q1i+q2j+q3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值