Drawer

my variation

my variation - student project

import processing.pdf.*;
import java.util.Calendar;

color[] cols = {#2941CC, #6B81FF, #4DC5FF, #FFF0E6, #FF6630};

float x, y;
float circles;
float radius;
float slices, slice;
int cell_size;

void setup() {
size(600, 600);
beginRecord(PDF, "Output/" + timestamp() + ".pdf");
background(20, 50, 100);

slices = 6;
radius = 5;
circles = 20;
cell_size = 5;
noStroke();
noLoop();
}

void draw() {
for(float j = 0;j < circles; j++){
for(float i = 0;i < slices; i++){
slice = TWO_PI / slices;
float angle = i * slice;
x = width/2 + cos(angle) * radius * (j + 1);
y = height/2 + sin(angle) * radius * (j + 1);
int c = (int) map(y, 0, TWO_PI, 0, cols.length - 1) % cols.length;
stroke(cols[c]);

pushMatrix();
translate(x, y);
rotate(QUARTER_PI);
noFill();
ellipse(0, 0, 2*cell_size, cell_size);
popMatrix();
}
slices += 16;
cell_size += 10;
}

endRecord();
}

String timestamp() {
Calendar now = Calendar.getInstance();
return String.format("%1$ty%1$tm%1$td_%1$tH%1$tM%1$tS", now);
}