Andrea Leiva: Arbol recursividad

De Casiopea
La versión para imprimir ya no se admite y puede contener errores de representación. Actualiza los marcadores del navegador y utiliza en su lugar la función de impresión predeterminada del navegador.
Andrea Leiva: Arbol recursividad



TítuloAndrea Leiva: Arbol recursividad
Tipo de ProyectoProyecto de Curso
AsignaturaTaller Inicial 1ª y 2ª Etapa,
Del CursoImagen Escrita,
CarrerasArquitectura
Alumno(s)Andrea Leiva
ProfesorHerbert Spencer

void setup() {
  size(400, 600);
  smooth();
  background(#7AE07B);
}


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

    if (levels > 0) {
      stroke(0, random(50, 250), 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
      drawTree(0, -big*(random(.5, 1)), big*0.8, levels - 1 );     // rama central
    }
  }
  popMatrix();
}
void drawTronco(float x, float y, float x1, float y2) {     // Linea para el tronco
  strokeWeight(11);
  {
    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
}