我想在openGL C++中實現以下場景。假設有一個球在表面上移動,並且在四個方向上都有一條邊界線。當球擊中其中一條線時,它反射到一個方向。我的問題是,有沒有什麼方法可以找到或計算在哪個方向上,球擊中牆後會發生什麼?找到撞牆後球的方向
0
A
回答
1
-1
如果你不想改變速度,但只有目錄,那麼它很容易計算。你只需要根據水平或垂直速度分別是垂直還是水平邊界來切換方向。
假設您的水平和垂直速度分別爲vx, vy
。如果球擊中左邊界或右邊界然後vx = -vx
,如果球擊中頂部或底部邊界然後vy = -vy
。無論當前速度的方向如何,這都將起作用,即,球現在是左右移動還是上下移動並不重要。碰撞後它只會切換正確的方向。
+0
通過編程,這可能是最好的方法! – Cedric
相關問題
- 1. 動畫位圖球 - 撞牆並改變方向效果
- 2. 球對球碰撞後對象的速度和方向
- 3. XNA - 傍克隆 - 反思球時撞到牆?
- 4. 如何計算與牆壁相撞的球的座標?
- 5. 尋找2個球體的碰撞點
- 6. 檯球撞到彼此
- 7. 根據速度在碰撞基礎上更改球的方向
- 8. 如何修復彈球的運動方向並使其相撞
- 9. Cocos2d碰撞後改變方向
- 10. pygame sprite牆碰撞
- 11. 檢測牆碰撞
- 12. 球與方塊之間的碰撞
- 13. OpenGL。球碰撞
- 14. 球線碰撞
- 15. Javascript球碰撞
- 16. 爪哇:球與球碰撞
- 17. 球對球碰撞檢測
- 18. 如何讓兩個球碰撞並在相反方向偏轉?
- 19. wpf中兩個球的碰撞並得到碰撞球的路徑
- 20. 防靜電牆的碰撞
- 21. 球碰撞問題,只有一半的球碰撞
- 22. 球對球碰撞 - 在碰撞時獲得顯着的速度
- 23. 框與球碰撞
- 24. 球碰撞問題
- 25. Python的2D球的碰撞
- 26. 芹菜升級到3後臺球撞擊3
- 27. 防止NetLogo龜撞牆
- 28. Libgdx矩形牆碰撞
- 29. 彈跳球的碰撞
- 30. 球之間的碰撞
當然,你正在尋找'矢量反射'。看看這幾個鏈接:http://math.stackexchange.com/questions/13261/how-to-get-a-reflection-vector和http://www.3dkingdoms.com/weekly/weekly.php ?a = 2 - 請注意,這種方法允許您以任何方向將牆壁上的球彈出牆壁 - 而不僅僅是框的軸對齊牆的簡單情況。 – enhzflep