ArrayList<Brush> brushes;
void setup() {
size(600,600);
background(255);
colorMode(HSB);
brushes = new ArrayList<Brush>();
}
void draw() {
for (Brush brush : brushes) {
brush.paint();
}
}
void mouseClicked() {
brushes.add(new Brush());
}
class Brush {
float angle;
int components[];
float x, y;
color clr;
Brush() {
angle = random(TWO_PI);
x = mouseX;
y = mouseY;
clr = color(random(255), 0, random(255), 5);
components = new int[4];
for (int i = 0; i < 4; i++) {
components[i] = int(random(1, 4));
}
}
void paint() {
float a = 0;
float r = 0;
float x1 = x;
float y1 = y;
float u = random(0.5, 1);
fill(clr);
noStroke();
ellipse(x, y, random(50,250), random(50,250));
if (x < 0 || x > width ||y < 0 || y > height) {
angle += HALF_PI;
}
x += 3 * cos(angle);
y += 3 * sin(angle);
angle += random(-0.15, 0.15);
}