/*https://editor.p5js.org/p5/sketches/Structure:_Recursion
*@name Recursion
*@description 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.
*/
function setup() {
createCanvas(720, 560);
noStroke();
noLoop();
}
function draw() {
drawCircle(width / 2, 280, 6);
}
function drawCircle(x, radius, level) {
const 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);
}
}