int n = 1000; int t; Particle[] particles = new Particle[n]; int hsb = 16; void setup() { colorMode(HSB, hsb); size(200,200); smooth(); for (int i=0; i < n; i++) { Particle p = new Particle(width/2, height/2, 1); particles[i] = p; } } void draw() { t += 1; float xm = 0; float ym = 0; for (int i=0; i < n; i++) { Particle p = particles[i]; p.move(); xm += p.x; ym += p.y; p.render(); } println(t + " " + xm/n + " " + ym/n); rectMode(CORNER); fill(hsb, hsb * 0.25); rect(0, 0, width, height); } class Particle { int x; int y; int d; Particle(int x_, int y_, int d_) { x = x_; y = y_; d = d_; } void move() { float r = random(1); if (r < 0.25) { x += d; } else if (r < 0.5) { x -= d; } else if (r < 0.75) { y += d; } else { y -= d; } } void render() { point(x, y); } }