2012-06-16 40 views
0

可能重複:
How to convert Euler angles to directional vector?如何3個角度轉換爲矢量

我使用OpenGL旋轉磚。磚塊模擬具有加速計的手機。我正在使用的初始向量是(0.0,0.0,-1.0)

glRotatef(angle.x, 1.0, 0.0, 0.0); 
glRotatef(angle.y, 0.0, 1.0, 0.0); 
glRotatef(angle.z, 0.0, 0.0, 1.0); 

如何從上面的角度獲取加速度計的矢量?

+0

我需要偏航俯仰和俯仰。第一個公式沒有滾動。此外,它下面的代碼是在矩陣中。我需要一個向量。 –

回答

0

難道你不需要將你的初始向量乘以你提到的3個矩陣嗎?只是複製OpenGL的方式。

這不會是最有效的,但是這會產生最終的向量。我錯過了什麼嗎?

+0

好吧,我得到它的工作。我嘗試在我的OpenGL紅皮書中使用旋轉矩陣,但沒有奏效。我嘗試了上面提到的矩陣代碼,它工作。我只是將矢量乘以XYZ旋轉公式的矩陣的第三列。一個有趣的事情是,我必須使用-M_PI而不是-1.0作爲起始向量。然後,我對它進行了歸一化處理,使其最小值爲-1.0,任何軸最大值爲1.0。 –