# Vorest

Vorest es un software o programa informático en desarrollo diseñado por los investigadores de la Universidad Politécnica de Madrid Carlos Vilas Arias y Manuel Abellanas en el año 2007. Fue creado para emular la evolución de bosques. Para hacer una simulación del crecimiento forestal, este programa se basa en el Diagrama de Voronoi.

## Descripción

El modelo que utiliza el programa se clasifica dentro del grupo de modelos de árboles individual (sigle-tree models), y parte del hecho de que el crecimiento de todo árbol puede explicarse en función del área de influencia que ocupa a su alrededor. Esta área de influencia aumentar o disminuir en función de ciertos factores tales como la competencia que presentan los árboles de alrededor, y puede modelarse de manera adecuada como una región en un Diagrama de Voronoi ponderado. El cálculo de los Diagramas de Voronoi generalizados con pesos (aditivos o multiplicativos) o con distintas funciones de distancia para cada generador, es una tarea complicada y en muchos casos costosa, desde el punto de vista computacional. En el caso que nos ocupa no son los vértices ni las aristas del diagrama lo que interesa conocer, si no el área de sus regiones. Por tal motivo y como la aplicación forestal admite cierta tolerancia en el cálculo, la aplicación no efectúa el cálculo exacto de Diagramas de Voronoi. Por el contrario, se enfoca a la representación de estas estructuras sobre la base de la visualización de la envolvente inferior de las funciones de distancia a los generadores, que mediante la utilización de las herramientas implementadas puede realizarse de manera completamente interactiva. Una vez representado, permite obtener el diagrama obtenido como el conjunto de regiones de influencia de una serie de árboles estudiados. Sin embargo la utilidad de la aplicación no se limita a la mera visualización interactiva de los diagramas, sino que permite realizar una simulación continua del proceso esperado de crecimiento para los árboles cargados en el programa. Es decir, partiendo de una inicial dada por el usuario (bien a partir de datos aleatorios, datos generados manualmente o datos reales cargados desde un fichero externo en formato HTML), es posible avanzar en el tiempo, obteniendo de esta manera un predicción del crecimiento de los árboles estudiados. La información visual que ofrece la aplicación tiene dos vertientes fundamentales.

## Editor de funciones de distancia

En primer lugar, permite representar el Diagrama de Voronoi que modelíza las áreas de influencia de cada uno de los árboles cargados en el programa, en el instante determinado de su crecimiento, siendo posible utilizar tanto métricas predefinidas de la aplicación (métrica euclídea L-1, L-infinito) como funciones de distancia definidas por el usuario (mediante la utilización del editor integrado de funciones de distancia). Por otro lado, permite generar una representación más o menos del aspecto real que podría esperarse de los árboles estudiados en su entorno natural, es decir, la aplicación es capaz de generar una escena tridimensional con un grado de detalle suficientemente alto (aunque en todo caso lejano a lo que podríamos considerar un nivel fotorrealista) del aspecto que presentaría el bosque en la realidad. En esta escena el usuario podría utilizar desde texturas para mejorar el aspecto del suelo, hasta configurar la representación de una SkyBox, que permite un efecto básico pero eficaz de fondo tridimensional, todo ello guiado por una interfaz clara y sencilla de la aplicación. Es importante el hecho de que los usuarios no necesitaría conocimientos informáticos específicos para generar el aspecto de cada una de las especies con la que vayan a trabajar. Vorest utiliza como apoyo en la generación de bosques la aplicación de libre uso POV-Tree. Mediante la utilización de esta aplicación, pueden generarse mayas tridimensionales de POV-Ray que representen de una forma más o menos realista las especies de árboles estudiadas por el usuario. La documentación sobre la misma es clara y abundante, y en todo caso su manejo no entraña complicaciones excesivas, siendo sencillo e intuitivo, y completamente visual. Vorest facilita enormemente el trabajo con este tipo de ficheros de maya tridimensional, abstrayendo al usuario de la complejidad que subyace en su carga y manipulación, y permitiendo que concentre todos sus esfuerzos en el proceso de definición de especies, ajustando los parámetros de cada una y definiendo de manera completamente visual el color de tronco y hojas, o el color con el que se representarían los árboles muertos de una especie dada. Finalmente, la aplicación permitiría incluir multitud de especies simultáneas generadas por el usuario en el proceso de simulación.

## Proceso de simulación

El proceso de simulación que ofrece Vorest se basa, como hemos apuntado, en el hecho de que consideraremos que todo árbol tiene a su alrededor un área de influencia de mayor o menor tamaño, y que en función de dicho área podemos determinar el crecimiento futuro del individuo. El aspecto realmente interesante es cómo expresar el crecimiento del árbol en función de dicho área. Vorest es capaz de calcular el área de las regiones de influencia automáticamente, pero ofrece al usuario la posibilidad de definir con gran flexibilidad el modo en que se produciría la simulación del crecimiento en función de dicho área. El usuario tendría gran libertad para definir las expresiones que actualizan los valores de los principales parámetros de crecimientoque resultan de interés:
* El nuevo radio de la región para cada uno de los árboles.
* La nueva altura del árbol en el siguiente instante de la simulación.
* El estado futuro del árbol (es decir, si siguiera vivo o pasaría a considerarse muerto).
Para ello, dispone de la posibilidad de escribir fórmulas matemáticas propias para cada uno de estos tres aspectos enumerados. Vorest integra un parser o analizador de expresiones matemáticas de libre uso, conocido como muParser y desarrollado por Ingo Berg en lenguaje C++.Mediante la utilización y adaptación de dicho parser a los propósitos de la aplicación, los usuarios pueden trabajar con expresiones matemáticas y utilizar multitud de funciones predefinidas, incluyendo una sentencia condicional para el manejo de casuísticas variadas en el proceso. De nuevo, no se requieren conocimientos especialmente complejos de programación, pues a excepción de la función condicional, el resto de las expresiones se encuadra siempre dentro del lenguaje matemático convencional. Además, la aplicación es capaz de analizar las expresiones definidas por el usuario antes del inicio de la simulación, ayudándole a depurarlas, y gestiona sin problemas todos los errores que pudieran surgir a raíz de ellas en tiempo de ejecución (por ejemplo, divisiones entre cero). Así pues, los usuarios pueden definir las expresiones propias que dirigirán el proceso de simulación del crecimiento forestal. Como aspectos que puedan implicarse en el proceso de crecimiento, el usuario dispone de total libertad para manejar diversos parámetros de interés sobre cada una de las especies estudiadas, aspectos globales que actúan sobre el entorno simulado, características propias de cada uno de los individuos e incluso se ofrece la posibilidad de definir expresiones de carácter incremental (esto es, describir la asignación de valor a algunos de los parámetros de crecimiento en función de la variación de dicho valor entre dos iteraciones, la previa y la actual). La aplicación permite avanzar paso a paso en el proceso de simulación hacerlo de manera continua durante un número de iteaciones prefijado. Puede guardarse automáticamente una traza del proceso seguido, tanto en forma de imágenes (en formato.bmp) como en tablas de datos (en formato .html). En el proceso de simulación pueden intervenir multitud de especies diferentes, contando cada una con su propio aspecto y configuración de atributos.