Bruno Becker: Arbol recursividad

De Casiopea
Arbol



TítuloArbol
AsignaturaTaller Inicial Común 1ª y 2ª Etapa,
Del CursoImagen Escrita,
Alumno(s)Bruno Becker
ProfesorHerbert Spencer
Arbol con recursividad.jpg

void setup() {
  size(800,700);
  smooth();
  background(#AFAFAC);
}


void drawTree(float x, float y, float big, int levels) {
  pushMatrix();
  {
    translate(x, y);
    line(0, -big/2, -big/2, -big); // brazo izquierdo
    strokeWeight(4);
    line(0, -big/2, big/2, -big);  // brazo derecho
    strokeWeight(4);
    line(0, 0, 0, -big/2);         // tronco

    if (levels > 0) {
      stroke(215, random(170,220), 0);                            //color hojas
      drawTree(-big/2, -big, big*(random(.5, 1)), levels - 1); // Y izquierda
      drawTree(big/2, -big, big*(random(.5, 1)), levels - 1);  // Y derecha
      stroke(93, random(50, 93), 0);                           // color ramas

    }
  }
  popMatrix();
}
void drawTronco(float x, float y, float x1, float y2) {     // Linea para el tronco
  strokeWeight(7);
  {
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
    stroke(215, random(170,220), 0);
    ellipse(mouseX+(random(-200,+200)), mouseY, random(-40,+26), random(+2,-2));
 
    
    stroke(#645600);
    line(x, y, x1, y2);
 
  }
}

void draw() {
}

void mouseReleased() {
  drawTree(mouseX, mouseY, 100, round(9));            //hace la recursiva
  drawTronco(mouseX, mouseY, mouseX, mouseY-90);      // Dibuja la linea del tronco
saveFrame("arbol_con_recursividad.jpg");
}