私は基本的な衝突検出を学んでいます。
衝突検出に事後 (離散) メソッドを使用します。2D の 2 つの円、同じ質量、同じサイズの最も単純なケースを想定し、弾性衝突を想定し、x 軸上を移動し、互いに向かって移動していると想定します。
シミュレーションを 1 タイム ステップ進めました。
ここで円が衝突し、ある円が別の円に入ったとします。これは、それらの中心間の距離が 2*r (r は半径) より小さいことを確認することによって検出されます)。
標準方程式に従って速度が調整され、シミュレーションが 1 タイム ステップ進み、位置が調整されます。この場合、速度は方向を反転し、円は互いに遠ざかり始めます。
問題は、シミュレーションのタイム ステップが小さすぎるか、オブジェクトの動きが遅すぎる場合、2 つの円がまだ完全に互いに離れていないため、次のステップまでに 2 つの円が衝突したままになる可能性があることです。
したがって、次の時間ステップで、円が再び衝突していることがわかり、速度が再び調整されますが、今度は円が後方に反転するため、円は互いの円に戻り始めます。
次の時間ステップで、衝突が再び検出され、速度が調整され、円が互いの円から離れるようになります。
このプロセスが繰り返され、円は衝突したままになり、互いに完全に離れることができなくなります。
これは、事後法に関する既知の問題であると確信しています。このシナリオを解決する最善の方法は何ですか?