Arbol recursivividad

De Casiopea


Arbol221111.JPG


TítuloÁrbol recursividad
Tipo de ProyectoProyecto de Taller
Palabras Claverecursividad, processing, prueba, dibujo
Período2011-2011
AsignaturaImagen Escrita
Del CursoImagen Escrita
CarrerasArquitectura
Alumno(s)Trajan Pirkovic
ProfesorHerbert Spencer
void setup() {
  size(400, 600);
  smooth();
  background(#022F6C);
  fill(#2C1001);
  rect(0, 400, 400, 300);
  noStroke();
  
}


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

    if (levels > 0) {
      stroke(255);                            //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(2);
  {
    stroke(#645600);
    line(x, y, x1, y2);
  }
}

void draw() {
}

void mouseReleased() {
  drawTree(mouseX, mouseY, 35, round(9));            //hace la recursiva
  drawTronco(mouseX, mouseY, mouseX, mouseY-90);      // Dibuja la linea del tronco
  
}