my variation

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);
}