こんにちは、StackOverflowコミュニティ!私はサークルの衝突に関する問題に取り組んでいます。単純な言葉で言えば、すべての衝突は理想的な弾性です。ボールは対角線内を移動するだけです。だから、これはかなり簡単ですね。さて、以下に添付する私の現在のコードで何らかの理由で、ボールが衝突するのではなく、お互いに「スティック」します。私は何が起こっているのかというと、彼らは絶え間なく "速度を交換している"ということです。それで彼らは分かれないのですが、私は間違っているかもしれません。2D Circle-Circle Collision Strange Behavior
答えて
私は次の移動後に、それらの間の距離を予測し、現在の距離と比較することにより、それらが互いに離間又は向かって移動しているかどうかを確認するif dist <= (2 * radius)
後に別if
条件を追加し、[コードを削除します] 。私は(と私はそれを行うために、より広く使われている方法を考える)間の内積を計算するだろう...右
私はちょっと考えていますが、どうすれば実装できますか?例を書くのが気にならないならば:) – Micard
私の答えを更新しました。それがうまくいくことを願って... – Jefinthejam
あなたはカッコを右に持っていませんでしたが、はい、それは動作します、彼らはまだ少し重なりますが、私はそれを修正することができます!どうもありがとうございます! – Micard
Jefinthejamの答えの代わりに、すべての括弧を持って期待し
dist_next = sqrt(((x(i)+velocity_x(i)) - (x(j)+velocity_x(j))^2 + ((y(i)+velocity_y(i)) - (y(j)+velocity_y(j)))^2);
if dist_next < dist
...
end
2つの速度ベクトルとその符号を調べる。
負の値の場合、オブジェクトは互いに離れているので、衝突には安全に応答できません。 フレームごとに何回もテストを実行する必要がある場合、このドット積を計算することは、平方根よりも安価です。
- 1. Backbone Collection.fetch()strange behavior
- 2. C#SerialPort - Strange Behavior
- 3. IE11 innerHTML strange behavior
- 4. groovy replaceAll strange behavior
- 5. JQuery click()strange behavior
- 6. zoomToRect strange behavior
- 7. OpenFileDialog.FileFilter strange behavior
- 8. Python subprocess.Popen strange behavior
- 9. at command strange behavior
- 10. PyCharm - Python Strange behavior
- 11. Cheerio Map Strange Behavior
- 12. $ http.post strange behavior
- 13. jquery append strange behavior
- 14. UICollectionView autolayout strange behavior
- 15. jQuery document.ready strange behavior
- 16. CreateProcess blocking - strange behavior
- 17. Android - onDataChange()strange behavior
- 18. mvvmlight messenger strange behavior
- 19. CursorAdapter strange behavior
- 20. SqlDataSource strange behavior
- 21. Asynctask strange behavior
- 22. Laravel Auth strange behavior
- 23. std :: string s()strange behavior
- 24. webpack loader module.exports strange behavior
- 25. std :: string :: size()strange behavior
- 26. PostgreSQLシーケンスnextval()strange behavior
- 27. Google script hash_hmac()strange behavior
- 28. jQuery strange hoisting/initializing behavior
- 29. typescript 2.4.2 "or" strange behavior
- 30. Zend framework autoloader strange behavior
これはC++とどのように関連していますか? – kennytm
@kennytmとほとんど同じ構文ですが、なぜ最初のタグとしてそれを置くのか分かりません...私はそれを削除すると思います。 – Micard
速度を入れ替えるだけで、運動量基準フレームの中心で作業していない限り、非物理的な動きになります。 –