/** * Recursion. * * A demonstration of recursion, which means functions call themselves. * Notice how the drawCircle() function calls itself at the end of its block. * It continues to do this until the variable "level" is equal to 1. */ void setup() { size(640, 360); noStroke(); noLoop(); } void draw() { drawCircle(width/2, 280, 6); } void drawCircle(int x, int radius, int level) { float tt = 126 * level/4.0; fill(tt); ellipse(x, height/2, radius*2, radius*2); if(level > 1) { level = level - 1; drawCircle(x - radius/2, radius/2, level); drawCircle(x + radius/2, radius/2, level); } }