Mr.*_*Boy 20 math ogre3d quaternions
我在Ogre工作,但这是一个普遍的四元数问题.
我有一个对象,我最初应用了旋转四元数Q1.后来,我想让它好像我最初用不同的四元数Q2旋转对象.
如何计算将已经旋转了Q1的对象的四元数,并将其对齐,就像我所做的一样是将Q2应用于初始/默认方向?我当时正在寻找,但我不确定这是否仅适用于方向而非旋转?
小智 31
听起来你想要Q1乘以Q2的倒数.通过Q1的反转换将使对象旋转回其原始帧(初始方向,如您所说),然后通过Q2转换将其旋转到新方向.
请注意,四元数的标准定义以从右到左的乘法顺序应用变换,因此您需要将其计算为Q = Q2*Q1 ^ { - 1}.
fbl*_*fbl 22
这样想吧
QInitial * QTransition = QFinal
Run Code Online (Sandbox Code Playgroud)
通过将两边乘以QInitial ^ { - 1}(^ { - 1}是四元数共轭)来求解QTransition
QTransition = QFinal * QInitial^{-1}
Run Code Online (Sandbox Code Playgroud)
就这么简单.