我已經得到了兩個移動圓圈相互反射的代碼,但是當兩個移動圓圈中的一個是靜態的並且不移動時,運動圓圈似乎繞着靜態圓圈運動。我怎樣才能解決這個問題?如何計算從另一個靜態圓彈起的圓的速度方向?
回答
如果你有一個圓圈反彈的代碼,你可以通過找到與圓圈之間的接觸點處的靜態圓相切的線並假裝移動的圓從牆上反彈來逼近它,沿着這條線運行。
這條線與兩個圓相切,不是嗎? – 2011-03-28 01:09:08
看來,這將是肯定的。我必須仔細檢查數學,確定。 – corsiKa 2011-03-28 01:11:15
我相當肯定,如果你知道任一圓上的影響點,你可以計算出它的正切值,並且對於任何圓都是相同的。也就是說,它們總是在它們的切線相等(或者是相反的)的點上碰撞? – Dunderklumpen 2011-03-28 01:26:11
文章2-Dimensional Elastic Collisions提供了一個矢量方法來解決這個問題。特別是,「碰撞速度的切向分量不會因碰撞而改變,因爲碰撞面沒有沿着切線的力,速度的法向分量經歷一維碰撞」,這節省了動量和動能。有一個Java實現here。
- 1. 計算一個圓
- 2. 從圓弧計算圓的大小?
- 3. 計算在一個圓圈
- 4. 圓圈複雜度如何計算?
- 5. Python - 在計算對象時移除另一個圓圈內的圓圈
- 6. 如何計算具有一定角度的圓上的位置?
- 7. 谷歌靜態地圖 - 畫一個圓
- 8. 如何使用KineticJS從一個圓圈創建箭頭到另一個圓圈?
- 9. 如何計算橢圓的周長
- 10. 如何計算3D圓的切線?
- 11. 如何計算圓弧值的總和
- 12. 沿着已知距離的已知圓的圓周計算經度和緯度
- 13. 計算一個圓形包裝?
- 14. SVG - 從中心起的刻度圓
- 15. 從圓上的點計算切線?
- 16. svg:如何在計算的線上設置一個圓?
- 17. 如何計算圓周上一個點的新座標?
- 18. 計算兩個圓上兩點之間的切線圓弧
- 19. 在Java中計算圓弧角度
- 20. 如何計算圓內徑向相反的點?
- 21. 使用圓圈計算指南針方向的標準差
- 22. 如何計算圓的高度與x軸
- 23. 如何計算「沿着」單位圓的弧度點
- 24. 如何向ListView添加一個圓
- 25. 算法來檢測靜止的圓形列表是否與另一個圓弧從起點到終點沿同一平面上的直線相交
- 26. 計算圓上一點的座標,沿圓的中心與另一點之間的一條直線?
- 27. 如何檢測可拖動的圓形與KineticJS重疊的另一個圓形?
- 28. 計算給定兩個向量的橢圓弧開始和結束角度
- 29. 繪製實心圓的快速算法?
- 30. 尋找一個圓圈是否在另一個圓圈內
我不認爲任何人都可以切實希望回答你,除非你提供更多的信息,足以使這個問題負責。 – 2011-03-28 01:05:03
你可以發佈你的代碼樣本嗎? – 2011-03-28 01:05:33
@Hovercraft如果你曾經寫過2D物理引擎,它其實很簡單。 :-) – corsiKa 2011-03-28 01:06:06