/LSystems

Implementation of Lindenmayer Systems: emulates plant growth via a simple formal grammar.

Primary LanguageProcessingGNU General Public License v2.0GPL-2.0

Representación del Sauce llorón (Salix babylonica)

🏢 Universidad de Huelva (UHU)
📆 Curso 2019-2020
🎓 Realidad Virtual
:octocat: Ihar Myshkevich (@IgorMy)
:octocat: Víctor M. Rodríguez Navarro (@Narovik)

Dependencias

Introducción

En el presente repositorio se ha desarrollado una representación en Processing[1] del sauce llorón usando L-System[2].

Estructura del proyecto

El proyecto se ha dividido en 4 ficheros.

  • lsystems: fichero principal del proyecto que contiene los métodos draw() y setup()
  • class_LSystem: fichero que contiene todo el desarrollo del L-System
  • Tree: fichero que contiene los metodos que dibujan el árbol
  • Form_interface: fichero que contiene el método que genera la interfaz de UiBooster[3].

Interfaz de UiBooster

  • Iteraciones: número de iteraciones en la gramática de L-System.
  • Extension: longitud máxima de la rama.
  • Extension chaos: alteración randomizada de la longitud de la rama.
  • Ángulo: alteración de los ángulos del árbol (Experimental).
  • Población hojas: Número de hojas por rama.
  • Modelos propuestos: Reglas de producción propuestas.

Controles de la cámara

  • W : Acercar la cámara al modelo.
  • S : Alejar la cámara del modelo.
  • A : Girar la cámara a la izquierda.
  • D : Girar la cámara a la derecha.
  • R : Reiniciar la posición de la cámara.
  • : Mover la cámara hacia arriba.
  • : Mover la cámara hacia abajo.
  • : Mover la cámara hacia la izquirda.
  • : Mover la cámara hacia la derecha.

Simbolos de L-System

  • F : Dibujar una rama.
  • + : Rotar a la izquierda.
  • - : Rotar a la derecha.
  • [ : Inicio de una nueva Rama.
  • ] : Final de la rama

Referencias

  • Para la generación del L-System se ha usado como base el trabajo de They Did magazine[4].
  • Para la representacion de las ramas se han usado conos descritos en el artículo Drawing a Cylinder with Processing[5] de Jan Vantomme.
  • Para la interfaz se ha usado UiBooster de Milchreis[3].

Bibliografia

  1. Processing
  2. Definición de L-System
  3. UiBooster
  4. L-System de They Did magazine
  5. Drawing a Cylinder with Processing