四元数翻译

我正在写一个小游戏,我需要一些帮助,我的四元数

如果我有一个对象在旋转A(四元数)

我需要它在十步中旋转B(四元数),我将如何解决步骤变化?

对于正常的向量,我会做C =(B – A)/ 10然后每一步简单地把C加到我的位置上,以10步从A移到B。 我不相信这会适用于四元数,所以我该怎么做?

另外,从A到B可能会有无数的路线,所以我想计算一下最短的路线。

我确实发现这个http://wasted.nz/posts.php?topic=82629但是,如果这是正确的,那么你如何应用差异到当前的旋转? 而这个差异可以除以10来得到阶差?

如果有帮助,我正在使用C ++,DirectX 11和Bullet Physics

给定这个操作

q' = q.inverseQuaternion() * q2 

q'是一个四元数,从q2到q1。

对于步进部分,您应该searchLERPSLERP