Español   Ejemplos: Árboles.

Árboles con aspecto natural

Este programa utiliza características de árboles aleatorios para generar una serie de árboles de aspecto más natural.
Para ello, usa tres parámetros:
  1. Angulo, puede tomar 8 valores entre 24 y 80 grados. Determina el ángulo entre dos ramas y es el mismo para todo el árbol.
  2. ArbolAngulo toma 5 valores entre 1/4 y 3/4 del Angulo. Determina el ángulo de la siguiente rama a dibujar. Varía de una rama a otra.
  3. Long sólo tiene 3 valores posibles: 0.7, 0.75 o 0.8. Determina el acortamiento de las ramas siguientes, y varí de una rama a otra.
# Comando de Inicio: empezar
para empezar
  repite 99 [nuevo retrocede 160 bajalapiz arbol 80 espera 200]
fin

para nuevo
# Inicializamos pantalla, papel, tortuga, ...
  reponetodo pontamañopantalla [400 400]
  poncolorpapel negro poncolorlapiz verde subelapiz ocultatortuga
fin
para arbol :long
  si :long< 10 [yema alto] # Fin de recursion si long muy pequeña
  pongrosor :long/9 # Reduce grosor lapiz al menguar la rama
  poncolorlapiz arbolcol :long # color de rama depende de long
  hazlocal "angulo elige [24 32 40 48 56 64 72]
  hazlocal "arbolangulo :angulo*elige [0.25 0.375 0.5 0.625 0.75]
  avanza :long
  giraizquierda :arbolangulo
  arbol :long * elige [0.7 0.75 0.8] giraderecha :angulo
  arbol :long * elige [0.7 0.75 0.8] giraizquierda :angulo
  giraderecha :arbolangulo
  subelapiz retrocede :long bajalapiz # Volvemos a punto de partida
fin

para yema
  haz "micolorlapiz colorlapiz haz "mirumbo rumbo
  poncolorlapiz 6 ponrumbo 180
  avanza 5 retrocede 5 poncolorlapiz :micolorlapiz ponrumbo :mirumbo
fin

para arbolcol :long
  haz "green redondea 2.5*(100-:long) # color depende de long
  devuelve ( lista 255 :green 0 ) # rojo si vale 0 y amarillo para 255
fin
Probar este programa ahora

Procedimiento a ejecutar:
empezar