2012-01-08 91 views
7

我在我的遊戲中使用四元數,我想知道,當我有兩個方向四元數時,我可以得到從第一個q1到第二個q2所需的旋轉四元數。 我是自學的,所以可能會有明顯的解決方案從我的詞彙中遺漏。當我有兩個方向四元數時,如何找到從一個四元數到另一個四元數所需的旋轉四元數?

在等式中,我在做什麼,當我從第一個到另一個旋轉如下: Q2 = R * Q1

然而,現在r是未知的。代數的規則也算在這裏嗎?如果是這樣的話,我最終會將四元數除以另一個,這在互聯網上我找不到一個好的解釋。

我使用了一個叫做Game Maker

+1

StackOverflow上的禮貌選擇答案,它將問題標記爲已回答,並獎勵提供最佳答案的人。 – 2015-05-13 15:30:19

回答

10

方案,以「分」與四元,你反其道而行,這樣它的反向旋轉。要反轉四元,你否定要麼W¯¯成分或(Xÿž)組件,但不能同時因爲這將讓你與你開始用相同的四元(全否定四元數表示相同的旋轉)。

然後,請記住,四元數是不可交換的。所以:

q2 = r*q1 
q2*q1' = r 

Q1'是倒置的四元數,而且必須在Q2的右側相乘得到正確的結果。

+0

哦,對,謝謝你的回答!我不知道反轉和結合四元數是一回事。這解決了一切! – Sindre 2012-01-10 19:10:12

+3

注意:共軛只與單位四元數(即長度爲1的四元數)的倒數相同。這裏沒有問題,因爲旋轉四元數是單位四元數,但我認爲指出這是一個特殊情況很重要。 – Medo42 2012-01-13 12:43:03