看了几个关于关键帧提取和关键帧插值的论文,有几篇讲到了四元数插值这个概念
关于欧拉角到四元数的转换,请看:刚体运动研究方法——欧拉角四元数
接下来介绍四元数的插值公式以及matlab实现
插值公式可以从论文论文理解——从运动捕获数据中提取关键帧中找到,在这里再写一遍
这里的 t 代表的是在夹角的哪一部分插值,从下图可以看出来,图中的ang=θ
话不多说,上代码(matlab实现):
网上摘取的,地方忘记了,并且经过了一个小小的修改
SlepInsert.m
function r= SlerpInsert(p,q,t)
%球面线性插值
%程序考虑了p、q点乘结果为负的情况
%返回的插值结果是r
w0