(es) El jardinero de Neruda
(eo) La ĝardenisto de NERUDA
http://dx.doi.org/10.13140/RG.2.2.34092.90243
Descripción artística:
Un jardín de plantas fractales rodeando un gran árbol cuadrado que representa una Ceiba.
Motivación:
El recuerdo de un capítulo nunca hecho del libro de Graficación por Computadora del autor... Sería un capítulo sobre fractales biológicos.
Descripción técnica:
Se han utilizado cuatro algoritmos recursivos determinísticos que dibujan “ramas que tienen ramas”. Uno de los algoritmos divide sus ramas en dos ramas, otro divide sus ramas en tres ramas, otro en cuatro y el último en cinco.
Cada árbol depende además de una posición, ángulos de las ramas divididas, tamaño, proporciones entre las ramas y sus ramas hijas, la cantidad de subdivisiones (niveles), posiciones relativas de los brotes de las ramas hijas y el color.
Archivos
Código (Logo - kturtle):
#!/usr/bin/env python # coding: utf-8 # Copyright 2015 Eduardo Adam Navas López # Este programa es Software Libre liberado bajo la licencia GNU GPLv3 o su versión más reciente: # http://www.gnu.org/licenses/gpl.html reset canvassize 8000, 8000 learn arbusto4 $xini, $yini, $ang1, $ang2, $largo, $factor, $nivel, $prop, $cr, $cg, $cb{ go (xi $xini), (yi $yini) pencolor $cr, $cg, $cb rama4 $ang1, $ang2, $largo, $factor, $nivel, $prop } learn rama4 $ang1, $ang2, $largo, $factor, $nivel, $prop{ if $nivel>0{ pendown forward $largo penup turnright $ang2 rama4 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop turnleft $ang2*2 rama4 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop turnright $ang2 backward $largo*$prop turnright $ang1 rama4 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop turnleft $ang1*2 rama4 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop turnright $ang1 backward $largo*(1-$prop) } } learn arbusto2 $xini, $yini, $ang1, $ang2, $largo, $factor, $nivel, $cr, $cg, $cb{ go (xi $xini), (yi $yini) pencolor $cr, $cg, $cb rama2 $ang1, $ang2, $largo, $factor, $nivel } learn rama2 $ang1, $ang2, $largo, $factor, $nivel{ if $nivel>0{ pendown forward $largo penup turnright $ang1 rama2 $ang1, $ang2, $largo*$factor, $factor, $nivel-1 turnleft $ang1 turnleft $ang2 rama2 $ang1, $ang2, $largo*$factor, $factor, $nivel-1 turnright $ang2 backward $largo } } learn arbusto5 $xini, $yini, $ang1, $ang2, $largo, $factor, $nivel, $prop1, $prop2, $cr, $cg, $cb{ go (xi $xini), (yi $yini) pencolor $cr, $cg, $cb rama5 $ang1, $ang2, $largo, $factor, $nivel, $prop1, $prop2 } learn rama5 $ang1, $ang2, $largo, $factor, $nivel, $prop1, $prop2{ if $nivel>0{ pendown forward $largo rama5 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop1, $prop2 penup backward $largo*$prop1 turnright $ang1 rama5 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop1, $prop2 turnleft $ang1 turnleft $ang2 rama5 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop1, $prop2 turnright $ang2 backward $largo*$prop2 turnright $ang1 rama5 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop1, $prop2 turnleft $ang1 turnleft $ang2 rama5 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop1, $prop2 turnright $ang2 backward $largo*(1-$prop1-$prop2) } } learn arbusto3 $xini, $yini, $ang1, $ang2, $largo, $factor, $nivel, $prop, $cr, $cg, $cb{ go (xi $xini), (yi $yini) pencolor $cr, $cg, $cb rama3 $ang1, $ang2, $largo, $factor, $nivel, $prop } learn rama3 $ang1, $ang2, $largo, $factor, $nivel, $prop{ if $nivel>0{ pendown forward $largo rama3 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop penup backward $largo*$prop turnright $ang1 rama3 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop turnleft $ang1 turnleft $ang2 rama3 $ang1, $ang2, $largo*$factor, $factor, $nivel-1, $prop turnright $ang2 backward $largo*(1-$prop) } } learn xi $x { return 250*$x+250 } learn yi $y { return 750*$y+1250 } penwidth 5 $tam = 500 ##Fila 1 arbusto5 1, 0, 20, 25, $tam, 0.6, 6, 0.2, 0.3, 124,166,41 arbusto2 4, 0, 20, 20, $tam, 0.6, 11, 0,130,0 arbusto4 7, 0, 35, 25, $tam, 0.6, 7, 0.3, 0,128,0 arbusto2 9, 0, 20, 10, $tam, 0.6, 11, 65,130,65 arbusto4 11, 0, 25, 15, $tam, 0.5, 6, 0.7, 0,80,0 arbusto4 13, 0, 35, 25, 5*$tam/4, 0.3, 6, 0.4, 20,130,20 arbusto3 15, 0, 10, 20, $tam, 0.6, 8, 0.4, 32,138,87 arbusto4 17, 0, 35, 25, 3*$tam/2, 0.4, 6, 0.6, 40,115,65 arbusto2 19, 0, 19, 11, $tam, 0.6, 10, 55,99,57 arbusto4 21, 0, 20, 5, $tam, 0.6, 6, 0.6, 56,112,56 arbusto2 24, 0, 15, 25, 4*$tam/5, 0.6, 10, 21,129,26 arbusto2 26, 0, 5, 15, 5*$tam/4, 0.4, 7, 101,153,46 arbusto2 28, 0, 60, 30, 4*$tam/5, 0.7, 14, 103,138,103 ##Fila 2 arbusto3 0, 1, 35, 18, $tam, 0.5, 8, 0.4, 87,138,32 arbusto2 2, 1, 30, 30, 3*$tam/5, 0.6, 10, 88,135,38 arbusto3 4, 1, 25, 15, $tam, 0.7, 9, 0.4, 111,168,50 arbusto5 7, 1, 25, 30, $tam, 0.6, 7, 0.3, 0.4, 123,152,91 arbusto4 10, 1, 40, 30, 3*$tam/4, 0.6, 7, 0.3, 45,75,13 arbusto3 12, 1, 20, 20, $tam, 0.6, 8, 0.4, 117,116,35 arbusto5 14, 1, 25, 30, $tam, 0.3, 5, 0.2, 0.3, 37,117,35 arbusto2 16, 1, 8, 30, $tam/2, 0.7, 11, 0,127,64 arbusto4 18, 1, 30, 15, $tam, 0.5, 6, 0.3, 96,127,32 arbusto3 20, 1, 19, 36, $tam, 0.5, 8, 0.4, 78,117,35 arbusto5 22, 1, 45, 30, $tam, 0.4, 6, 0.3, 0.4, 0,130,0 arbusto2 24, 1, 12, 23, $tam, 0.5, 8, 0,102,51 arbusto3 26, 1, 20, 20, $tam, 0.7, 9, 0.7, 65,130,65 arbusto4 29, 1, 23, 38, $tam, 0.5, 6, 0.5, 0,128,0 ##Fila 3 arbusto3 1, 2, 35, 25, $tam, 0.6, 8, 0.3, 124,166,41 arbusto4 4, 2, 20, 10, $tam, 0.6, 7, 0.3, 48,120,32 arbusto4 6, 2, 23, 28, $tam, 0.4, 6, 0.6, 20,130,20 arbusto4 9, 2, 30, 15, $tam, 0.6, 7, 0.3, 0,80,0 arbusto3 11, 2, 18, 21, $tam, 0.4, 7, 0.5, 40,115,65 arbusto4 13, 2, 41, 28, $tam/2, 0.6, 6, 0.3, 32,138,87 arbusto2 15, 2, 20, 27, 3*$tam/5, 0.7, 12, 55,99,57 arbusto3 17, 2, 20, 23, $tam, 0.65, 8, 0.4, 21,129,26 arbusto5 19, 2, 27, 31, 5*$tam/4, 0.4, 6, 0.2, 0.3, 83,108,83 arbusto3 21, 2, 13, 19, $tam, 0.6, 8, 0.4, 56,112,56 arbusto2 23, 2, 25, 13, $tam/2, 0.7, 11, 87,138,32 arbusto4 26, 2, 32, 39, $tam, 0.5, 7, 0.5, 123,152,91 arbusto3 29, 2, 22, 20, $tam, 0.6, 8, 0.4, 88,135,38 ##Fila 4 arbusto4 1, 3, 30, 40, $tam, 0.5, 7, 0.95, 101,153,46 arbusto2 3, 3, 16, 18, 4*$tam/5, 0.6, 10, 45,75,13 arbusto2 4, 3, 16, 8, 5*$tam/4, 0.4, 7, 78,117,35 arbusto2 6, 3, 15, 25, 4*$tam/5, 0.6, 10, 111,168,50 arbusto4 8, 3, 20, 10, $tam, 0.6, 7, 0.9, 48,120,32 arbusto2 10, 3, 22, 11, $tam/2, 0.6, 9, 37,117,35 arbusto3 12, 3, 10, 20, $tam, 0.6, 8, 0.4, 117,116,35 arbusto4 14, 3, 35, 25, $tam, 0.5, 7, 0.7, 124,166,41 arbusto4 16, 3, 35, 25, 5*$tam/4, 0.3, 6, 0.4, 0,102,51 arbusto4 18, 3, 25, 15, $tam, 0.5, 6, 0.7, 0,128,0 arbusto4 21, 3, 35, 25, $tam, 0.6, 7, 0.3, 20,130,20 arbusto2 24, 3, 20, 20, $tam, 0.6, 10, 65,130,65 arbusto5 26, 3, 25, 30,5*$tam/4, 0.45, 6, 0.4, 0.4, 0,127,64 arbusto5 28, 3, 20, 25, $tam, 0.6, 6, 0.2, 0.3, 0,130,0 arbusto4 30, 3, 65, 35, $tam, 0.3, 6, 0.4, 32,138,87 ##Fila 5 arbusto5 0, 4, 40, 30, $tam, 0.4, 6, 0.3, 0.4, 0,80,0 arbusto2 2, 4, 25, 15, $tam, 0.6, 10, 32,138,87 arbusto4 4, 4, 60, 21, $tam, 0.4, 6, 0.0, 40,115,65 arbusto4 6, 4, 10, 15, $tam, 0.4, 6, 0.9, 96,127,32 arbusto5 8, 4, 25, 30, $tam, 0.45, 6, 0.4, 0.4, 103,138,103 arbusto4 10, 4, 35, 25, $tam, 0.3, 6, 0.4, 87,138,32 arbusto2 12, 4, 10, 20, $tam, 0.6, 10, 21,129,26 arbusto4 14, 4, 20, 5, $tam, 0.6, 6, 0.8, 55,99,57 arbusto3 16, 4, 20, 10, $tam, 0.6, 7, 0.1, 88,135,38 arbusto2 18, 4, 30, 30, $tam, 0.4, 8, 123,152,91 arbusto3 20, 4, 32, 39, 5*$tam/4, 0.5, 8, 0.5, 56,112,56 arbusto4 22, 4, 23, 28, $tam, 0.4, 6, 0.6, 111,168,50 arbusto4 24, 4, 30, 15, $tam, 0.6, 7, 0.3, 101,153,46 arbusto3 27, 4, 38, 31, $tam, 0.4, 7, 0.1, 117,116,35 arbusto4 29, 4, 41, 28, $tam, 0.5, 7, 0.6, 37,117,35 ##Fila 6 arbusto4 1, 5, 30, 60, $tam, 0.45, 7, 0.0, 45,75,13 arbusto4 3, 5, 35, 25, $tam, 0.5, 7, 0.6, 78,117,35 arbusto3 5, 5, 10, 20, $tam, 0.6, 7, 0.1, 48,120,32 arbusto3 7, 5, 60, 60, $tam, 0.5, 8, 0.2, 0,127,64 arbusto3 9, 5, 34, 28, $tam, 0.4, 7, 0.6, 96,127,32 arbusto3 11, 5, 60, 60, $tam, 0.4, 7, 0.0, 0,102,51 arbusto3 19, 5, 31, 40, $tam, 0.4, 7, 0.6, 124,166,41 arbusto3 21, 5, 64, 55, $tam, 0.4, 7, 0.15, 0,130,0 arbusto3 23, 5, 38, 31, $tam, 0.5, 8, 0.6, 0,128,0 arbusto3 25, 5, 18, 35, 3*$tam/2, 0.5, 8, 0.4, 65,130,65 arbusto4 27, 5, 35, 25, 4*$tam/5, 0.6, 7, 0.6, 20,130,20 arbusto4 29, 5, 35, 70, $tam, 0.45, 7, 0.0, 0,80,0 ##Fila 7 arbusto2 0, 6, 30, 30, $tam, 0.4, 7, 40,115,65 arbusto4 2, 6, 85, 45, 3*$tam/2, 0.3, 6, 0.4, 32,138,87 arbusto3 4, 6, 80, 80, 3*$tam/4, 0.5, 8, 0.0, 21,129,26 arbusto5 6, 6, 45, 30, $tam, 0.4, 6, 0.3, 0.4, 55,99,57 arbusto2 8, 6, 58, 28, 4*$tam/5, 0.6, 12, 87,138,32 arbusto4 22, 6, 20, 10, $tam, 0.6, 7, 0.3, 103,138,103 arbusto2 24, 6, 30, 30, 3*$tam/5, 0.6, 10, 56,112,56 arbusto3 26, 6, 21, 11, 4*$tam/5, 0.6, 8, 0.1, 101,153,46 arbusto3 29, 6, 70, 70, $tam, 0.5, 8, 0.0, 88,135,38 ##Fila 8 arbusto4 0, 7, 23, 28, $tam, 0.4, 6, 0.6, 123,152,91 arbusto3 2, 7, 50, 50, $tam, 0.5, 8, 0.2, 45,75,13 arbusto3 5, 7, 10, 20, $tam, 0.6, 9, 0.4, 78,117,35 arbusto2 7, 7, 15, 25, 4*$tam/5, 0.6, 10, 111,168,50 arbusto3 24, 7, 10, 20, $tam, 0.6, 8, 0.4, 117,116,35 arbusto3 26, 7, 20, 23, $tam, 0.65, 9, 0.4, 37,117,35 arbusto5 28, 7, 25, 30, $tam, 0.3, 5, 0.2, 0.3, 96,127,32 arbusto4 30, 7, 35, 25, $tam, 0.5, 6, 0.7, 48,120,32 ##Fila 9 arbusto5 2, 9, 25, 30, 2*$tam, 0.5, 7, 0.4, 0.4, 0,127,64 arbusto2 6, 9, 20, 10, $tam/2, 0.9, 11, 0,102,51 arbusto5 12, 9, 48, 52, 3*$tam/2, 0.4, 7, 0.2, 0.5, 123,152,91 arbusto3 18, 9, 48, 52, $tam, 0.6, 10, 0.6, 45,75,13 arbusto2 24, 9, 15, 10, 2*$tam/5, 0.95, 11, 111,168,50 arbusto5 28, 9, 40, 30, 7*$tam/4, 0.5, 7, 0.3, 0.4, 64,127,64 ##Ceiba grande arbusto3 15, 9, 90, 90, 4*$tam, 0.5, 9, 0.0, 0,40,0
No hay comentarios:
Publicar un comentario