我在游戏中使用四元数,并且想知道当我有两个方向四元数时,如何获得从第一个q1到第二个q2所需的旋转四元数。
我是自学成才的,因此我的词汇表中可能缺少明显的解决方案。
在等式中,当我从第一个旋转到另一个时,我正在做的事情如下:
q2 = r * q1
但是,现在r是未知数。代数规则在这里也算在内吗?如果真是这样,我最终会把一个四元数除以另一个,这在互联网上找不到很好的解释。
我正在使用一个叫做Game Maker的程序
最佳答案
为了用四元数“划分”,您将其反转以使其与旋转相反。为了反转四元数,您可以否定 w 分量或(( x , y , z )分量),但不要同时取消这两个分量,因为那样会使您拥有以(a开头)相同的四元数否定的四元数表示相同的旋转)。
然后,请记住四元数不是可交换的。所以:
q2 = r*q1
q2*q1' = r
其中 q1'是倒四元数,必须在q2的右边相乘才能得到正确的结果。
关于quaternions - 当我有两个方向四元数时,如何找到从一个方向到另一个方向所需的旋转四元数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8781129/