9

我在我的游戏中使用四元数,我想知道当我有两个方向四元数时,我如何获得从第一个 q1 到第二个 q2 所需的旋转四元数。我是自学的,所以我的词汇表中可能缺少明显的解决方案。

在方程式中,当我从第一个旋转到另一个时,我正在做的事情如下:q2 = r * q1

然而,现在 r 是未知数。代数规则在这里也算吗?如果是这样的话,我最终会把一个四元数除以另一个,我在互联网上找不到很好的解释。

我正在使用一个名为 game maker 的程序

4

2 回答 2

12

为了用四元数“除”,您将其反转,使其成为相反的旋转。为了反转四元数,您可以取反w分量或 ( x , y , z ) 分量,但不能同时取反,因为这会使您得到与开始时相同的四元数(完全取反的四元数表示相同的旋转)。

然后,请记住四元数不是可交换的。所以:

q2 = r*q1
q2*q1' = r

其中q1'是倒置的四元数,它必须在 q2 的右侧相乘才能得到正确的结果。

于 2012-01-09T15:04:54.443 回答
7

你应该看看这个页面(euclideanspace),它对于自学和理解四元数真的很有趣。

在这里,您有四元数的算术,还有一个为您进行运算的计算器:

http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/arithmetic/index.htm

希望能帮助到你。

于 2012-01-10T16:15:43.803 回答