Basics > Structure > Recursion
final int maxLivello=7;
int x, y;
int raggio;
void setup()
{
size(500, 500);
background(255);
colorMode(RGB, 1);
noStroke();
smooth();
ellipseMode(RADIUS);
x=width/2;
y=height/2;
raggio=width/2-2;
noLoop();
}
void draw()
{
disegnaCerchio(x, raggio, maxLivello);
}
void disegnaCerchio(int x, int raggio, int livello)
{
float tono=livello/10.0;
fill(0.0, tono, tono);
ellipse(x, y, raggio, raggio);
if(livello > 1)
{
raggio=raggio/2;
livello--;
disegnaCerchio(x-raggio, raggio, livello);
disegnaCerchio(x+raggio, raggio, livello);
}
}