我有一个保持物体旋转的四元数。在帧中我修改它并获得一个新的四元数。我可以计算一个从“上一帧”旋转到“当前帧”的四元数。
但是,我无法弄清楚如何“除以 t”这个四元数来获得我需要的每秒旋转。
即,基于时间步长,我需要知道如果四元数被应用到自身 X 次(即 28.5 fps 时 28.5 次等),四元数会是什么样子。
有人知道该怎么做吗?或者你会建议我做一些类似于转换为欧拉,乘以,然后转换回来的事情吗?
我有一个保持物体旋转的四元数。在帧中我修改它并获得一个新的四元数。我可以计算一个从“上一帧”旋转到“当前帧”的四元数。
但是,我无法弄清楚如何“除以 t”这个四元数来获得我需要的每秒旋转。
即,基于时间步长,我需要知道如果四元数被应用到自身 X 次(即 28.5 fps 时 28.5 次等),四元数会是什么样子。
有人知道该怎么做吗?或者你会建议我做一些类似于转换为欧拉,乘以,然后转换回来的事情吗?
由于组合旋转等效于四元数乘法,因此重复旋转 X 次等效于求幂:pow(q,X)=pow(q,1/t)
或exp(ln(q)*X)=exp(ln(q)/t)
。在这里查看如何计算这些。