2012-06-25 71 views
1

這是一個非常基本的問題,但我無法在任何地方找到完整的答案。opengl android運動與給定速度

考慮一個物體以給定速度沿z軸移動。 (例如:-0.2 opengl單位) 現在我旋轉物體繞其本地軸旋轉X,Y和Z角度。

問題:我的對象的下一個位置是什麼?

我用下面的公式(我知道錯了,但我就是不能讓他們右)

positionX += -SPEED * Math.sin(rotationY * Utils.DEG)* Math.cos(rotationX * Utils.DEG); 
    positionY += SPEED * Math.sin(rotationX * Utils.DEG);  
    positionZ += -SPEED * Math.cos(rotationX * Utils.DEG)* Math.cos(rotationY * Utils.DEG); 

哪裏是我的錯?

回答

0

我會存儲一個表示對象方向的向量。

旋轉時,旋轉方向矢量。

當移動時,

positionX += SPEED * orientation.X 
positionY += SPEED * orientation.Y 
etc. 
+0

我也試圖與載體,但我在同樣的情況。與旋轉矩陣重疊時,我遇到了問題。所以我想任何解決方案都會很好,只要你會更詳細地解釋。 –

+0

@Mihaisiatat - 請發佈你的代碼向量旋轉,並解釋你有什麼問題。 – mbeckish