Andrea Leiva: Arbol recursividad

| Título | Andrea Leiva: Arbol recursividad |
|---|---|
| Tipo de Proyecto | Proyecto de Curso |
| Asignatura | Taller Inicial 1ª y 2ª Etapa, |
| Del Curso | Imagen Escrita, |
| Carreras | Arquitectura |
| Alumno(s) | Andrea Leiva |
| Profesor | Herbert 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
}