0004-JS-P5E-Recursion

 





function setup() {
  createCanvas(720560);
  noStroke();
  noLoop();
}

function draw() {
  inputParamsEllipse(3602806);
}

function inputParamsEllipse(xPos, radius, level) {

  const tt = (126 * level) / 4.0;
  fill(tt);

  ellipse(xPos, height / 2, radius * 2, radius * 2);


  if (level > 1) {

    level = level - 1;
    inputParamsEllipse(xPos - radius / 2, radius / 2, level);
    inputParamsEllipse(xPos + radius / 2, radius / 2, level);


    // xPos = 360; radius = 280;level=6

    // inputParamsEllipse(360 - 280 / 2, 280 / 2, 5); [xPos:220,radius:140]
    // inputParamsEllipse(360 + 280 / 2, 280 / 2, 5); [xPos:500,radius:140]



    // xPos = 220; radius = 140;level=5
    // xPos = 500; radius = 140;level=5


    // inputParamsEllipse(220 - 140 / 2, 140 / 2, 4); [xPos:150,radius:70]
    // inputParamsEllipse(220 + 140 / 2, 140 / 2, 4); [xPos:290,radius:70]

    // inputParamsEllipse(500 - 140 / 2, 140 / 2, 4); [xPos:430,radius:70]
    // inputParamsEllipse(500 + 140 / 2, 140 / 2, 4); [xPos:570,radius:70]




  }
}

Comments