Spherical linear interpolation for Quaternions (四元数的球面插值计算)

本文介绍了四元数的球面线性插值(Slerp)公式及其推导过程。通过分析几何关系,得出k0和k1的计算方法,从而求得目标向量vt。Slerp在保持角度不变的情况下进行插值,适用于旋转平滑过渡的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在pbrt中介绍四元数的时候,看到有介绍 四元数的 球面插值公式 的推导,在这里记录一下:


公式1 :



公式1推导:



如图,





目的就是为了求 vt,其实观察得到


vt = k0 * v0 + k1 * v1


看图得到, k0v0 对应的就是蓝色的那条边,k1v1 对应的就是红色的那条边。

注意,k1v1 与 v1 是平行的,v0,v1,vk都是单位向量


所以下面就是要求 k0,k1.


对于k1v1为斜边的直角三角形应用三角公式得:

那就是绿色的那条边(x)对应了2个三角形,根据三角形公式可以得到:


sin(tw) = x / vt


sin(w) =  x /  k1v1<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值