Bolas que reboten cuando se chocan: transfiriéndose toda la energia
float x1, y1, dx1, dy1;
float x2, y2, dx2, dy2;
float r = 30;
void setup() {
size(600, 400);
frameRate(500);
x1 = random(60,500);
y1 = random(60,300);
x2 = random(60,500);
y2 = random(60,300);
dx1 = random(-1,1);
dy1 = random(-1,1);
dx2 = random(-1,1);
dy2 = random(-1,1);
}
void draw() {
background(220);
ellipse(x1, y1, r*2, r*2);
ellipse(x2, y2, r*2, r*2);
x1 = x1 + dx1;
y1 = y1 + dy1;
x2 = x2 + dx2;
y2 = y2 + dy2;
if (x1-r < 0) {
dx1 = -1*dx1;
}
if (x1+r > width) {
dx1 = -1*dx1;
}
if (y1-r < 0) {
dy1 = -1*dy1;
}
if (y1+r > height) {
dy1 = -1*dy1;
}
if (x2-r < 0) {
dx2 = -1*dx2;
}
if (x2+r > width) {
dx2 = -1*dx2;
}
if (y2-r < 0) {
dy2 = -1*dy2;
}
if (y2+r > height) {
dy2 = -1*dy2;
}
float d = dist(x1, y1, x2, y2);
if (d <= r*2) {
float tx = dx1;
float ty = dy1;
dx1 = dx2;
dy1 = dy2;
dx2 = tx;
dy2 = ty;
}
}
Comentarios
Publicar un comentario