說這個問題的另一種方法:我如何找到長方體的長度,寬度和高度,因爲它的對角線長度和2個旋轉角度。如何計算給定兩個旋轉角度和速度的x,y,z速度?
這是一個3D遊戲,用戶可以改變向上/向下旋轉(向上和向下箭頭鍵),向左/向右旋轉(向左和向右箭頭鍵),物體可以加速和反向(Q和W) 。每幀,對象x,y,z根據當前速度和上/下和左/右旋轉進行更新。
說這個問題的另一種方法:我如何找到長方體的長度,寬度和高度,因爲它的對角線長度和2個旋轉角度。如何計算給定兩個旋轉角度和速度的x,y,z速度?
這是一個3D遊戲,用戶可以改變向上/向下旋轉(向上和向下箭頭鍵),向左/向右旋轉(向左和向右箭頭鍵),物體可以加速和反向(Q和W) 。每幀,對象x,y,z根據當前速度和上/下和左/右旋轉進行更新。
如果alpha
是左/右角度和beta
是向上/向下的角度,然後
v.x = speed * sin (alpha) * cos(beta)
v.y = speed * sin (beta)
v.z = speed * cos (alpha) * cos(beta)
假設,即沒有旋轉將返回方向(0,0,1)
我假定這個長方體是使用靜態參照系測量的,其中對角線始於原點並延伸到其他點。如果沒有,這個問題沒有確定的答案,因爲單獨的對角線長度不能確定某個任意長方體的寬度,高度和長度,因爲有無數個長方體可能具有相同的對角線。
這聽起來像您所使用的球座標系是什麼:http://en.wikipedia.org/wiki/Spherical_coordinate_system#Cartesian_coordinates
從文章:
x = r sin θ cos φ
y = r sin θ sin φ
z = r cos θ
r
是你的對角線長度。您必須根據您的旋轉角度確定θ
和φ
;它們可能不是適當的傾角和方位角。有關如何在球座標中定義這些角度的詳細信息,請參閱文章。
太棒了 - 聽起來和其他答案一樣。我會閱讀球座標系統以更好地理解它。謝謝 。 –
啊,就這樣。很高興它的工作! –
謝謝這麼多!完美的作品 –