四元数简介

图形学中的旋转主要分两种:欧拉旋转和轴角式旋转。

欧拉曾经证明过,任何旋转都可以表示为物体绕自身三轴的旋转。所以欧拉旋转就是物体以特定的顺序,依次绕自身的三轴进行的旋转。但是这种旋转在绕第二个轴旋转90°时会失去一个自由度,导致万向节锁的现象。

轴角式,顾名思义是绕某个特定轴旋转某个角度,通过四元数和Rodriguez公式都可以表示这一旋转过程。

复数可以表示为a+bi,其中i²=-1,而复数的相乘与矩阵相乘可以看做是等价的。四元数与复数相似但不是复数。四元数的定义a+bi+cj+dk,其中i²=j²=k²=ijk=-1。令向量V=(b,c,d),则四元数也可表示为[a,V]。四元数和矩阵一样,不满足乘法的交换律。

假设有两个四元数q1=[a,V],q2=[b,U],则两个四元数相乘的方法如下

对于一个向量V,将其表示为v=[0,V],令q=[cos(θ/2),sin(θ/2)U],其中U为旋转轴,θ为绕轴旋转的角度。则v'=qvq*,q*为q的共轭,v'就是V绕U轴旋转θ后的结果。

四元数的另一个优点是可以比较方便地进行插值,从而产生较为平滑的连续旋转。插值的方法有:Lerp,NLerp,Slerp.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值