速度を変更したりインパルスを適用したりするのではなく、重なり合うボディ(現時点では円のみ)の位置を直接修正することで衝突を解決する単純な物理エンジンを持っています。速度は、影響がすでに解決された後、または統合部分の間にのみ変更されます。
オブジェクトのヒープで、上位のオブジェクトがヒープの下部にあるオブジェクトに過度の圧力をかけている(これは暗黙的に存在し、アルゴリズムには圧力モデリングがない)という問題がありました。等
オブジェクトをy座標で並べ替えることでこれを修正したかったので、衝突はボトムアップで解決されました。しかし今、エンジンは実際に静止しているはずのオブジェクトの奇妙な飛び出し動作を示しています(gifを参照)
ソースコードを提供するだけでなく、これは何でしょうか?