主要内容

quatinterp

两个四元数之间的四元数插值

描述

例子

= quatinterp (pf方法计算两个归一化四元数之间的四元数插值p而且通过区间分数f

p而且是函数计算四元数的两个极端。

航空航天工具箱使用使用标量优先约定定义的四元数。

例子

全部折叠

使用插值来计算两个四元数之间的四元数P =[1.0 0 1.0 0]而且Q =[-1.0 0 1.0 0]使用SLERP方法。本例使用quatnormalize函数首先将两个四元数归一化为pn而且qn

Pn = quatnormalize([1.0 0 1.0 0]) qn = quatnormalize([-1.0 0 1.0 0]) qi = quatinterp(Pn,qn,0.5,“slerp”
Pn = 0.7071 0 0.7071 0 qn = -0.7071 0 0.7071 0 qi = 0 0 1 0

输入参数

全部折叠

计算插值的第一个归一化四元数,指定为-by-4矩阵包含四元数。这个四元数必须是规范化的四元数。

数据类型:

用于计算插值的第二个归一化四元数,指定为-by-4矩阵包含四元数。这个四元数必须是规范化的四元数。

数据类型:

用于计算四元数插值的间隔分数,指定为-by-1矩阵包含分数(标量)。f取值范围为0 ~ 1。它表示要计算的四元数的中间旋转。

= (pnf),其中:

  • 如果f=0=p

  • 如果f之间的是0而且1=方法

  • 如果f=1=n

数据类型:

四元数插补法计算四元数插补。这些方法有不同的旋转速度,取决于间隔分数。有关区间分数的更多信息,请参见[1]

  • slerp

    四元数slerp。球面线性四元数插值方法。这种方法精度最高,但计算量也最大。

    年代 l e r p p h p p h h 0 1

  • 昆虫蜜

    四元数昆虫蜜。线性四元数插值方法。这种方法是最快的,但也是最不准确的。该方法并不总是生成规范化输出。

    l E R P p h p 1 h + h h 0 1

  • nlerp

    归一化四元数线性插值方法。

    r l E R P p h N l E R P p h r | r |

数据类型:字符

输出参数

全部折叠

四元数插值。

参考文献

[1]大坝,埃里克B,马丁科赫,马丁利霍尔姆。四元数、插值和动画哥本哈根大学,丹麦,København, 1998。

版本历史

在R2016a中引入