【发布时间】:2023-04-01 16:00:01
【问题描述】:
我正在计算 2 个四元数之间的四元数旋转。
我知道 Q1 = r x Q2,所以我认为 r = Q1 x Q2* (星号表示共轭)
然而,这似乎给了我我需要的相反的角度。
例如。如果 Q1 和 Q2 关闭 Pi/2,我将得到 -Pi/2 的四元数。我怎样才能得到我需要的正确角度?
示例: 我从前方向左看 45 度。我正在推动世界前进。相对于外观,我向右移动 45 度。在这种情况下,我需要 r 旋转 45 度。
提前谢谢你
【问题讨论】:
-
你的公式是正确的。您可能以错误的顺序应用四元数。
-
@Sneftel 四元数相乘的顺序似乎没有区别。我尝试改变哪一个是共轭的,但这根本不起作用。
-
您能否举例说明 Q1 和 Q2 没有产生您预期的结果?
-
四元数是 XNA 游戏中的世界空间和视图空间。我使用 q1 作为 (0,0,0,1) 和 q2 作为 (-.3761814, .2987422, .05993626, .8750133) 我得到的结果是 (.3761814, -.2987422, -.05993626, .8750133 ) 我正在共轭 q2。抱歉修改
-
这些结果是正确的。应用该结果,然后是 Q2,将产生 Q1。
标签: quaternions