我正在學習基本碰撞檢測。如何使用後驗(離散)方法避免碰撞
使用後驗(離散)方法進行碰撞檢測。假設最簡單的情況是2D中的兩個圓,質量相同,大小相同,並假設彈性碰撞,並假設它們正在x軸上移動並朝向彼此移動。
現在先進一步模擬一次。
現在假設圓圈現在正在相撞,其中一個圓圈已經進入另一個圓圈。這是通過檢查它們的中心之間的距離小於2 * r來找到的,其中r是半徑)。
現在速度根據標準方程進行調整,並且模擬向前推進一個時間步並調整位置。在這種情況下,速度會翻轉方向,圓圈將開始遠離彼此。
問題是,如果模擬時間步長太小或者物體移動速度太慢,那麼可能兩個圓圈在下一步仍然會發生碰撞,因爲它們還沒有完全移出對方。
因此,在下一個時間步驟中,圓圈再次被發現碰撞,並且速度再次被調整,但是現在它們會向後翻轉,因此圓圈將開始移回彼此。
在下一個時間步驟中,再次檢測到碰撞,並調整速度,並且圓圈現在將彼此遠離。
重複此過程,圓圈將保持相互碰撞,無法完全離開對方。
我相信這是posteriori方法的一個已知問題。解決這種情況的最佳方法是什麼?