// Newtonian particle import java.lang.Object; import java.awt.Rectangle; public class Particle extends Object { public double x, y, vx, vy, ax, ay; public Rectangle box; public Particle(Rectangle r, double ix, double iy, double ivx, double ivy, double iax, double iay) { x = ix; y = iy; vx = ivx; vy = ivy; ax = iax; ay = iay; box = r; } // update the particle by dt, do elastic collisions public void step(double dt) { double newx, newy; newx = x + vx * dt; if (newx < 0 || newx > box.x + box.width) vx = -vx; else x = newx; newy = y + vy * dt; if (newy < box.y || newy > (box.y + box.height)) vy = -vy; else y = newy; vx += ax * dt; vy += ay * dt; } }