私は大きな円と大きな円の中にある約30個の小さな泡を持っています。小さな泡は大きな円から出ることはできず、小さな泡が別の泡と出会うと、反対方向に偏向します。
これは、2つの小さな円のたわみのコードです。
var xVelocityBubble1 = Math.random();
var yVelocityBubble1 = Math.random();
var xVelocityBubble2 = Math.random();
var yVelocityBubble2 = Math.random();
moveBubbles = function() {
xbubble1 += xVelocityBubble1;
ybubble1 += yVelocityBubble1;
xbubble2 -= xVelocityBubble2;
xbubble2 -= yVelocityBubble2;
if (Math.sqrt(Math.pow(xbubble1 - xbubble2, 2) + Math.pow(ybubble1 - ybubble2, 2)) < radius * 2) {
xVelocityBubble1 *= -1;
yVelocityBubble1 *= -1;
xVelocityBubble2 *= -1;
yVelocityBubble2 *= -1;
}
}
さて、ここに問題があります。この写真でわかるように、時々私の泡が衝突しているのですが、その理由はわかりません。1つのサークルがクラッシュするまではすべて正常に機能し、その後突然、ますます多くのバブルが戦争に参加します。円375、240、330、410を見てください。最初は、これは異なる速度と関係があるのではないかと思いましたが、それは問題ではありませんでした。誰かアイデアはありますか?