Unity3D 四元数插值的实现

环境:Unity2018.3 语言:C#

 

总起:

本文主要参考《3D数学基础:图形与游戏开发》。

 

理论:

幂:

首先我们来看q^1/2,这是说明我们只需要q的一半位移,旋转是由θ来表示的,所以需要将w转换为θ(arccos(θ))后就能对其进行幂运算了。

 

平滑插值Slerp:

从q1到q2之间的差值为dq=inv(q1)q2,那么如果只需要t份dq,则表示为dq^t=(inv(q1)q2)^t。

 

最终的公式为:slerp(q0, q1, t) = q0 (inv(q1)q2)^t。

 

因为四元数可以说成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值