Purples and strokes

float radius, slices, slice;
float x, y;
float circles;
color[] cols = {#E4D9FF, #E2D6FF, #C6ADFF, #B899FF, #A985FF, #9B70FF, #8D5CFF, #7E47FF, #7033FF, #621FFF};
void setup() {
size(500, 500);
background(18, 0, 61);
slices = 6;
radius = 10;
circles = 20;
stroke(#ffffff);
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(x, 0, TWO_PI, 0, 4) % cols.length;
fill(cols[c]);
ellipse(x, y, 2*(j+1), 2*(j+1));
}
slices+= 4;
}
}