我在游戏中使用四元数,我想知道当我有两个方向四元数时,我可以得到从第一个q1到第二个q2所需的旋转四元数。 我是自学成才,因此我的词汇中可能缺少明显的解决方案。
在方程式中,当我从第一个旋转到另一个时,我正在做的事情如下: q2 = r * q1
然而,现在r是未知数。这里的代数规则也算吗?如果是这样的话,我最终会将四元数除以另一个,这是我在互联网上找不到的好解释。
我正在使用一个名为游戏制作者的程序
答案 0 :(得分:10)
为了用四元数“除”,你将它反转,使它成为相反的旋转。为了反转四元数,你否定 w 组件或( x , y , z )组件,但不是两个,因为这将使您开始使用相同的四元数(完全否定的四元数表示相同的旋转)。
然后,请记住四元数不是可交换的。所以:
q2 = r*q1
q2*q1' = r
q1'是反转的四元数,必须在q2的右侧乘以才能得到正确的结果。
答案 1 :(得分:5)
你应该看看这个page(欧几里得空间),这对自我教学和理解四元数非常有用。
在这里你有四元数的算术,还有一个计算器,可以为你做手术:
http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/arithmetic/index.htm
希望它有所帮助。