Información
Nota: Este proyecto está desarrollado sobre Ubuntu 18.04 en Google Chrome y un monitor con una resolución de 1920x1080p
El sistema de generación de árboles creado es un sistema paramétrico (dado que las producciones y axiomas de la
gramática presentan parámetros) en 3D basado en los sistemas L de Lindenmayer.
La tortuga implementada traza prismas en 3D que son el tronco y las ramas (en principio hexágonos por disminuir la carga
computacional aunque se puede modificar), hojas (dibujadas donde se encuentre el símbolo H) y flores,
que se dibujan en los bulbos (variables no sustituidas).
Los símbolos utilizados para funciones de la tortuga son (<simbolo>(<parametros> ... )):
-
F(l): traza un segmento de longitud l (en unidades de las coordenadas normalizadas)
-
!(w): establece como nuevo grosor de los segmentos grosor_actual * w
-
[: guarda el estado actual del sistema (ángulo, punto de dibujado actual y grosor de segmento)
-
]: recupera estado de la pila de estado
-
&(alpha): rota un ángulo alpha (radianes) en el eje X
-
/(alpha): rota un ángulo alpha (radianes) en el eje Y
-
+(alpha): rota un ángulo alpha (radianes) en el eje Z
-
H: dibuja un nodo hoja (leaf count es el número de hojas que pueden aparecer en cada nodo)
No es necesario mantener el nombre de los parámetros y se pueden definir nuevas variables mediante la interfaz,
los parámetros son evaluados mediante JS así que se puede utilizar dicha notación (PI es una variable de entorno
que he utilizado como abreviatura de Math.PI).
Se puede rotar y trasladar la figura mediante el ratón (según el modo del switch) y escalarla mediante la ruleta del
ratón