現在、実際の物理シミュレーションを使用する必要がある 2D プール ゲームを作成しています。これまで円衝突と弾性衝突を行ってきましたが、ボールが別の場所で衝突したときに異なる衝突応答速度を求める式が欲しいです。よろしくお願いします。
2 に答える
多くのアプローチがありますが、ボールを少しオーバーラップさせる(つまり、ボールの一部を他のボールに「入れる」)ことができる場合は、それをスプリングダンパーシステムに変えてフックの法則で解くことができます。
フックの法則はあなたに力を与えるので、勢いを見つけるためにそれを統合する必要があります。運動量を質量で割ったものが、探している速度です。
ゲーム開発のための春の物理学のこの優れたイントロを見てください(数値積分に関する彼のイントロへのリンクもあります)。
編集:実用的な解決策を探しているなら、Box2D物理エンジンをお勧めします。
プールの衝突は、ボード全体の弾性衝突と見なすことができ、摩擦によって動きが遅くなります。
円に対する角度の観点から衝突応答を考えないでください。ベクトルを使用すると、問題が緩和されます。
円と円の衝突速度応答は簡単です。 1. 衝突が検出されたとき 2. 他のボールに向かって作用するボールの通常の速度を求めます。3. 2 つのボールの法線速度を交換します。 4. x 方向と y 方向の速度を分解します。
ベクトルに関して速度応答を見つけるのに非常に役立つ Web サイト: http://archive.ncsa.illinois.edu/Classes/MATH198/townsend/math.html