2013-02-15 54 views
1

目前,我正在做一個2D遊戲,游泳池我必須使用真實的物理模擬。到目前爲止,我已經完成了圓形碰撞和彈性碰撞,但是我想要一個能夠找到碰撞響應速度的公式,這種公式在預先感謝球不同點碰撞時會有所不同。如何找到圈碰撞響應

回答

3

有許多方法,但如果你能負擔得起,使球重疊的位(即,使球的一部分「進入」對方),你可以把它變成一個彈簧阻尼器系統和解決Hooke's law

由於胡克定律給你的力量,你需要整合它找到的勢頭。動量除以質量就是你正在尋找的速度。

看看this遊戲開發的春天物理學的優秀介紹(他也有一個介紹數值積分的鏈接)。

編輯:如果你正在尋找一個切實可行的解決辦法,我建議Box2D physics engine

+0

不,這不是什麼實際我的意思是,我想找到碰撞響應角度。 http://en.wikipedia.org/wiki/File:Elastischer_sto%C3%9F_2D.gif – user2028359 2013-02-15 05:38:53

+0

@ user2028359 - 那麼你應該改變你的問題,因爲它說**「碰撞響應速度」** – Aesthete 2013-02-15 05:41:51

+0

@ user2028359我相信通過這種方法,您還可以提取角度:它是物理引擎在碰撞過程中計算加速度的方向。如果您將加速度(或力)除以其標準,則您具有碰撞角的正弦和餘弦。有一個複雜因素,因爲碰撞期間加速度會發生變化(碰撞不是瞬時的)。還要注意,使用彈簧阻尼系統不需要直接計算角度(除非您希望它們適用於遊戲內邏輯)。 – darque 2013-02-15 06:26:10

-1

池碰撞可以被視爲整個板彈性碰撞,摩擦減慢其運動。

唐;噸認爲在垂直於圓表示的碰撞響應。使用載體將緩解這個問題。

圓圈碰撞速度響應很容易: 1.當檢測到碰撞時 2.找出朝向另一個球的球的法向速度。 3.交換兩個球 4之間的正常速度解決x和y方向的速度

一個非常有用的網站找到載體方面的速度響應:http://archive.ncsa.illinois.edu/Classes/MATH198/townsend/math.html