Simulación de ecosistemas
Transcript of Simulación de ecosistemas
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS
SUPERIORES DE MONTERREY
, SI1\1ULACION DE ECOSISTEMAS
TESIS QUE PARA OPTAR EL GRADO DE MAESTRO EN CIENCIAS COMPUTACIONALES
PRESENTA
JUAN MIGUEL SOTO GUERRERO
Asesor: Dr. Bedfich Benes Comité de tesis: Dr. Carlos Rodríguez Lucatero.
Dr. Isa.a.e Juan Rudomín Goldberg Dr. Bedfich Benes
Jurado: Dr. Carlos Rodríguez Luca.tero. Presidente Dr. Isaac Juan Rudomín Goldherg. Secretario Dr. Bedrich Benes. Vocal
Atizapán de Zaragoza, Esta.do de I\:Iéxir.o, Julio del 2003.
Resumen
Esta tesis trata de la simulación de ecosistemas y toma conceptos de la Biología para
lh-'varla acabo.
El análisis de la interacción entre planta..<; de la misma especie y de dü,tinta..s especie~s
es analizada por medio de los grupos de planta..s. De estos grupos se extraen datos que
permiten determinar la sobrevivencia de cada uno de los grupos. En la simulación se
analizan las interacciones entre los grupos y los individuos y se ve el fenómeno que
emerge de ésta..s. Ha.<;ta ahora la interacción del área de influencia de una planta con la
de-' otra se hacía de manera individual, planta contra planta. Nosotros proponemos que,
además de la..s interacciones individuales, sean analizada..s la..s interacciones entre grupos de
planta.-;. Desde este punto de vista, cada uno de los grupos tiene una influencia particular
sobre los demás grupos dependiendo del mímero de elementos del grupo, la especie, la
distancia, la edad de la..s planta..s, entre otra..s variables.
Para determinar la forma del grupo recurrimos al uso de la..s curva..s implícita..s. Debido
a la demanda de recursos para el cálculo de curvas implícita..s, desarrollamos un forma de
cálculo específico para. este proyecto, que permite realizar el muestreo de miles de planta..s
en la escena.
Como parte del modelado de la escena, desarrollamos un diseñador de árboles, éste
nos permite generar árboles de distintas especies de manera fácil y sencilla.
, Indice general
l. Introducción 1
l. l. Motivación . 2
1.2. Planteamiento del problema 2
1.3. Contribución de la tesis . 2
1.4. Organización de la tesis 3
2. Trabajo Previo 5
2.1. Modelado de plantas individuales 6
2.1.1. Partículas 6
2.1.2. Hilos . 7
2.1.3. Sistemas L . 9
2.1.4. Instanciamiento 11
2.2. Conct>ptos para la simulación de ecosistemas 13
2.2.1. Ecosistema 13
2.2.2. Sucesión .. 14
2.2.3. Disminución y autodisminnrión 14
2.2.4. Sobredispersión y agrupamiento 1.5
2.3. Simulación de ecosistemas 16
2.4. Resumen . 19
3. Definición del problema 21
.s
4. Solución del problema
4.1. Curvas implícitas
4.1.1. Definición
4.1.2. Muestreo .
4.1.3. Funciones de at nuación
4.1.3. l. La fun ,ión de I3linn
. . . . . . . . . . . .
4.1.3.2. La fun ión de Wyvi11 . 26
4.1.3.3. Cálcul del campo e..'>calar 27
23
23
24
24
25
26
4.2. Evaluación de la funció 27
4.3. Plantas y curvas implíci as . 28
4.4. l'viuestreo. . . 29
4.5. Interferencia..'> 30
4.6. Uso exclusivo del muestr o . 32
4.6.1. Selección de punt s de la cuadrícula que pertenecen a la curva 32
4. 7. Grupos . . . . . . . . . 33
4.8. Cálculo del área . 35
4.9. Cálculo de la viabj]idad d un grupo 35
4.10. Interferencia negativa . . 36
4. J 1. Cuadrícula de potencial 36
4.12. Árboles . . 37
4.13. Simulación .
5. Resultados
-5. I. lVIodelos individuales .........
5.2. Distribución espacial y veci dades ecológica.e;
5.3. Rendering .................. .
. . . . . . . 39
43
43
44
47
6. Conclusiones
6.1. Resumen de resultados
6.2. Sugerencias para trabajo futuro
6.3. Ambiente de desarrollo
6.4. Programas ...
6.4.1. Árboles
6.4.2. Simulación .
53
53
54
63
63
63
66
, Indice de figuras
2.1. Simulación de un enredadera que trepa por dos paredes. 7
2.2. Modelo de tréboles compitiendo por la luz. El de la parte superior crece
con luz directa, y el inferior crece en la sombra. [42]. 8
2.3. El 'modelo de tubería' [25] .. 8
2.4. Maple [25]. . . . . . . . . . . 9
2.5. Ejemplo de una planta diseñada con sistemas L [45] .. 10
2.6. Ejemplo de una flor diseñada con sistemas L [4S]. 11
2.7. Paisaje de Las avcntnras de André y Wally [33]. 12
2.8. La curva de autodisminución. 15
2.9. Paisaje alemán [15] ...... . 17
2.10. El efecto que una planta tiene en la probabilidad de encontrar plantas
vecinas [30]. . . . . . . . . . . . . . . . . 18
2.11. Ejemplos de kernels de deformación [30]. 18
4.1. ivl uestreo por continuación. . . . . . . 25
4.2. Curva sin suavizado y con suavizado. 26
4.3. Comparación de las función de suavizado de Wyvill y I3linn. 27
4.4. Representación de una planta. . . . . . 28
4.-5. Vecindad ecológica afectada por otra planta. 31
4.6. Gráficas de Wyvill para dos cargas que se intersectan. 31
4.7. Curva.e; implícita.e; intersectadas. 31
4.8. Limite inferior y superior para la selección de purtos. 32
9
4.9. Unión de grupos.
4.10. Adición a un nuevo grupo.
4.11. Un ejemplo de una vecindad ecológica con cuatro _olantas,
esquina.
4.12. Interferencia provocada por otra especie.
4.13. Cuadricula de potencial. ........ .
4.14. Distribución de las hojas a lo largo de una rama ..
4.15. Ejemplo de una hoja utilizada para nuestra simulación.
4.16. Otro ejemplo de una hoja utilizada para nuestra simulación.
una en cada
4.17. Distribución espacial y vecindades ecológicas con circunferencias de un
ecosistema.
4.18. Un modelo de un ecosistema que utiliza instanciamiento.
33
34
34
36
37
38
38
39
39
41
4.19. Terreno generado por medio de funciones trigonométricas simples. 41
5.1. :tviodelos utilizados para la simulación. 44
.5.2. Árbol utilizado en nuestra simulación y diseñado con nuestra herramienta. 45
5.3. Diseñador de árboles con GUI. . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4. Vecindades ecológicas calculadas con curvas implícitas de la figura de la
derecha.
5.5. El ecosistema de la Figura 5.4 visto a nivel de suelo ..
47
48
5.6. Imagen de un ecosistema usando instanciamiento, existen más de 100,000
plantas, pero solo 42 son originales. . . . . . . . . . . _ . . . . . . . . . . 49
5.7. Imagen de un ecosistema usando instanciamiento, con cuatro modelos:
pasto, campanilla, dos tipos de árboles. . . . . . . . . . . . . . . . . . . . 50
5.8. El ecosistema es inicializado aleatoriamente (arriba a la derecha) y alcan-
za estabilidad después de un año (arriba a la izquierda), la estabilidad
continua en las imágenes inferiores. 51
6.1. Arreglo de margaritas en un terreno. 55
, Indice de cuadros
2.1. Símbolos bá..c;icos de un sistema L y las interpretaciones de la tortuga. 11
2.2. Resumen de las aportaciones de cada uno de los trabajos. . . . . . . . 13
2.3. Comparación de los distintos métodos para las distribuciones espaciales. . 19
4.1. Ejemplo del mapa con valores de Wyvill para una e:::pecie. 30
5.1. Tamaíío y cantidad de objetos en una escena a considerar para el factor
de compresión. 49
6.1. Compci.rnción de los distintos métodos para la...:; distribuciones espaciales,
incluyendo el método de la tesis. . . . . . 54
13
Capítulo 1
Introducción
La composición de imágenes de ecosistemas reta a las grfücas computacionales ac
tuales. Las desafía con un sinfín de combinaciones de elementos y procesos subyacentes
que crean un esquema difícil de re.-;olver. Pero los resultados son valiosos, pue.-;to que
las simulaciones pueden ser utilizadas para. una gran gama. de actividades, como lo son:
arquitectura., ecología, educación, películas y video juegos.
Para obtener una. escena de un ecosistema. ha.y dos métodos, el modela.do y la. sim
ulación. También conocidos como modelo global y local, respectiva.mente (Sección 2.3).
Por medio del modelado se pueden especificar las características globa.le.-; desea.bles de
nuestro ecosistema, como si estuviéramos diseñando un jardín o sembrando una. parcela.
En cambio, la simulación está enfoca.da. al fenómeno que emerge de la interacción de los
individuos. Da.do que la. simulación se basa en la interacción y no en una. meta global, nos
proporciona. escenas más realistas, por lo que esta. tesis estará enfocada. a la simulación
y no al modelado de ecosistemas.
En la simulación directa se toman en cuenta todas las variable.-; involucradas en el eco
sistema. Pero dada la complejidad y la demanda de recursos computacionales necesarios,
no es factible llevarla acabo en tiempo y forma. La complejidad radica en el gran número
de elementos gráficos que se nece.-;itan para sintetizar una imagen de un ecosistema y el
número de varia.bles involucradas. La mayoría de las veces la composición sobrepasa la
capacidad de almacenamiento y de proce.<.;amiento de las máquinas actuales, por lo que
el nso racional de los recursos es indispensable. Consecuentemente, una. revisión de los
1
2 CAPÍTULO}. INTRODUCCIÓN
trabajos anteriores se vuelve indispensable.
1.1. Motivación
En trabajos anteriores, las relaciones de proximidad en dos dimensiones entre plantas,
son analizadas por pareja..:; [15]; ignorando en gran medida la interacción de los grupos
de plantas. Desde nuestro punto de vista, los conjuntos de planta.<; son reconocidos como
macroorganismos con cualidades que plantas aislada..:; no podrían tener.
1.2. Planteamiento del problema
En el trabajo de Firbank y Watkinson [15, 18] se analiza el proceso de disminución (ver
Sección 2.2.3) por medio del cual la.<; planta.<; son eliminadas. EstE proceso está ba..:;ado
en la relación de dominación entre pares de planta.<;. A simple vista parece funcionar, sin
<~rnbargo no toma en cuenta la..:; características del grupo al que una planta pertenece.
Una planta puede estar dominada a nivel individual, pero no a nivel de grupos.
Esta tesis estará enfocada a la relación entre grupos. Para esto debemos encontrar una
forma de delimitar a un grupo de plantas de forma dinámica (Sección 4.1).
1.3. Contribución de la tesis
En la simulación se analizan la..:; interacciones entre las partes y se ve el fenómeno
que emerge de ésta..:;. Ha..:;ta ahora la interacción del área de influencia de una planta o
vecindad ecológica con la de otra se hacía de manera individual, planta contra planta.
Nosotros proponemos que además de las interacciones individuales, sean analizada..:; la..:;
interacciones entre grupos de plantas. Desde este punto de vista, cada uno de los gru
pos tiene una influencia particular sobre los demás grupos dependiendo del número de
elementos del grupo, la especie, la distancia. la edad de las planta..:;, entre otras variables.
1.4. OR.GANIZACIÓN DE LA TESIS 3
1.4. Organización de la tesis
El Capítulo 2 presenta un compendio del trabajo previo en el que se ba.<;a esta tesis:
modelado plantas y distribución espacial. El Capítulo 3 hace un planteamiento formal
del problema que estamos resolviendo; el Capítulo 4 describe la solución del mismo.
El Capítulo 5 contiene las imágenes sintetizadas por los programas que desarrollarnos.
Finalmente, el Capítulo 6 concluye y plantea. el trabajo futuro.
4 CAPÍTULO l. INTRODUCCIÓN
Capítulo 2
'Irabajo Previo
Siguiendo la propuesta de solución de R.eeves y Blau [46], nosotros descomponemos
el proceso de síntesis de imágenes en etapa.<;: modelado del terreno, especificación de
la distribución, modelado de planta.<; individuales y rendering de la escena. Esta tesis
estará enfocada más al modelado de alguna.<; planta.<;, como es el ca.<;o de diferentes árboles,
y a la especificación de la distribución y la simulación. El rendering es cedido a un
programa especial para esta función y el modelado del terreno estará hecho con funciones
básicas de la.<; matemática.<;.
Existen diferentes forma.<; de modelar un objeto o una escena completa en 3D. Una
de la.<; más interesantes área.<; pertenece al modelado procedural, donde un objeto es
definido por la acción de cierto pedazo de código que es alimentado por un conjunto de
parámetros. Los métodos típicos para modelar planta.<; incluyen: sistema.<; de partícula.<;,
sistema.<; L, modelo de hilos, etc. En la primera parte de est,3 capítulo se presenta una
breve descripción de estos métodos.
Seguido de la descripción de los métodos, presentamos un resumen del trabajo previo
que se ha hecho para reducir el tamaño de las escena y los conceptos de la biología
que son necesarios para hacer nuestra simulación, como lo son: ecosistema, sucesión,
autodisminución, sobredispersión, agrupamiento, entre otros.
Después, citamos los trabajos más importantes en cuestió:1 de simulación de ecosis
temas. Además presentamos dos métodos para generar la distribución espacial de las
planta.<; en un terreno.
5
6 CAPÍTULO 2. TRABAJO PREVIO
2.1. Modelado de plantas individuales
2.1.1. Partículas
Los sistemas de partículas fueron utilizados por pnmera vez para el modelado de
planta.'> por Reeves y Blau [46]. Subsecuentemente, Arvo et al [3] utilizó partículas para
simular enredaderas. En estos trabajos, la.oc; partículas son capaces de muestrear el medio
ambiente que la.oc; rodea y ejecutar acciones predefinida.o;;. Por ejemplo, una enredadera
puede muestrear el medio ambiente y detectar un elemento del medio ambiente que le
permita escalar, la enrededadera tratará de permanecer cerca de éste. En cada punto, la
cantidad de luz es evaluada y la planta tiende a alcanzar las zonaf. de la escena que son
propicia.o;; para su crecimiento.
Un trabajo semejante al de Arvo, es el de Greene [23], quien hizo el modelado de
enredadera utilizando el autómata en el espacio de vo.1:eles ( voxdes del inglés, región
cúbica). El autómata permite responder a las condiciones ambientales que influyen al
crecimiento de una planta, tal como lo son: dirección y cantidad de la luz, y obstáculos.
Además simplifica operaciones geométrica.o;; tales como intersección y proximidad a otros
objetos. Sin embargo, la precisión de estas operaciones dependen del tamaño de los
voxeles. Benes et al [7] describe un sistema para la simulación en tiempo real de modelos
tridimensionales de planta.o;; que compiten por luz y espacio en un ambiente virtual, ver
Figura 2.1.
La influencia de la luz en la forma de una planta, es mencionada en [3, 36, 39]. La
evaluación de la cantidad de luz es complicada y alguna.o;; simplificaciones pueden hac
erse [4]. La Figura 2.2 tiene dos imágenes, donde se puede ver el efecto de la luz en el
crecimiento de una planta.
AivIAP, otro método que usa partículas, fue descrito por Reffye [14] y extendido por
Benes [5] y por Lecoustre [31]. AMAP es un sistema biológico que utiliza partículas par
cialmente inteligentes, en el que cada partícula tiene cierto comportamiento dependiendo
de su estado interno y en el medio ambiente virtual. Por ejemplo, un retoño puede crecer
.... .L • 1V.LVLJD1.Jl"1.LJV LJ.C:, r 1.Jl"1.l'V .L.tiu 11'11Jl V lVUfiLni:)
Figura 2.1: Simulación de un enredadera que trepa por dos paredes.
sólo si éste es suficientemente alimentado por el suelo a través de la raíz y por C02 de
las hojas adyacentes.
Otro método basado en el sistema de partículas fue el de Chiba et al [10, 11], en el
que también modeló plantas. Los objetivos principales de su trabajo fueron que la planta
respondiera a el estímulo de la luz y que sobrellevara favorablemente a la poda de algunas
de sus ramas.
2.1.2. Hilos
En el trabajo de Holton [25] se presenta la técnica de hilos. Esta técnica utiliza un
manojo de hilos para modelar árboles. El método está basa,do en el 'modelo de tu
bería' [20, 34], el cual ha sido utilizado corno base para explicar diferentes estructuras
que existen en la naturaleza, corno ríos y venas. Ver Figura 2}L
La idea principal de la técnica de hilos, consiste en ir separando los hilos del manojo en
cada punto de divergencia. La división termina cuando sólo queda un hilo en el manojo.
El nlÍrnero de hilos determina el ancho y la longitud de la tubería.
En el caso del modelado de árboles, el modelo de hilos se combina con las fuerzas natu
rales. Los efectos de las fuerzas son cinco: gravimorfismo, gravicentralismo, ortotropismo,
CAPITULO 2. TRABA.JO PREVIO
Figura 2.2: Modelo de tréboles compitiendo por la luz. El de la pane superior crece con luz directa, y el inferior crece en la sombra [42].
Figura 2.3: El 'modelo de tubería' [25].
plagitropismo y foto tropismo
• El gravimorfismo es resultado de la fuerza ejercida por la tierra debida a la
gravedad.
• El gravicentralismo es la tendencia del tronco central a estar cerca del eje prin-
cipal del árbol.
• El ortotropismo es el crecimiento perpendicular al suelo.
• El plagitropismo es el crecimiento horizontal.
• El fototropismo es la tendencia de las ramas a crecer alejándose de la rama
principal en busca de la luz solar.
Todas estas fuerzas no afectan de igual forma a todas las ramas, su efecto depende en
la posición que la rama ocupa en la estructura del árbol. Y son integradas al modelo por
medio del uso de vectores. Los vectores son sumados ponderadamente para calcular la
posición final de cada rama. La Figura 2.4 es un rnaple desarrollado con la técnica de
hilos.
Figura 2.4: Maple [25].
2.1.3. Sistemas L
Los sistemas Lindermayer o sistemas L fueron introducidos corno un modelo teórico
para la división celular y para el desarrollo de plantas [32]. Esta. fue la base para desarrol-
lar una herramienta poderosa para la creación de modelos rea.listas de plantas, capaces
de simular su crecimiento y interacción con el medio ambiente [27, 43, 44].
Después de su introducción, los sistemas L fueron usados por Smith [54] y actualmente
están siendo utilizados y mejorados por Prusinkiewicz [28, 44]. Los modelos así generados
no interactuaban con el medio ambiente [2, 38, 53], es por esto que surgieron los sistemas
L abiertos, introducidos por Mech [36], que proveen una manera formal de especificar las
interacciones entre las plantas y el medio ambiente.
El poder de los sistema L reside en la habilidad de generar estructuras complicadas
l lJ CAYlTUl,U :L. TKAliAJU YHJ:!;VlU
a partir de un número reducido de reglas, pero el costo de esta brevedad es la falta de
precisión sobre el resultado final. Sin embargo, Power et al [41] introdujeron una forma
de interactuar con los sistemas L.
Un sistema L consiste en un conjunto de reglas llamadas producciones que describen
el desarrollo de las ramas, hojas, flores y otros componentes de la planta. En una fase de
generación, a estas producciones le son aplicadas una secuencia de pasos de derivación,
iniciando por el axioma. El estado del modelo después de cualquier mímero de pasos es
codificado en una cadena de símbolos, llamados cadenas L. En un fase subsecuente, fase
de interpretación, las cadenas L son convertidas en una representación geométrica de la
planta.
Las cadenas L codifican la geometría de la tortuga [l]. Una tortug;a, empezando en un
locación y orientación especifica en un espacio 3D, interpreta una cadena L como una
serie de instruccione1, de cambio de po1,ición y orientación. La posición de la tortuga es
representada por el vector p, su orientación está dada por tres vectores a, i, d, indicando,
en su si1,tema local de coordenadas, cual dirección es arriba, izquierda y derecha. Mientras
la cadena L es revisada de izquierda a. derecha, estos cuatro vectores cambian de acuerdo
a las instrucciones encontradas en la cadena. En el cuadro 2.1 se encuentran los símbolos
básicos que utilizan los sistemas L y las Figuras 2.5 y 2.6 muestran plantas generadas
por medio de sistemas L. Para una introducción a el modelado de plantas usando los
sistemas L vea The Algorithmic Beauty of Plants [44].
Figura 2.5: Ejemplo de una planta diseñada con sistemas L [45].
2.1. MODELADO DE PLANTAS INDIVIDUALES 11
Figura 2.6: Ejemplo de una flor diseñada con sistemas L [45].
Símbolo Interpretación F(a) hacia adelante una distancia a +(O) gira e grados con respecto a z -(O) gira -O grados con respecto a z &e gira O grados con respecto a x 1\0 gira -O grados con respecto ax
\O gira O grados con respecto a y ¡e gira -O grados con respecto a y [ guarda el estado, empieza una nueva rama
J termina la rama, restablecer el estado
Cuadro 2.1: Símbolos básicos de un sistema L y las interpretaciones de la tortuga.
2.1.4. Instanciamiento
R.eeves y Blau [33] obtuvieron imágenes de praderas en la película Las aventuras de
A ndré y Wally ( ver Figura 2. 7). Los pasos que siguieron para la obtención de las imágenes
fueron: modelado del terreno, colocación procedural o interactiva de las plantas, modelado
individual de plantas, y rendering (palabra del inglés, se refiere al proceso para agregar
realismo a una imagen computacional, incorporando elementos de tres dimensiones como
sombras, variaciones de color e iluminación).
Las imágenes de R.eeves y Blau fueron obtenidas usando un sistema de un millón
partículas. Los modelos fueron generados proceduralmente y se les aplicó el proceso de
rendering secuencialmente. Después de que un árbol era utilizi,,do era descartado. De tal
forma, que la memoria necesitada para hacer el rendering de una escena completa era
proporcional al número de partículas de un árbol en vez de el número de partículas de
toda la escena. Otro método para reducir el tamaño de la escena, es eliminar detalles
12 CAPÍTULO 2. TRABA.JO PREVIO
Figura 2.7: Paisaje de Las aventuras de André y Waily [33].
que no aportan elementos gráficos a la escena. Webber y Penn [!l8] introdujeron una
heurística multiresolución específica para árboles, la cual permite reducir las primitivas
geométricas que utilizan pequeñas porciones de la pantalla.
Otro método para crear escenas naturales complejas fue introducido por Gardner [22],
en el cual los árboles y los terrenos eran modelados usando una cantidad relativamente
menor de primitiva.'i, en este ca.'io, las primitivas utilizadas fueron superficies cuadráticas.
En un método semejante, los árboles y otras planta.'i fueron representadas por polígonos
con textura, Max [35] desarrolló un algoritmo para interpolar entre distinta.'i imágenes
tomada.'i de distintos puntos de vista de un árbol. Shade et al. [51] def:cribieron un sistema
mixto que combina polígonos con textura y geometría. Posteriormente, Kajiya y Kay [29]
introdujeron las textura.'i volumétricas como una alternativa para vencer la.'i limitaciones
de los polígonos con textura.
El uso <le texturas volumétrica.<; reduce la cantidad de memoria y de disco usado para
representar una escena, debido a que un mismo textel (palabra del inglés, pixel al que le
es a.'iociado una textura) puede ser reutilizado para distinta.'i partes de la escena. Este
método, sigue el mismo paradigma para tratar con imágenes compleja.'i, instanciamiento
de objetos [56]. De acuerdo al paradigma de instanciamiento, un objeto que aparece
mucha.'i veces en una escena es definido solamente una vez, y sus diferentes instancias
son especificada.'i de acuerdo a transformaciones ( tra.'ilación, rotación y escalamiento).
El espacio utilizado para representar transformaciones es pequeño, por lo que el tamaño
2.2. CONCEPTOS PARA LA SIMULACIÓN DE ECOSISTEMAS 13
I Autor Aportación Primitivas utilizadas Reeves y 13lau Secuencia de pasos al modelar Partículas Webber y Penn Uso de un algoritmo heurístico Gardner Uso de superficies cuadrática.<; Superficies cuadrática.<; r-.fax Interpolación entre imágenes Polígonos con textura
' ! Shade Sistema mixto Polígonos con textura y geometría I Kajiya y Kay Instanciamiento ( ver también [56]) Textu::as volumétrica.<;
Cuadro 2.2: Resumen de la.<; aportaciones de cada uno de los trabajos.
de la escena depende del de los objetos que aparecen en la escena y no del de todas las
in:-;tancias. Esto conlleva a un rápido ray traC'ing ( del inglés, una técnica de rendering).
Kajiya y Kay [29] describen como el instanciamiento resulta en una jerarquía. de eBtruc-
tura.<; de datos que incrementan la velocidad del ray tracing.
En el Cuadro 2.2 mostramos un resumen de la.<; aportaciones para reducir el espacio
requerido por una escena. Estos trabajos no compiten entre sí, sino son aportaciones
que en su momento tuvieron su importancia. Y cada uno sirvió de ba.<;e para trabajos
posteriores.
2.2. Conceptos para la simulación dle ecosistemas
La velocidad actual de la.<; computadoras nos permite integrar conceptos de la biología
para la simulación. Anteriormente, con la.<; limitaciones del hardware no era posible. A
continuación presentamos los conceptos que fueron integrados a nuestra simulación.
2. 2 .1. Ecosistema
Un ecosistema es un conjunto de organismos que viven en un ambiente en particular,
como lo son bosques o arrecifes de coral, y las partes física.<; que la.<; afectan. El término
ecosistema fue acuñado en 1935 por el ecologista Sir Arthur George Tansley. Este término
corresponde al punto de vista ordenado de la naturaleza que fue desarrollado por los
científicos para simplificar el estudio de la.<; relaciones entre organismos y su medio físico,
un campo conocido como ecología.
14 CAPITULO 2. TRABAJO PREVIO
2.2.2. Sucesión
Las propiedades física.'> y biológica.<; del medio ambiente determina la.'> especies de la.<;
plantas que crecerán ahí. La variación en la calidad de e.sta.<; propiedade.s determina la
composición de la.-; especies, esto origina el fenómeno de s11,cesión.
El ejemplo típico de sucesión es el de dos especies de árboles [48]. La primera especie
crece rápido y necesita luz solar directa. La segunda crece lentamente y tolera la sombra.
Inicialmente, si hay igual número de plantas de la.'i dos especies, la primera especie dom
inará el paisaje. Sin embargo, la sombra. de la primera e.specie propiciará el crecimiento
de la segunda y a.-;í mismo inhibirá el crecimiento de nuevas planta3 de la primera. (la luz
solar no llegara al suelo). Después de un lapso de tiempo, la segunda especie dominará.
El cambio de la especie dominante es lo que se llama sucesión.
La composición final de las especie.s se le llama clíma.T. En el ca.-;o del ejemplo anterior,
el clímax se alcanza cuando la segunda especie domina el paisaj,:'l. Dos característica.'>
particulares tiene esta etapa, es autosustentable y las dos especies e,stán en equilibrio.
Sin embargo esta etapa no es definitiva, existen fenómenos naturales que afectan su
composición. Estos fenómenos son llamados pert11,rbaciones [40].
2.2.3. Disminución y autodisminución
Conforme las planta.-; crecen, los recursos disponibles para la.'i pli:"nta.-; vecinas decrece.
Eventualmente, los recursos esca.'iearán y la.'> planta.-; má.'i débiles perecerán. De esta
forma, la mortalidad es directamente proporcional al número de )lanta.-; (má.-; planta.-;
implica mayor mortalidad).
La mortalidad dependiente de la densidad es llamada disminución y ocurre en la
mayor parte de las comunidades de planta.<;. Cuando ésta ocurre entre planta.-; de la
misma especie se llama a11,todismin11,ción. Y cuando una planta e.s disminuida por planta.-;
de distintas especies es llamado dismin11,ción debida a seg11,ndas par~es.
El ejemplo típico de un proceso de autodisminución es el monocultivo de planta.-; que
han sido sembrada.-; al mismo tiempo [24, 40].
' V
2.2. CONCEPTOS PARA LA SIMULACIÓN DE ECOSISTEMAS
o ,;; ., E e c. o ,e:
"' E s <» ..Q
----"'" '~:;;;;~·" Etapa2 \
\
\ \ \
Etapa 1 \
l log(densidad)
Figura 2.8: La curva de autodisminuc:ión.
15
En la Figura 2.8 la línea continua representa la trayectoria de la comunidad a través
de distintas etapa.<;. En la primera etapa, las plantas crecen con recursos ilimitados y la
densidad no cambia. En la segunda etapa, las plantas empie:rnn a morir como resultado
de la disminución de los recursos. Y en la tercera etapa, la población alcanza la línea de
autodisminución que tiene pendiente -3/2.
2.2.4. Sobredispersión y agrupamiento
Bajo el proceso de disminución, la distribución de plantas depende de la proximidad con
otras. Una planta que ésta muy cerca de otra perecerá, incrementando así la distancia
entre plantas, esto causa sobredispersión. Sin embargo, la proximidad de una.<; plantas
incrementa la probabilidad de crecimiento de otra.<;, esto es llamado agrnpamiento. Las
planta.<; se agrupan debido a dos causas, una es la planta li"Jera sus semillas y la otra
es que la abundancia de recursos ( especies con ]a._<; mismas exigencia.<; buscarán lugares
favorables para ellas).
Las planta.<; pueden ser analizadas como elementos discretos [16], representados como
11n conjunto de puntos distribuidos en dos dimensiones. Y las propiedades del medio am-
biente pueden ser analizadas estudiando la distribución de estos puntos. La distribución
más sencilla para un conjunto de puntos es la distribución aleatoria también llamada
distribución de Poisson.
En estadística, el grado de agrupamiento puede ser medido por distintos métodos [12,
16 CAPÍTULO 2. TRABAJO PREVIO
.52]. El más usado en el modelado de ecosistemas es el índice Hopkins [26].
2.3. Simulación de ecosistemas
La inherente complejidad de las escenas resultantes de la simulación de ecosistemas
pueden ser manejadas usando el modelado multinivel [15]. En vez de modelar la escena
completa al nivel de órganos de plantas, tales como hojas, flores, retoños [44], el método
multinivel emplea una jerarquía de modelos. El caso mas sencillo, dos niveles, el primer
nivel determina la distribución de las plantas, y el segundo nivel determina las formas
de las plantas. Los modelos pueden ser acoplados de forma que el primer nivel afecte la
salida del segundo nivel.
Existen dos modelos para crear la distribución de las plantas [ 15]. El modelo local
( también llamadas simulaciones) y el modelo global. En el primer modelo la.<; estructura.<;
globales emergen de la interacción de los individuos y en el segundo, las características
locales son derivada.-, de las propiedades globales.
Un ejemplo de un modelo local es la simulación individual de un ecosistema, ba."iado en
el modelo de Firbank y Watkinson [18]. Siguiendo este modelo, las planta..<; son colocadas
en el terreno aleatoriamente, iterativamente, la..<; plantas crecen y mueren cuando otra..<;
más grandes las dominan. La distribución resultante cumple con la curva de autodismin
ución.
Uno de los ejemplos de un modelo global es cuando el usuario especifica la.<; densidades
de la..-; poblaciones. El modelo recibe como entrada una imagen en tonos de gris que
representan un mapa de densidad de las plantas en todo el terreno. A partir de esta
imagen y aplicando el algoritmo de Floyd-Steinberg [19] de difusión de error se generan
las posiciona<; de cada una de la..<; plantas que conforman esa..<; densidades.
Deussen et al [15] utilizaron el algoritmo de Floyd-Steinberg parn hacer su modelado,
además de utilizar simulación con el modelo de Firbank y Watkinson. En la Figura 2.9
podemos ver un paisaje elaborado por Deussen.
Además de los modelos de plantas individuales usando sistemas L [44], los sistema..<; L
- • ...,. .._, .... ..._ ...... ......, ¿J .. .._..._..,_...'--'.J.• L.J.L.J L.J'-./'--'U.I.U .l. .I...J.J.t'.1.I""l.U 11
Figura 2.9: Paisaje alemán [lE,J.
tienen otro uso. Los sistemas L abiertos [36], modelo locaJ, que es una extensión de los
sistemas L, hacen posible capturar la interacción entre los modelos de las plantas y el
medio ambiente. Más aun, Lane introdujo el concepto de sistemas L multiconjunto [30],
que unifican y extienden a la estructura de ramificación de las plantas dos conceptos de
la teoría de los sistemas L: sistemas de desarrollo con conjuntos de axiomas finitos [47]
y sistemas L con fragmentación [21].
En los sistemas L multiconjunto, las producciones operan en un conjunto multiple de
cadenas que representan muchas plantas, en vez de que una cadena represente una sola
planta. Nuevas cadenas pueden ser agregadas dinámicamente o removidas de este mul
ticonjunto, representando organismos que son agregados o removidos de la comunidad.
Las interacciones entre plantas son manejadas a través del medio ambiente.
Dentro de los modelos globales, Lane et al [36] introdujeron la deformación del kernel
(kernel, del inglés, significa núcleo). La deformación del kernel descompone una distribu
ción global de probabilidad en plantas individuales, también describe como la presencia
de una planta altera la probabilidad de que una segunda se pueda encontrar a una dis
tancia dada de la primera.
El efecto que una planta, en el modelo de autodisminución de un sistema L, tiene sobre
la probabilidad de encontrar otra planta cerca es mostrada en la Figura 2.10. Dentro del
radio de referencia rt, la probabilidad de encontrar otra planta es muy pequeña, fuera
de este radio, la probabilidad de encontrar otra planta no es afectada por la planta.
18 CAPÍTULO 2. TRADAJO PREVIO
Varias interacciones entre plantas pueden ser descritas usandc la deformación del kernel
de distintas formas como sugiere la Figura 2.11.
LJ X
Xi Xi +rt
Figura 2.10: El efecto que una planta tiene en la probabilidad de encontrar plantas vP<:inas [30].
' Ningún efecto sobre plantas
vecinas
' ' El kernel
promueve El kernel
inhibe
' Inhibe en la cercanía y
promueve a lo lejos
Figura 2.11: Ejemplos de kernels de deformación [30].
En el Cuadro 2.3 podemos ver una comparación de los distintos métodos utilizados
para obtener la distribución espacial de las plantas sobre el terreno.
En el caso de la tesis, encontraremos un modelo local que produzca la distribución
c~spa.cial por medio de la vecindad ecológica. El método de la tesis no toma en cuenta las
distribuciones de probabilidad debido a que pertenecen al modelo global y no al local.
Los criterios son:
• Tipo. El tipo de modelo que es, los dos modelos vistos en la Sección 2.3 son global
y local.
• Multinivel. Existen al menos dos etapas en las que se procesa la información, ver
Sección 2.3.
2.4. RESUMEN 19
Método Tipo 1 Multinivel Distribución Viabilidad 1 1 Competenci, Estabilidad
:
espacial de grupo A rea I entre gru-pos
Firbank y Local Sí Aleatoria No No No No Watkinson Floyd- Global Sí Difusión de No No No NA Steinberg error 1
Sistemas L Local No No existe No NA NA No 1
Sistema .. ~ L Local 1
Sí De la in ter- No 1
Sí No No 1
abiertos acción i 1
1
1
entre
1
:
plantas 1 1
Sistemas L Local ! Sí Derivada del No !
Sí 1 No 1 No 1 1
mul t iconj un- ! medio mnbi- 1 1
:
i 1
to ente 1
1
Kernel Global Sí Distribuciones No No • No NA de probabili-dad
Cuadro 2.3: Comparación de los distintos métodos para las distribuciones espaciales.
• Distribución espacial. El método por el cual la.e: plantas son distribuidas a lo
largo del terreno.
• Viabilidad de grupo. Existe una probabilidad que e.stá relacionada con el grupo
y e.<.;tá. calculada en base a las propiedades del grupo. Esta probabilidad afecta a
sus elementos.
• Área. El área del grupo es calculada y tomada en cuenta para '31 cálculo de la
viabilidad.
• Competencia entre grupos. Los grupos de plantas compiten entre sí.
• Estabilidad. Cuando se deja transcurrir la simulación, el número de elementos de
cada una de las especies permanece constante.
2.4. Resumen
En la primera parte de este capítulo pre.<.;entamos diferente.<.; formas procedurales de
generar modelos de plantas (sistemas de partículas, sistemas L, etc.), con algunos de
sus ejemplos. Vimos los concerniente a reducir el espacio de almacenamiento y proce-
samiento para generar una. escena. Después exploramos los conocimientos básicos para
20 CAPÍTULO 2. TRADAJO PREVIO
la simulación y citamos el trabajo previo en relación a la simulación de ecosistemas.
En el siguiente capítulo veremos como las curvas implícitas nos ayudan a delimitar a
un grupo de plantas de forma que la curva envolvente parece tener una forma arbitraria,
además de mostrar los cálculos necesarios para la interacción entre grupos.
Capítulo 3
Definición del problema
En trabajos anteriores [15, 18], la interacción entre los individuos analizada de forma
individual provee un medio para distinguir las plantas dominadas y dominantes. Sin
embargo, el proceso de eliminar plantas dominadas no toma en cuenta el grupo al que
forma parte. El grupo provee a sus miembros de una probabilidad de crecimiento que
solos no podrían tener. fvlíentras mayor sea el mímero de individuos que pertenecen al
grupo, mayor será la probabilidad de que el grupo sobreviva. Por ejemplo, tratándose de
pasto y un grupo de margaritas, el pa.c;to tratará de ocupa:: el espacio que la.e; margarita.e;
ocupan o crecerá tapándoles el sol. La oportunidad de sobrevivir de una margarita es
mayor dependiendo de la resistencia del grupo de margaritas ofrezcan a la intervención
del pasto.
La curva que limita el grupo de plantas es irregular, varfa dependiendo de la distribu
ción espacial de las plantas, del número de plantas que pertenecen al grupo y de la edad
de las plantas que lo componen. Por lo que debemos de hallar una forma de generar esta
curva irregular. La generación de la misma debe de ser rápida para que la simulación sea
viable a largo plazo.
En lo que respecta a los modelos de plantas utilizados, debemos poder generarlos de
manera que puedan ser adaptados a una instancia de una planta en particular.
Los modelos no responderán a la influencia de la luz, puesto que no aportaría mucho a
la imagen resultante del ecosistema. en su conjunto. En imágenes en las que intervienen
miles de plantas, la forma de crecimiento de las plantas individuales no son apreciables
21
22 CAPÍTULO 3. DEFINICIÓN DEL PROBLEMA
a la distancia en la que es situada la cámara. La influencia de la luz sería relevante
si analizaramos una o dos especies, como es el ejemplo de la enredadera vista en la
Sección 2.1.1.
Capítulo 4
Solución del problema
Este capítulo está estructurado de la siguiente forma. Primero exponemos los conocimien
tos básicos de la.'i curvas implícitas y la forma en que se evaluó la función de atenuación.
Después veremos como representamos la vecindad ecológ:ca de una planta para ser uti
lizada con las curvas implícitas, el tipo de muestreo y la forma en que calculamos: grupos,
áreas de los grupos, probabilidades de sobrevivencia e int,?.rferencia entre plant&'i.
Finalmente. presentamos como hicimos los modelos de alguna..:.; plantas y los pasos que
seguimos para. la simulación.
4.1. Curvas implícitas
En nuestro trabajo buscamos una forma de agrupar las plantas y delimitar la vecindad
ecológica. que ocupa un conjunto de plantas. La mejor forma que encontramos para. delim
itarlos fueron la..:.; curvas implícita..:;. Son ideales puesto que los elementos geométricos que
definen una curva implícita pueden ser puntos, en nuestro caso los puntos representarán
plantas que estarán contenida..:; dentro de la curva. Además. la curva no es rígida, sino
responde a la posición de las plantas y a la..:; influencia..:; de otras. Estas influencia..:; son
distintas dependiendo de a la..:; especies de las plantas que interactúan. A continuación
pre.sentamos el trabajo más relevante acerca de curva..:; implícita.o;;.
23
24 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
4.1.1. Definición
Se dice que un objeto dado es implícito, si éste es el conjunto de puntos que son los
ceros comunes de un conjunto de funciones reales. l'vlatemáticamente, se dice que V t:;:; lR."
está dado por el conjunto de funcionas h 1, h2 , ... , hm : JR.N ----> H donde V es el conjunto
de todos los puntos x = (x 1, .1:2 , ... , xn) E lR." que cumplen
h1 (x1, ... , x,.) = O ( 4.1)
h2(.1:1, ... , .1:,.) = Ü
La presentación de curvas implícitas está dividida en dos faces: el mnestreo y la con
stru.cC'ión. La primera se encarga de reconocer los puntos que pertenecen a la curva, por
medio del cálculo del campo e._scalar de la función. La segunda se encarga de construir
una estructura. de da.tos representativa. Como se verá en más a::lelante en este capítulo,
nuestro trabajo no requiere de la etapa. de construcción de la curva como tal, por lo que
nos enfocaremos en el muestreo.
4.1.2. Muestreo
Existen distintas formas de hacer le mue.streo: trazado de rayos, continuación, erw.
meración y físico.
El trazado de rayos consiste en encontrar soluciones a. la. ecuación 4.1 reduciéndola.
a una ecuación de una sola variable. Esto se ha.ce calculando las intersecciones de la
curva con una familia de líneas rectas paralelas, llamadas rayos. Este método tiene dos
deficiencias: no encuentra todas las soluciones y algunos rayos pueden no aportan ningún
punto de intersección [13].
El método de muestreo por continuación encuentra las soluciones mediante métodos
numéricos [48]. En un punto perteneciente a. la. curva. son calcula.dos los vectores gradiente
4.1. CURVAS IMPLÍCITAS 25
y su vector perpendicular ( vector Hamiltoniano). Este ültimo es utilizado, junto con el
predictor de Euler, para calcular un punto próximo a la curva. Finalmente, se utiliza el
corrector de Newton para reducir el error del predictor. Ver Figura 4.1.
Figura 4.1: Muestreo por continuación.
El método por enumeración, consiste en dividir el espacio en celdaH. En cada una de
la.<; cuales se almacena aproximaciones al valor de la función. Después de que han sido
llenada las celdas, los puntos son elegidos dependiendo si €istán dentro de cierto rango de
valores. Este es un método sencillo de implementar sin embargo, al momento de usarlo se
debe elegir correctamente el tamaño de las celdas para evitar que se dejen sin muestrear
partes de la curva.
El método físico consiste en repartir partículas azarosamente en un campo 'eléctrico'.
Las partículas responden ffoicamente al campo y se sitüan en la curva corre.spondiente
[ 13]. Las partículas actúan como polvo que se adhiere a una superficie electrificada.
4.1.3. Funciones de atenuación
El campo escalar puede ser generado de muchas maneras. Inclusive la función puede
tener interpretaciones intuitivas, por ejemplo, podemos definir la curva como aquellos
puntos equidistantes a un e.5q11,eleto. Un esqueleto es un conjunto de primitivas simples,
como lo son puntos o líneas. En la Figura 4.2, a la izquierda, se muestra. una curva que
toma la distancia al elemento del esqueleto más cercano. Si en lugar de eso tomamos
en cuenta todos los elementos del esqueleto y sumamos la contribución de cada parte,
26 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
podremos suavizar la curva en los lugares de la unión (ver Figura 4.2, derecha). Para
esto sumamos una función de atenuación o suavizado (g(r)), que toma como parámetro
la distancia a una parte del esqueleto. Las funciones de atenuación más comunes son:
Illinn [9], Wyvill [59], y Pasko [49]. Nosotros nos enfocaremos a la de Illinn y Wyvill.
_./--------....... ,V,,.-------.... ,""'. ,./_.,-----...... ________ -----....... ,
C) {)
,....._ _______ / "' .......... ..........._ ____ ,..._..----- .......... ____ ,,,.,,.,/·
Figura 4.2: Curva sin suavizado y con suavizado.
4.1.3.1. La función de Blinn
La función de suavizado de 13linn está dada por:
\ \ '
J /
Donde r es la distancia al punto al punto más cercano del esqueleto, a y b son constantes
que nos permiten ajustar el suavizado. En la Figura 4.3 se ve cerno varía la contribución
del campo escalar conforme a la distancia.
4.1.3.2. La función de Wyvill
La función de suavizado de Wyvill esta dada por:
4r6 l 7r4 22r2
g(r) = - 9R6 + 9R4 - 9R2 + l (4.2)
para r S R. Y g(r) = O parar > R. Donde r es la distancia a el elemento del esqueleto
y R es el radio máximo en el que influye este elemento.
Nosotros elegimos la función de Wyvill debido a que el número reducido de exponentes
( utilizando la ree.scritura de Horner de un polinomio) y al mejor comportamiento de la
función, teniendo un intervalo de [O, l], ver Figura 4.3.
4.2. EVALUACIÓN DE LA FUNCIÓN
Wyvill
Blinn
Razón de la distancia respecto al radio de acción (r/R)
Figura 4.3: Comparación de las función de suavizado de Wyvill y Blinn.
4.1.3.3. Cálculo del campo escalar
27
Una vez elegida la función de suavizado, el paso que sigue es el cálculo del campo
escalar. Este e~"i producido sumando cada una de las contribuciones de las partes que
forman parte del esqueleto, produciendo una curva más suave. Matemáticamente,
n
F(.r, y) = ¿, a,ig(d(x, y, qi)) (4.3) i=l
Donde n es el número total de elementos del esqueleto. a,i es la ponderación que se le da.
al elemento qi del esqueleto, -1 < a,i < 1 con O < i < n, g ES la función de suavizado, d es
la. función de distancia. de un punto a.l elemento i del esqueleto. La. curva. quedará definida.
como F(.r, y) = k, donde k es una constante.
4.2. Evaluación de la función
Como vimos en la Sección 4.1.3.2, nosotros escogimos la función de suavizado de
Wyvill 4.2. La. reescribimos como un polinomio de Horner. De esta. forma., la función:
queda transforma.da. en:
4r6 17r4 22r2
g(r) = - 9R6 + 9R4 - 9R2 + 1
r' g(r) = -(r'(-4r' + 17) - 22) + 1
9
28 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
con r' = r 2 / R2
Esta reducción tiene el objetivo de disminuir el tiempo de CPU utilizado para calcular
el suavizado. La función reescrita, cuenta con un número menor de exponente.s y un
número de multiplicaciones ligeramente mayor.
4.3. Plantas y curvas implícitas
Según [16] ]a.c.; planta.e.; se pueden ver como elementos discretos, o puntos. Y en cada
punto está centrado el fragmento de terreno en el que una planta tiene influencia, que
es llamado vecindad ecológica. Para nosotros, las curvas serán El límite de la.e.; vecindades
ecológica.e.; de la.e.; plantas y el esqueleto serán los puntos representando a las planta.e.;.
Existe una vecindad ecológica máxima que está relacionada con la especie de las plantas
y otra vecindad ecológica menor que e.stá relacionada con la probabilidad de sobrevivir
o viabilidad de la planta. Ver Figura 4.4. Donde R es el radio máximo de acción de la
especie lo llamaremos radio mayor y r es el radio dependiente de la viabilidad de la
planta, lo llamaremos radio menor.
Cabe mencionar que una planta tiene una viabilidad que e~: independiente de la vi
abilidad del grupo. La viabilidad de una planta depende de la. especie y la edad de la
planta, la de un grupo depende del número de elementos que pertenecen al grupo y de
las viabilidades de las planta.e.; que lo componen.
Figura 4.4: Representación de una planta.
4.4. MUESTREO 29
4.4. Muestreo
De los métodos de muestreo que se presentaron en 12 Sección 4.1.2, el que elegimos
fue el de enumeración. La elección se hizo por su fácil implementación y debido a la
irregularidad de las curvas implícitas de nuestro problema. A continuación describimos
las técnicas utilizadas para lidiar con el gasto de CPU inherente a e..<;te método.
El método de enumeración divide el área en una cuadrfrula compuesta por celdas. Las
celdas son llenadas con el valor del de la sumatoria. 4.3. Calcularla es de..c;gastaste puesto
que el índice i recorre todos las plantas de la especie ( de O a n). Para disminuir el número
de plantas recorridas se pueden utilizar algoritmos de búsqueda por rangos, como lo son:
grid method o árboles 2D [50]. El tiempo se ve reducido, pero aun así hay que calcular
la sumatoria por cada una de las celdas y hacer la búsqueda. por rangos de las plantas
vecinas. La. búsqueda puede re.."lultar infructuosa, dado que una celda no necesariamente
tiene plantas vecinas.
El enfoque anterior es correr un proceso por cada uno de las celdas, nuestro enfoque es
colocar cada planta en las celdas que ocupa (las coordenadas reales son transformadas a
coordenadas discretas). Cuando es colocada, su contribución al campo escalar es sumada
a cada celda. de la cuadrícula principal. Los valores a sumar están dados por un mapa
que esta asociado a la especie de la planta. El mapa contiene los valores aproximados de
la función de Wyvill 4.2. La tabla 4.1 es un ejemplo de un mapa. Como se puede ver en
la tabla los valores del campo escalar disminuyen conforme se recorre la tabla del centro
hacia afuera.
Para el cálculo de los mapas se utilizarán dos formulas: la de Wyvill y la de la distancia
entre dos puntos en su forma reducida d = J.r2 + y2 . Esta forma se obtiene situando el el
emento del esqueleto en el origen del mapa, de tal forma que d = J (.r2 - .r1 )2 + (y2 - y1 )
2
con (.r 1 , y1) = (O, O) es igual a d = J.r~ + y~ = J x2 + y2 . Cabe mencionar estas dos
fórmulas sólo se utilizan en el momento de inicializar los mapas de cada una de las
especie..<;, ahorrando tiempo de proce.c;ador.
30 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
o o r o.oo:195:l2R 0.0190572 o.oo:rn5:l2R
1 o o.011rn2R 0.2.12R3R 0.:1:119-19 0.232R3R 0.0171:128 1 o 0.00395:l2R 0.232R3R O.fil2021 0.791117 O.fil2021 0.232R3R 0.00395:l2R 1 o 0.0190572 0.331919 0.791117 0.791117 0.33-1919 0.0190572 1 o O.OO:l95 l2R 0.232R3A o.n12021 0.791117 o.r.12021 0.232R3R O.OO:l95:l2R
o 0.017132R 0.2:l2R3R 0.:131919 0.232R:lR 0.0171:l2R o o 1 o o 0.00395328 0.0190572 o.oo:rn5:12R o o o 1 o o o 1 o o
Cuadro 4.1: Ejemplo del mapa con valores de Wyvill para una especie.
Para que el mapa represente una. planta en particular, el mapa es multiplicado por la
constante a.i (ver sumatoria 4.3), que en nuestro caso equivale a la viabilidad de la planta.
Precalcular una serie de mapas multiplicados por distintas a.'s , contribuye enormemente
a disrnirnlir el tiempo de procesador. El mapa correspondiente a una planta en particular
se elige de acuerdo a a.i, el mapa precalculado con una O.mapa ~ °'i sera el que se utilice
para sumar sus contribuciones a la cuadrícula. El error entre O.mapa y la a.i dependerá de
la diferencia de dos a.'s consecutivas de la serie de mapas.
Cuando se agrega una nueva carga, puede o no estar incluida. en un grupo. En la
Sección 4.5 explica.remos como las plantas reciben interferencias en su vecindad ecológica.
4.5. Interferencias
En trabajos anteriores, como [15], las vecindades ecológicas están reprn'ientadas por
círculos. En nuestro caso las vecindades ecológicas son curvas implícitas que tienen forma
arbitraria. La peculiar forma de las vecindades ecológicas se debe a las interferencias
de unas plantas sobre otras. En el resto de esta sección analizamos como la vecindad
ecológica de una planta es afectada por la presencia de otras plantas.
La vecindad ecológica de una planta sin interferencia de otras plantas es un circulo.
Para que una la vecindad ecología sea interferida las circunferencias (menor y mayor)
deben intersectarse con otra de radio mayor, ver Figura 4.5. En la intersección, parte
sombreada, es la única zona donde la circunferencia menor e..o:; alterada. La alteración se
da, puesto que e..o:; ahí donde los valores de la cuadrícula se ven modificados de acuerdo a
la sumatoria 4.3.
La Figura 4.6 muestra las dos curvas de Wyvill para dos plantas Pi y P2, con sus
·4.5. INTERFERENCIAS
Figura 4.5: Vecindad ecológica afectada por otra planta.
Intersección
A-~~~-- ,.,,....---'\ /
1
P1 1
o- -. - --- ---·, · - --- -I p 1 2
- - - - --T- -- - - - - ---O
---·--·----------------·······-~------·------------- -----··------------ --------------------) R1 !(-------------------------------------- ...................... L ............................. .
r,
Valor a muestrear
Curva resultante
R2
Figura 4.6: Gráficas de Wyvill para dos carga..o:.; que se intersectan.
31
respectivos radios mayores y menores de cada una. Ahora bien, para que dos curva..o:.;
implícitas formen una sola, necesitan que pasen dos cosas. Primero, las dos circunferencia..<; . de radios menores deben de pasar por la intersección de las de radios mayores. Segundo,
la curva resultante no debe de regresar valores (pueden ser dos) iguales a el valor que se
está muestreando. Un ejemplo de dos isocurva..o:.; fusionadas en una sola se puede ver en
la Figura 4.7.
Figura. 4.7: Curvas implícita..o:.; intersectadas.
32
4.6.
CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
Uso exclusivo del muestreo
En la Sección 4.1 vimos que las etapas para presentar una curva implícita es muestreo
y construcción. En el muestreo, los puntos de la curva son seleccionados de acuerdo a
un rango de valores y de..<;pués estos puntos son procesados por la etapa de construcción
para obtener un polígono. Nosotros pudimos haber obtenido un polígono repre..<;entati
vo de la curva, que lo hubiéramos podido utilizar para distintas operaciones sobre las
curvas. Sin embargo, para este efecto, utilizamos el muestreo. Que resulto ser efectivo
y simple para los cálculos que nosotros nece..<;itábamos (interferencia, grupos, área de
grupos, viabilidades, etc).
No podemos decir que la etapa de construcción se eliminó en su totalidad, pero sí que
este proceso está mezclado con el muestreo, que e,<; reducido, y que e..<; sencillo.
4.6.1. Selección de puntos de la cuadrícula que pertenecen a la curva
Durante el muestreo, las celdas de la cuadrícula son seleccionadas de acuerdo a su
valor del campo escalar que almacenan, las celdas que tienen su valor dentro de un rango
son elegidas para formar la curva. Para determinar que una celda está o no en un rango
se puede aplicar alguna máscara de bits.
límite superior
Figura 4.8: Limite inferior y superior para la selección de puntos.
La Figura 4.8 presenta a una curva que no tiene ninguna interferencia debida a otra
planta. Las circunferencias que delimitan el área gris son los límites. La externa es el
límite inferior y la más cercana al centro es el límite superior. Recuerde que el campo
4.7. GRUPOS 33
escalar se incrementa al acercarse al centro.
Los límites son elegidos de acuerdo a las celdas vecinas a la circunferencia menor. El
límite superior queda a n celdas de esta acercándose al centrn, y el límite inferior queda
a n celdas alejándose de la circunferencia menor. La mejor n es las que está cerca de l.
Unan > 1 puede seleccionar puntos que mejoran la precisión de las curvas, pero reducen
el desempeño.
Como se puede ver la elección de los límites está relacionada con la resolución de la
cuadrícula y no es un valor arbitrario.
4.7. Grupos
Conforme se van agregando plantas, nuevos grupos se van formando. Si la nueva planta
es agregada y no interseca a ningún grupo, entonces se crea uno nuevo. De otra forma la
planta es agregada a un grupo ya existente.
En el caso de la intersección, existen dos posibilidades: la planta une grupos (Figu-
ra 4.9) o la planta se adhiere a un grupo existente (Figura 4.10). En el primer caso, son
eliminados los grupos no necesarios. En el segundo, no hay que hacer ninguna operación
sobre grupos, solo basta agregar la nueva planta .
.. !)mf)J;j j:::::Cff::::tj Grupos
D Nueva planta
Figura 4.9: Unión de grupos.
Para identificar las intersecciones de nuevas plantas, con otras ya establecidas, la curva
de cada planta deja una marca de las celdas que ocupa. Y cada celda de la. cuadrícula
lleva un registro de las curvas (marcas) que han pasado por ésta.
Cuando se agrega una nueva. planta, se analizan la.<; marcas de las celda.<; que toca y se
34 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
mur] IT''F/! Grupos
D Nueva planta
Figura 4.1 O: Adición a un nuevo grupo.
verifica que todas las marcas tengan asociado un mismo grupo. Si hay distintos grupos
involucrados, se procede a la unión de los grupos.
Para remover la planta el proceso e.<; un poco más complicado. La planta tienen que
ser eliminada de lru, celdas que alguna vez ocupo su curva. Y las plantas del grupo al
que pertenece, tienen que ser removidas y de nuevo agregadas para calcular los nuevos
grupos. Esto lo hacemos debido a que no sabemos cuantos grupos re.<;ultarán de eliminar
una sola planta. Re.~:ulta más eficiente hacerlo de esta forma que recalcular toda la curva.
Un ejemplo de un grupo e.<; la Figura 4.11. Son cuatro plantas colocadas en las esquina.<;
de un cuadrado. La influencia de una planta sobre la vecindad ecológica de la otra.<; se
puede ver claramente, la."> vecindades son 'estirada.<;' acercándose a la.c; planta.<; vecina.<;.
La razón de que la vecindad ecológica se junte en la parte inferior y no en la superior es
debido a que la.<; planta.<; inferiore.c; tienen una viabilidad mayor que las plantas superiores.
Figura 4.11: Un ejemplo de una vecindad ecológica con cuatro planta.<;, una en cada esquma.
4.8. CÁLCULO DEL ÁREA 35
4.8. Cálculo del área
Para calcular la viabilidad de un grupo es necesario saber el área de la vecindad
ecológica de un grupo de plantas.
El área la medimos en relación a la resolución de la cuadrícula. Las unidade..<i son
celdas. En realidad no nos importan las unidade..<; porque en el cálculo de probabilidades
las unidades son irrelevantes (ver Sección 4.9).
Cuando se agrega una planta, si una celda e..<;tá dentro de la curva (no sobre la curva),
la. celda. es marca.da. y el área de la planta es incrementada •:m uno, si anteriormente ya.
había. sido marca.da. no se hace nada.
En el momento en que se remueve la planta, las celdas que están dentro de la curva son
desmarcadas y los grupos recalculados. Al momento de recalcular el grupo (Sección 4.7)
las plantas nuevamente agregadas recalculan el área como se explicó en el párrafo anterior.
4.9. Cálculo de la viabilidad de un grupo
Según Benes [6] la edad normalizada está dada por:
-- cda,d cda,d = ---------
dia,muerte - dia,nacimiento
donde v(t) es la función de probabilidad dada por:
(t) _ { cda,d Si cda,d < 1 /2 V, - --
} - cda,d de lo contrario
Ahora, supongamos un sistema con dos especie..<;, denotadas por 1 y 2. Para incluir la.
retroalimentación negativa [6] nosotros medimos el área cubierta por plantas de cada.
especie. Vamos a denotar estas áreas por a,1 y a,2 . Las funcione..<; de viabilidad modificadas,
de las e..<;pecies 1 y 2 e..<;tán dadas por v1 ( t) y V2 ( t):
La generalización del cálculo de la viabilidad de un grupo, está da.da por:
36 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
4.10. Interferencia negativa
En la formación de grupos, la.e; plantas de la misma. especie contribuirán al crecimiento
<le su vecindad ecológica, y las plantas de otra. especie lo reducirán. En la Figura 4.12 se
muestra como la vecindad ecológica. es afecta.da. por otra especie, esta figura es semejante
a el campo eléctrico provocado por cargas del mismo signo, que no es sorprendente puesto
que las implícitas provienen del estudio del campo eléctrico.
Figura 4.12: Interferencia. provocada. por otra especie.
A diferencia del campo eléctrico, en nuestra simulación, las cargas positivas tienen
un peso mayor que las negativas, a este peso menor le llamaremos viabilidad negativa.
lVIatemáticamente, en la sumatoria 4.3, ai representan la viabilidad de una planta y una
n; < 1 representa. la interferencia negativa.
4.11. Cuadrícula de potencial
En condiciones ideales, las planta<; crecerían sin interferir con ei crecimiento <le otras
plantas. En nuestro modelo, la cuadrícula de potencial represent2, esta situación ideal.
Es decir, contiene la suma de las contribucione.s del campo escalar de toda.e; las plantas
de todas las especie.:-::. Y la utilizamos para calcular las interferencias entre las curva.e;.
Como se puede ver en la Figura 4.13, a cada especie le asociamos una curva. implícita,
4.12. ÁRDOLES
especie b
+
especie e
=
cuadricula /7=-=--==---------1----, de potencial
Celda con las conlribuciones de las
especies a. b y c
Figura 4.13: Cuadrícula de potencial.
37
en este caso a. las tres especies a., b y e que son las que contribuyen al campo escalar de la
cuadrícula. de potencial. La cuadrícula de potencial sirve para inicializar la.<; cuadrícula.<;
de la.<; especies de la. escena.
Después de la inicialización, ya no utilizamos la cuadrícula. Para provocar la.<; inter-
ferencia._<; negativa._<;, una nueva planta es agregada a la cuadrícula de su especie con su
viabilidad y al resto de la.<; especies, pero con viabilidad negativa.
, 4.12. Arboles
Los árboles son modelados proceduralmente siguiendo el modelo de hilos presentados
en la. Sección 2.1.2. La.<; rama.<; son cilindros y la.<; hoja.<; son hecha._<; en bases a. un abanico
de triángulos. La.<; hojas son distribuidas y rotada.<; uniformemente a. lo largo la. rama..
Ver Figura 4.14.
Para un diseño más amigable al usuario programamos una herramienta que permite
modificar los parámetros del modelo de hilos, ver Figura 5.3.
En la Figura. 4.14 el ángulo a. y la distanciad son la.<; misma.<; para todas la.<; hoja._<; de
una misma especie.
v.lirll ULU 'l . .:)UL,UL,lUH vr,1., rnUDLJc,lVl.li
Figura 4.14: Distribucié,n de las hojas a lo largo de una rama.
Las hojas que utilizamos fueron hechas por el programa proporcionado por Erik Millán,
ver Figuras 4.15 y 4.16.
Figura 4.15: Ejemplo de una hoja utilizada para nuestra simulación.
En la implementación del modelo de hilos, cuando se llega a un punto de división, las
coordenadas de las ramas hijas son generadas a partir del sistema local de la rama padre.
Esto pasa similarmente en los sistemas L, en la geometría de la tortuga ver Sección 2.1.3
la tortuga regresa al final de la rama padre por cada una de las ramas hijas generadas.
Parece funcionar correctamente, sin embargo al momento de generar instrucciones para
algún lenguaje para rendering, cada recolocación al sistema local de coordenadas del
padre, por cada un.a de las ramas, hace que el tiempo de verificación del compilador
4.13. SIMULACIÓN 39
Figura 4.16: Otro ejemplo de una hoja utilizada para nuestra simulación.
( en inglés es llamado parsing) y el tiempo de rendering se incrementa notablemente.
Como una contribución de esta tesis al modelo de hilos, nosotros propusimos que las
coordenadas fueran transformadas al sistema global de coordenadas. Parece intuitivo,
pero al parecer, había pasado desapercibido.
4.13. Simulación
Nosotros usamos tres presentaciones de una planta. La primera es necesaria para sim-
ular competencia entre plantas individuales, otra para el cálculo de las viabilidades de
los grupos y la. última es requerida para obtener una imagen foto realista de la escena.
Para el primer caso, cada planta del ecosistema es representada por su posición y vecin-
dad ecológica por medio de circunferencias, ver Figura 4.17. La segunda, los grupos son
representados como curvas implícitas, ver Figura 5.4.
·. ·. .~
Figura 4.17: Distribución espacial y vecindades ecológicas con circunferencias de un ecosistema.
40 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
Para obtener imágenes foto realistas nosotros almacenamos la escena en intervalos de
tiempo fijos. El formato en el que las guardamos fue para Persistence of Vision my
lmcer [37]. En estos archivos, las primitivas 3D representan los objetos de la escena.
Superficies de Bézier modelan las flores, pétalos y pasto, segmentos de línea representan
hojas pequeñas, y una semiesfera es utilizada para representar el conjunto de estambres
de las margaritas, etc.
Las escenas son un poco grandes, en lo que espacio en disco y memoria se refiere. Por
ejemplo una escena con cientos de miles de plantas toma más de cincuenta megabytes de
espacio en disco y requiere más de un gigabyte de memoria para ser utilizada durante el
rendering. Para disminuir estos requerimientos nosotros utilizamos instanciamiento. En la
Figura 4.18 podemos ver un ecosistema de cuatro mil objetos que utiliza instanciamiento.
Las plantas son cla.<iificadas de acuerdo a la edad y les son a.<.;ignadas un modelo 3D acorde
a su edad. El modelo de una planta puede ser duplicado para representar distinta.<.; planta.<;,
para agregar mayor realismo al modelo le es aplicado una serie de transformaciones
geométricas, lo que lleva a un ahorro de memoria significativo. La calidad visual de cada
escena depende del número de modelos utilizados. El incremento del número de modelos
incrementa la calidad de la imagen así como también la cantidad de memoria utilizada.
Nosotros hemos notado que cerca de un ciento de modelos que son copiados por un
centenar de millares, no e.s perceptible al ojo humano. La repetición de una planta no es
aceptable si hay menos de veinte modelos para la misma escena.
Nosotros utilizamos el modelo local con retroalimentación de del medio ambiente para.
asegurar la estabilidad de la simulación [6, 15]. Nuestro ecosistema ,~s representado como
una superficie continua con ligeras modificaciones en la altura. Las modificaciones son
debidas a dos funcione.e; trigonométricas: al sen(x) y al cos(x). La altura en un punto
del plano es encontrada de la forma z = f(x, y) = a,· sin(b · :r) +e· cos(d · y). Donde
a, b, e, d, son constantes que se utilizan para modificar la curvatura del terreno. La
Figura 4.19 presenta una toma lateral de una porción de terreno generada. con funciones
trigonométricas donde van a ser colocada.e; las plantas.
4.13. SJMULACJON 41
Figura 4.18: Un modelo de un ecosistema que utiliza instanciamiento.
Figura 4.19: Terreno genera.do por medio de funciones trig;onométricas simples.
Para dar inicio a una simulación la.'> plantas son puestas en sus condiciones iniciales.
Las plantas se desarrollan de acuerdo a las regla.'> locales y compiten por recursos. La
competencia es simulada por la colisión de grupos y de plantaB individuales, las curva.'>
implícita.'> que delimitan los grupos detectan las colisiones. El grupo con menor proba
bilidad de sobrevivir es eliminado.
La competencia puede ser clasificada en dos tipos: las planta.'> que compiten pertenecen
a la misma especie o la.'> plantas que compiten son de distintas especies. En los dos ca.'>os
la viabilidad de los grupos se hace como en la Sección 4.9 y t:l cálculo de la viabilidad
de cada planta se hace de acuerdo a Benes [6], en la cual la viabilidad es favorece a las
planta.'> que están a la mitad de su vida. Las planta.'> jóvenes o viejas tienden a tener menor
probabilidad de sobrevivencia. Si dos plantas de la misma especie compiten, la función
de la viabilidad depende solamente de la edad. Si son planta.'> de distinta.'> especies otras
variables están involucrada.'>. En este caso, la función de viabilidad es calculada tomando
42 CAPÍTULO 4. SOLUCIÓN DEL PROBLEMA
en cuenta el área de la vecindad ecológica del grupo. Esto significa que la viabilidad
depende de la frecuencia, el área, la edad y el grupo.
Si dos o más plantas de la misma especie están en el mismo lugar, la retroalimentación
del medio ambiente simula la situación en que los recursos escasean. Esto hace al grupo
débil e indirectamente beneficia a las demás especies que crecen a su alrededor.
El ecosistema es controlado por lapsos de tiempo discretos que aproximan ~l transcurso
del tiempo continuo. Nosotros usamos lapsos de tiempo L.t = 1/2 día, que es determinado
por el crecimiento má.c: rápido de una planta en el ecosistema, en este caso el trigo. Después
ele un lapso de tiempo las siguientes acciones son realizadas.
1. Las plantas que deben liberar semillas, las sueltan.
2. Las plantas que caen fuera del área del ecosistema son eliminadas.
3. La..c; colisiones entre plantas y grupos son detectadas.
4. Las planta...:.; crecen
.S. El tiempo es incrementado por medio día más.
Capítulo 5
Resultados
A continuación se presentan algunas de las imágenes que obtuvimos a lo largo de la
elaboración de esta tesis.
5.1. Modelos individuales
La Figura 5.1 muestra. los modelos que utilizamos durante la simulación: una margarita,
una flor silvestre, pasto y trigo. Algunas de las plantas fueron generadas con el software
Plan,i Studio [é,.5].
El programa desarrollado para modelar árboles puede verse en la Figura 5.3. La interfaz
fü;ta elabora.da con GLUI y el resto con OpenGL. En e.c;te programa se pueden modificar
los parámetros del modelo de hilos visto en la Sección 2.1.2 .. Así como también se puede
ver el arc:hivo que e.e; generado por el programa en el Apéndice A, en el cual la mayoría de
los valores relacionados con las fuerzas que afectan al árbol van de O.O hasta 1.0. Para. crear
un pino, de forma cónica el ortotropismo de la rama mayor (OrthotropismMajor) debe
de ser mayor en relación al de las ramas menores (OrthotropismJVIinor) lo que provoca
que solo el centro tenga crecimiento hacia arriba, y las rama.e; menores alejándose del
centro.
En el archivo aparece el rnímero de distintos modelos a ser generados (Numberüf
Frames) en ca..c;o de que se quieran hacer animaciones en las que se simule el crecimiento
cfol árbol. Cada uno de los modelos se e.sea.la para. hacer una simulación de crecimiento
más suave.
43
44 CAPITULO 5. RESULTADOS
~/ Figura 5.1: Modelos utilizados para la simulación.
El número de hilos (strands) es un parámetro que afecta claramente el rendimiento
del programa, lo que sugerimos es el uso de un número reducido de hilos, al rededor de
200 hilos esta bien. Un árbol modelado con este programa es el de la Figura 5.2, es un
árbol de aproximadamente de tres años de edad y con hojas como las que aparecen en la
Figura 4.16. Sin embargo, cuando el número de árboles en la escena aumenta es necesario
reducir el nivel de detalle y utilizar hojas en forma de rombo es una opción. De manera
que si requerimos detalle utilizamos las hojas de la Figura 5.2 de otra forma utilizamos
rombos, una combinación de las dos produce buenos resultados.
5.2. Distribución espacial y vecindades ecológicas
En trabajos anteriores, la viabilidad de una planta está determinada por edad, la
especie, etc. La nueva variable que nosotros introducimos es el grupo al que pertenece la
planta. Un grupo mayor propiciará que los individuos pertenecientes puedan sobrevivir
si se mantienen juntos, de otra forma perecerán. Parece muy intuitivo, pero había sido
5.2. lJlSTRlHUG'lUN .ESPACIAL Y V.E<JlNLJALJ.ES .E<JULUGl<JAS 45
Figura 5.2: Árbol utilizado en nuestra simulación y diseñado con nuestra herramienta.
ignorado anteriormente en modelos locales o simulaciones.
De la forma que manejarnos las curvas implícitas, podernos incrementar o decrementar
la curva que envuelve a los elementos del grupo. Es decir, no tenernos que regenerar la
curva de nueva cuenta en su totalidad por cada uno de las nuevas plantas. No pasarnos
por la etapa de construcción pero de la etapa de muestreo obtenernos la información
que requerirnos. El inicializar el sistema con la cuadrícula de potencial puede parecer
muy costoso, sin embargo, se paga solo al momento de agregar o remover una planta del
ecosistema de manera sencilla.
La viabilidad ahora queda definida en términos del área las curvas implícita.e; y no del
área de la.e; circunferencia.'> que representan a las planta.e;. El área de la vecindad ecológica
del grupo parece complicada de calcular, pero corno ha sido calculada conforme se agregan
o se remueven planta.<;, resulta inmediata su obtención.
Anteriormente, corno vimos en el capítulo de trabajo previo, en los modelos locales,
para descartar planta.<; de la escena, la.e; edades junto con las viabilidades eran com
pradas. Corno parte de la.s contribuciones de la tesis, los individuos compiten entre sí,
pero además, la competencia está siendo influenciada por la de los grupos. La viabili
dad individual, afectada por la del grupo, representa la retroalimentación negativa del
medio [6] que le proporciona estabilidad.
46 CAPITULO 5. RESULTADOS
EUAAJ!· B· etflCDffil1!il:ll':l!litttlSI· tilll:·:!!··l:Ci-i·!··:IC:li-·BC·:I· ••••m&lll'lilli~il-!illii@fg;: .. ;\\: .-:-~~i """ 1 .
i ¡--:....-->
Ro\ellon .Move X ~ Move 2
•• -, ¡
i'<- r>· . V
MoveXV
BranchlngProbablllty1:~ i.Jj Branchlng Probablllty Ali:~ il j
Branchlng Angle 1:~ iJ ! Branchlng Angra Ali: reo.o i.l I
MaK Characterlstlc Length 1:~ iJ ! , Me><Characterlstic Lengtt, Ali:~ i.li
Ma,;Cheracterlstic Lenglh Mlnor:~ ~j Mln Charactarlstlc Len!J!h 1:['o.96 i.l !
: Mln Charawriltlc Lenglh All:[o'is i.l ! . Min Characierlstlc Lenglh Mlnor:~ il !
"'"" AcaYS Leng1111, ro:,- _;) ! t.1111',ActlYeLenglhAII:~ ~¡
Max Active Length Mlnor: ro.r-- i.l I Mln Active Length 1: ro.,-- i.l j·
MlnActlvelenglhAll:~i.J¡
Mln ACIIY8 Length Mlnor:~ i.1 I ThresholctRello:~ill
'. Characlllrl!llc Branch Thlckness:~ iJ ! ' Pnototrop1Smc~_;J1'
OrtnotroplSmMajot.~i.11
Orthatroplsm Mlnor: ro.,-- i.l ¡ Plaglob'oplsm Major: ro.,-- i.J ! Plaglotroplsm Minar: ro.,-- i.l t
Gravlmorphlsm Mejor:~ i.l ¡ GraYhnorphlsm Mlnor: r:cr,-- i.l !
Figura 5.3: Diseñador de árboles con GUI.
También, podemos poner a la cuadrícula de potencial como una aportación de esta
tesis, de ella se puede obtener la capacidad total de un ecosistema de generar nueva vida.
Ésta es formada de todas las contribuciones de todas las plantas de todas las especies.
Así mismo, no es necesario recurrir a métodos de búsqueda por áreas, ya que cada nueva
planta que es agregada, y por medio de las curvas implícitas, puede saber que plantas
están cerca de esta. La información de las plantas vecinas es almacenada y después es
consultada para verificar colisiones entre plantas.
Un ejemplo de un ecosistema con su respectiva generación de las vecindades ecológicas
( curvas implícitas) está dado por las Figuras 4.17 y 5.4, la primera muestra la distribución
espacial de las planta.<; y la segunda muestra las vecindades ecológicas de los grupos de
plantas. En rojo encontramos al pasto y en azul margaritas.
Las Figuras 5.6, 5. 7 representan los resultados que pudimos obtener mediante la apli-
cación de curvas implícitas para representar las vecindades ecológicas de las plantas y
sus competencias.
47
Figura 5.4: Vecindades ecológicas calculadas con curvas implícitas de la figura de la derecha.
5.3. Rendering
Los programas de simulación desplieguen elementos geométricos en dos dimensiones,
mientras que los resultados son desplegados en tres dimensiones. La descripción de la
escena generada para Persistence of Vision(POVRAY) [37], en los intervalos de tiempo
deseados. También desplegamos en OpenGL un avance de lo que está pasando. Esto
permite al usuario detener el proceso y cambiar algunos parámetros.
Para tratar con el problema de la enorme cantidad de información guardada. nosotros
utilizamos instancimiento.
Cada planta es representada por ocho modelos, de distintas etapas de su vida. Estos
modelos son salvados en un archivo y después utilizados en el rendering. Cuando el
archivo con la descripción de la escena es procesado, a cada instancia de la escena le
es asignado el modelo correspondiente a su edad, de tal forma que el crecimiento no es
continuo, si no discreto, paso a paso. Para proveer de la impresión de crecimiento, lo
que hacemos es escalar el modelo en las tres dimensiones x, y y z. Sabemos que estamos
utilizando distintos modelos en la escena, pero la escena final es realista.
CAPÍTULO 5. RESULTADOS
Figura 5.5: El ecosistema de la Figura 5.4 visto a nivel de suelo.
La Figura 5.6 muestra una escena con un ecosistema desplegado mediante instancimien
to. El tamaño del archivo con la descripción de la escena es de 17 MB. La escena consiste
de 103k plantas y solamente 622k de objetos geométricos y 42 objetos distintos. El máxi
mo de memoria utilizada durante el rendering fue de 1.1 G B y el total de tiempo utilizado
fue de 24 minutos, con una resolución de 800x600 con antialias y en una maquina IBM
PC con una velocidad a 2GHz.
Una pregunta interesante es si hay ahorro de memoria y cuanta memoria es ahorrada.
Supongamos que la escena incluye margaritas, árboles, pasto y trigo. Vamos a denotar a
el número de objetos por m., a, p y t respectivamente. Vamos a suponer que el tamaño
de la memoria es d(x), conde x pertenece a {m., a,p, t}. También, vamos a suponer que
el tamaño de una instancia es inBt. Sin instancimiento, cada objeto está completamente
en la memoria y el tamaño total estará dado por:
du = m. d(m.) + a d(a) + p d(p) + t d(t)
y el tamaño de la representación instanciada estará dada por:
5.3. RENDERING
Figura 5.6: Imagen de un ecosistema usando instanciamiento, existen más de 100,000 plantas, pero solo 42 son originales.
Objeto Tamaño (kb) Número de objetos margarita 105 72 pasto 1 3092 árbol 733 8 trigo 160 460
Cuadro 5.1: Tamaño y cantidad de objetos en una escena a considerar para el factor de compresión.
d; = inst (m +a+ p + t) + d(m) + d(a) + d(p) + d(t)
El factor de compresión está definido como:
En el Cuadro 5.1 muestra los datos a considerar para el cálculo de factor de compresión.
Con estos datos, du =90 116kb d; = 9 228kb y el factor de compresión es 90 %. Para
otras escenas el valor de compresión está dentro del rango de 80 % y 90 % y en general
es mejor para escenas más grandes.
Un ejemplo de un ecosistema estable, en el cual no perece ninguna especie, es mostra-
do en la Figura 5.8. En esta simulación, intencionalmente se inicializó incorrectamente,
bU CAJJl'l'ULU o. Hl!;:iUL'lAVU:i
Figura 5. 7: Imagen de un ecosistema usando instanciamiento, con cuatro modelos: pasto, campanilla, dos tipos de árboles.
beneficiando a una especie en particular, incrementando el número de plantas de la es-
pecie. Pero la simulación alcanzó estabilidad después de 100 días y permaneció así hasta
el final de la simulación. Nosotros nos percatamos que un ecosistema es estable cuando
el número de plantas de las distintas especies es constante a través de los pasos de la
simulación y lo que varía son las posiciones de las plantas. El promedio de margaritas
presentes fue de 50 y ha miles de hojas de pasto. El tamaño de la escena fue menor a 2.5
MB.
5.3. RENDERING 51
• "' ' ". • " -• ~
• ~ • ·-\¡, I'!
• • • • ... • ~ .
. r: • .. o -o• • • • • ..
" GI ,.,, o
• ;!' !J
<!la • • q
• • . ,, ·, .,. •• . • • • ~. ~
• . ~~
Figura 5.8: El ecosistema es inicializado aleatoriamente (arriba a la derecha) y alcanza estabilidad después de un año (arriba a la izquierda), la estabilidad continua en las imágenes inferiores.
Capít11lo 6
Conclusiones
6.1. Resumen de resultados
Propusimos una manera de interactuar entre la.'i planta.'i. En trabajos anteriores las
planta.<; interactuaban una a una. Nuestra propuesta es en el siguiente nivel de agre
gación, los grupos. De los grupos, se derivan varias característica.<; para determinar, en
la competencia, cual es el que sobrevivirá. De esta.<; variables, la más importante es la
viabilidad.
Para el cálculo de grupos utilizamos curva.<; implícitas, éstas delimitan los grupos. Los
esqueletos de la curva.<; implícita.<; son las posiciones 20 de las planta.<;.
También, presentamos la.'i imágenes de los modelos individuales y de distintos ecosis
tema.<; generados. Además, presentamos la.'i características de las escena<,, como tamaño,
mímero de elementos, tiempo de procesamiento, etc. Y los programa.<; que desarrollarnos
durante el desarrollo de esta tesis.
En el Cuadro 6.1 presentamos la.'i diferencias existenteB entre los distintos métodos
para generar distribuciones espaciale.s y las mejora.<; del método presentado en esta Tesis.
Los criterios son:
• Tipo. El tipo de modelo que es, los dos modelos vistos en la Sección 2.3 son global
y local.
• Multinivel. Existen al menos dos etapas en la.'i que se procesa la información, ver
Sección 2.3.
.53
54 CAPÍTULO 6. CONCLUSIONES
Método I Tipo Multinivel Distribución Viabilidad Competenci Estabilidad 1 espacial de grupo Área entre gru-
pos . - ------
Firhauk y 1 Local Sí Aleatoria No No No No \Vatkinson ;
1 Floycl- Global Sí Difusión de No No No NA : Steinberg error J Sistemas L Local No No existe No NA NA No [ Sis temas L Local Sí De la in ter- No Sí No No
1
L
1
abiertos acción entre plantas
Sistemas L Local Sí Derivada del No Sí No No 11111lLieonjun-
1 medio arnbi-
tu Kernel
Tesis
--
1
ente 1
! Global Sí Distribuciones No No No NA
! de prohabili-dad
Local Sí Aleatoria, Sí Sí Sí Sí crecimiento grupal
----
Cuadro 6.1: Comparación de los distintos métodos para las distribuciones espaciales, incluyendo el método de la te..,;;is.
• Distribución espacial. El método por el cual las plantas son distribuidas a lo
largo del terreno.
• Viabilidad de grupo. Existe una probabilidad que está relacionada con el grupo
y esta calculada en base a las propiedades del grupo. Esta probabilidad afecta a
sus elementos.
• Área. El área del grupo es calculada y tomada en cuenta para el cálculo de la
viabilidad.
• Competencia entre grupos. Los grupos de plantas compiten entre sí.
• Estabilidad. Cuando se deja transcurrir la simulación, el mí.mero de elementos de
cada una de la.'i especies permanece constante.
6.2. Sugerencias para trabajo futuro
Una área de investigación es encontrar otros caminos para producir las curvas im-
plícitas más eficientemente. Explorar la posibilidad de muestrear y después construir la
55
curva. Y encontrar má.'l información de la curva que pueda ayudar a nuestra simulación.
El potencial de los sistemas L para la generación de modelos y distribuciones es enorme.
Sin embargo, el lenguaje no es fácil de entender y manipular. Por lo que sería una
posibilidad encontrar un lenguaje más entendible por un programador que no está muy
relacionado con el modelado de plantas y los sistemas L.
Una área de trabajo futuro sería encontrar una forma de navegar a través de una
escena de un ecosistema de manera rápida y eficiente. Actualmente, esto no es posible
debido a la gran cantidad de primitivas geométricas necesari.as para presentar la escena
y el poder de computo limitado. Este problema, creemos, siempre nos perseguirá a los
programadores de gráficas computacionales, nuestras expectativas son demasiadas para el
poder de procesamiento actual es un reto encontrar atajos que lo aprovechen al máximo.
Otra área, es la interacción de agentes con el ecosistema, en el cual estamos trabajando:
mi asesor, Javier Abdul Córdoba y yo. La imagen 6.1 es un jardín resultado de la
interacción de agentes con el medio ambiente. Los agentes entran al ecosistema y realizan
acciones en favor de ciertas especies y causan inestabilidadef'. Los agentes pueden liberar
espacio para algunas plantas y eliminar otras si una área es sobrepoblada, siembran
plantas, la.'> riegan, etc. Para má.'> información ver los artículos [7, 8].
Figura 6.1: Arreglo de margarita.'> en un terreno.
.S6 CAPÍTULO 6. CONCLUSIONES
Bibliografía
[l] Harold Abelson and Andrea diSessa. Tnrtle Geometry. MIT Press, 1986.
[2] Masaki Aono and Tosiyasu L. Kunii. Botanical tree image generation. IEEE Com
puter Grnphics and Applications, 4(5):10 29, 32 34, Ivlay 1984.
[3] J. Arvo and D. Kirk. Modeling plants with environment-sensitive automata. Aus
graph '88, pages 27 33, 1988.
[4] Bedfich Benes. An efficient estimation of light in simulation of plant development.
In R. Boulic and G. Hegron, editors, Comp11.ter Animation and Sim11.lation '96,
Eurographics, pages 153 165. Springer-Verlag Wien New York, 1996. Proceedings
of the Eurographics Workshop in Poitiers, France, August 31 September 18, 1996.
[5] Bedfich Benes. Visual simulation of plant development with respect to inftuence of
light. Compnter Animation and Simv.lation'97, pages 125 136, April 26 28 1997.
[6] Bedfich Benes. A stable modeling of large plant ecosystems. Intemational Confer
ence on Computer Vi.5ion and Graphics, 2002.
[7] Bedfich Benes, Javier Abdul Córdoba, and Juan :tvliguel Soto. A real-time visual
models of planta.,;; interacting with virtual environment. Workshop on /ntelligent
Vitual Environmenfa, 2002.
[8] Bedfich Benes, Javier Abdul Córdoba, and Juan Miguel Soto. lnteracting agents
with memory in virtual ecosystems. The 11-th Intemational Conference in Central
Europe on Computer Graphics, February 2003.
57
58 DIDLIOGRAFÍA
[9] James F. Blinn. A generalization of algebraic surface drawing. A CM Transactions
on Graphics (TOG), 1(3):235 256, 1982.
[10] Norishige Chiba, Ken Ohshida, Kazunobu Muraoka, Mamoru l\1iura, and Nobuji
Saito. A growth model having the abilities of growth-regulations for simulating
visual nature of botanical trees. Comp11.ten, and Graphics, 18(4):469 479, July
A ugust 1994.
[11] Norishige Chiba, Ken Ohshida, Kazunobu Muraoka, and Nobuji Saito. Visual sim
ulation of leaf arrangement and autumn colours. The }011,mal of Visualization and
Comp11.ter Animation, 7(2):79 93, April-June 1996. ISSN 1049-8907.
[12] Philip J. Clarck and Francis C. Evans. Distance to nearest neighbor as a meas11.re
of spatial relat.ionships in populations, volume 45. Academic Press, 1954.
[13] Luiz Henrique De Figueiredo and Jonas Comes. Sampling implicit objects with
physically-based particle systems. Comp11.ten; and Graphic.,, 20(3):365 375, May
June 1996.
[14] Phillippe de Reffye, Claude Edelin, Jean Francon, Marc Jaeger, and Claude Puech.
Plant models faithful to botanical structure and development. Computer Graphics
(SIGGRAPH '88 Proceedings), 22(4):151 158, August 1988.
[15] Oliver Deussen, Patrick Hanrahan, Matt Pharr, Bernd Lintermann, Radomíf Mech,
and Przemyslaw Prusinkiewicz. Realistic modeling and rendering of plant ecosys
tems. In Michael Cohen, editor, SIGGRAPH 98 Conjerence Proceedings, Annual
Conference Series, paga<; 275 286. ACl'vl SIGGRAPH, Addson Wesley, July 1998.
ISBN 0-89791-999-8.
[16] Peter J. Diggle. Statistical Analysis of Spatial Point Patterns, Mathematics in Di
ology. Academic Press, Toronto, 1983.
DIDLIOGRAFÍA 59
[17] Bruce Eckel. Thinking in C++. Prentice-Hall, Englewood Cliffs, NJ 07632, USA,
1998.
[18] F. G. Firbank and A. R. Watkinson. A model of interference within plant monocul
tures. Jonrnal of Theoritical Biology, pages 291 311, 1Sl85.
[19] Rohert W. Floyd and Louis Steinherg. An adaptive algorithm for spatial greyscale.
Proceedings of the Society far /nformation Display, 17(2):75 77, 1976.
[20] F.E. Fritsch and E. Salisbury. Plant Form and Fnnction. G. Bell & Sons Ltd, 1965.
[21] K. Ruohonen G. Rozenberg and A. Salomaa. Developmental systems with finite
axiom sets part i. International ]011,rnal of Comp11,ter Mathematics, 5:177 191, 1976.
[22] Geoffrey Y. Gardner. Simulation of natural scenes usir.g textured quadric surfaces.
Computcr Graphics (SJGGRAPH '84 Proceedings), 18(3):11 20, July 1984.
[23] Ned Greene. Voxel space automata: modeling with stochastic growth processes in
voxel space. SJGGRAPH 89, ACM Comp11,ter Graphics, J11,ly 1989, 23(3):175 184,
1989.
[24] Johon L. Harper. Popnlation Biology of Plants. Academic Press, 1977.
[25] M. Holton. Strands, gravity and botanical tree imagery. Comp11,ter Graphics Fornm,
13(1):57 67, March 1994.
[26] Brian Hopkins. A new method far determining the type of distribntion of plant
individ'U.als, volume XVIII. Annals of Botany, 1954.
[27] Mark James, Mark Hammal, Jim Hanan, Rudorrúr Mech, and Przemyslaw
Prusinkiewics. CPFG Version 2. 7 User's Manual.
[28] H. Jones and J. A. Kaandorp. Modelling of growing natural forms, 2000.
[29] James T. Kajiya and Timothy L. Kay. Rendering fur with three dimensional tex
tures. Computer Graphics (SJGGRAPH '89 Proceedings), 23(3):271 280, July 1989.
60 DIDLIOGRAFÍA
[30] Brendan Lane and Przemyslaw Prusinkiewicz. Generating Spatial Distributions for
r-.foltilevel Models of Plant Communities. pages 69 80, May 2002.
j31J Rene Lecoustre, Philippe De Reffye, Marc Jaegger, and Pierre Dinouard. Con
trolling the architectural geometry of a plant 's growth application to the begonia
genus. Creating and Animating the Virtual World (Comp11,ter Animation '92, Fo11,rth
Workshop on Comp11,ter Animation), May 1992.
[32] Ilernd Lintermann and Oliver Deussen. Interactive modelling and animation of
branching botanical structures. Compv.ter Animation and Sim11,lation '96, pages
139 151, 1996. Proceedings of the Eurographics Workshop in Poitiers, France, Au
gust 31 September 18, 1996.
[33] Lucasfilm Ltd. The adventures of André and Wally. 1982.
[34] N. MacDonald. Trees and Networks in Biological Models. John Wiley, Chichester,
1983.
[35] N. Max and K. Ohsaki. Rendering trees from precomputed Z-buffer views. June
1995.
[36] Radomír Mech and Przemyslaw Prusinkiewicz. Visual models of plants interact
ing with their environment. pages 397 410, August 1996. held in New Orleans,
Louü,iana, 04-09 August 1996.
[37] Persistence of Vision Ra.ytracer. http://www.povray.com.
[38] P. E. Oppenheimer. Real time design and animation of fractal plants and trees.
volume 20, pages 55 64, August 1986.
[39J M. Hammel P. Prusinkiewicz, J. Hanan and R. Mech. 1-systems: from the theory
to visual models of plants. Machine Graphics and Vision, pages 2(4):12 22, 1993.
[40] David A. Perry. Forest Ecosystems. The Johns Hopkins University Press, U.S.A.,
1994.
IJIDLIOGRAFÍA 61
[41] Joanna L. Power, A. J. Beraheirn Brush, Przernyslaw Prasinkiewic, and David H.
Salesin. lnteractive arrangement of botanical 1-system models (color plate S. 234).
pages 175 182, April 26 28 1999.
[42] Przernyslaw Prusinkiewicz. Simulation modeling of plants and plant ecosysterns.
Communications of the ACM, 43(7):84 93, July 2000.
[43] Przernyslaw Prusinkiewicz, Mark James, and Radomif Mech. Synthetic topiary.
pages 351 358, July 1994. ISBN 0-89791-667-0.
[44] Przernyslaw Prusinkiewicz, Aristid Lindenmayer, James S. Hanan, et al. The algo
rithmic beauty of plants. Springer-Verlag, New York, 1990.
[45] Przernyslaw Prusinkiewicz, Lars Mündermann, Radoslaw Karwowski, and Brendan
Lane. The use of positional information in the modelmg of plants. pages 289 300,
2001.
[46] W. T. Reeves and R. Blau. Approximate and probabilistic algorithms for shading
and rendering structured particle systems. Comp11.ter Grnphics (SIGGRAPH '85
Proceedings), 19(3):313 322, July 1985.
[47] G. Rozenberg and K. P. Lee. Developmental systerrrn with finite axiom sets part i.
Jntemational Journal of Computer Mathematics, 4:43 68, 1974.
[48] Romesh Saigal. Numerical continuation rnethods, an introduction (Eugene Allgower
and Kurt Georg). SIAM Rcvicw, 33(4):675 690, Decernber 1991.
[49] V. V. Savchenko, A. A. Pasko, O. G. Okunev, and T. L. Kunii. Function represen
tation of solids reconstructed frorn scattered surface points and contours. Computcr
Gmphics Fornm, 14(4):181 188, October 1995.
[50] Robert Sedgewick. Algorithms in C++. Addison-Wesley, Boston, 1998.
62 DIDLIOGRAFÍA
[51] J. Shade, D. Lischinski, D. Salesin, T. D. DeRose, and L. Snyder. Hierarchical
image caching for accelerated walkthroughs of complex envi rnnments. (TR-96-01-
06), January 1996.
[.52] Dennis F. Sinclair. On tests of spatial randomness 11,sing mean nearest neighbor
distance, volume 66. Annals of Botany, 1985.
[53] A. R. Smith. Plants, fractals, and formal languages. Computer Graphics, 18(3):1 10,
1984.
[54] Alvy Ray Smith 111. Plants, fractals, and formal languages. Comp11,ter Graphics,
18(3):1 10, July 1984. Applications of formal grammars for generating graphic
fractals "graftals" in the modeling of plants.
[55] Plant Studio. http://www.kurtz-fernhout.com.
[56] Ivan Sutherland. A Man Machine Graphical Comm11,nication System. PhD thesis,
TVlassachusett.s Institute of Technology, January 1963.
[57] Concurrent Versions System. http://www.cvshome.org.
[58] Jason Weber and Joseph Penn. Creation and rendering of realistic trees. pages
119 128, August 1995. held in Los Angeles, California, 06-11 August 1995.
l59J Geoff Wyvill, Craig McPheeters, and Brian Wyvill. Data ftructure for soft objects.
The Visual Computer, 2(4):227 234, 1986.
Apéndice A
6.3. Ambiente de desarrollo
Para el desarrollo del programa. utilizamos una. computa.dora. personal Pentium 111
500 Mhz con 256MB en RAM. El ambiente de programación fue Microsoft Visual C++
version 6. Para el rendering utilizamos POV-Ray para Windows [37], versiones 3 y 3.5.
Los lenguajes de programación fueron C++ junto con dos extensiones del lenguaje:
OpenGL y GLUI. La. primera la utilizamos para hacer presentaciones en 30 y la segunda.
para hacer la interface gráfica para el usuario.
De C++ utilizamos características adicionales a. este lenÉ;uaje, como lo son algoritmos
STL [17]; por medio de los cuales el manejo de listas, conjuntos, vectores, pilas fue
rápidamente implementado.
Para. mantener el control de versiones del código utilizamos Conc11.rrent Version System
o CVS [57]. CVS permite tener distintas versiones del mismo programa.
6.4. Programas
Los programas que utilizamos para hacer la simulación son principalmente dos. El
primero para diseñar árboles y el segundo para hacer la simulación del ecosistema.
6.4.1. Árboles
Como ya se menciono se utilizo GLUI para diseñar la interface hacia. el usuario. Por
medio de ella se pueden modificar los parámetros del siste::na. de hilos (ver Sección 2.1.2).
La Figura 5.3 presenta la interface del usuario así como el resultado de las modificaciones.
63
64 DIDLIOGRAFÍA
Estas pueden ser guardadas en un archivo para deBpués ser utilizado en la simulación.
Un ejemplo de un archivo que contiene los parámetros del modelo d.e hilos es el siguiente
( ver [2.S]):
########################
Strands=150
MainBranchCharacteristicLength=5.0
CharacteristicBranchThickness=0.02
BranchingProbabilityl=0.5
BranchingProbabilityAll=0.3
BranchingAngle1=115
BranchingAngleA11=80
###########################
Ma.x:CharacteristicLength1=1.0
Ma.x:CharacteristicLengthAll=0.98
Ma.x:CharacteristicLengthMinor=0.76
##########################
MinCharacteristicLengthl=0.98
MinCharacteristicLengthAll=0.85
MinCharacteristicLengthMinor=0.7
###########################
Ma.x:ActiveLengthl=0.15
Ma.x:ActiveLengthAll=0.4
MaxActiveLengthMinor=0.3
###########################
MinActiveLengthl=0.1
MinActiveLengthAll=0.8
MinActiveLengthMinor=0.7
############################
6.4. PROGRAMAS
ThresholdRatio=0.8
Phototropism=0.3
##########################
OrthotropismMajor=0.9
OrthotropismMinor=0.1
###########################
PlagiotropismMajor=0.1
PlagiotropismMinor=0.1
###########
GravimorphismMajor=-1.0
GravimorphismMinor=-.1
#weibull<5
#GravimorphismDown=0.5
#weibull>=5
#GravimorphismUp=0.5
###########################
GravicentralismMajor=0.9
GravicentralismMinor=0.1
########################################
NumberOfFrames=lO
BeginDisplayList=20
#############hojas###############
Peaks=2
Folds=5
Diff=O. 500
PeakScale=0.000000
StartAng=2.000
RadiusDif=0.000
65
66
Stripes=7
StripeStart=0.750
Size=0.5
#################hojas en la rama####
DistanceBetweenLeaves=0.9
AngleBetweenLeafAndBranch=70.0
RotationAngle=30.0
6.4.2. Simulación
DIDLIOGRAFÍA
El programa que obtiene las subsecuentes distribuciones espacides de las planta..c; recibe
como entrada un archivo con la distribución inicial. El archivo t:.ene un encabezado que
determina el número de especies presentes en la simulación a..<;Í como su radio máximo. A
la especie le es a..<;ociado un identificador natural. El radio mayo:r es un número racional
que va desde .1 ha..<;ta 1. Después del encabezado le sigue una lista de cada uno de los
individuos. El formato con el que se especifican los individuos es: especie, radio, /r,yj.
A continuación presentamos un ejemplo del archivo pequeño que utilizamos para hacer
pruebas.
O, .2
1,. 1
2, .1
#plantas
0,0.9,[1,.3]
O, O. 1, [1, - . 4]
0,0.5, [1, .5]
O, O. 1, [ -1, 1]
O, O. 5, [O.O, O. O]
1, 1. O, [O. 5, O. 5]
1,1.0, [1.5,1.5]
6.4. PROGRAMAS
1, 1. O, [2. O, O. O]
1,1.0, [2.0,-1.0]
2,0.352,[-1.3268,0.3611]
2,0.312,[-1.1088,-0.7499]
2,0.345, [-1.3375,-1.2784]
2,0.308, [-0.5662,-0.3356]
2, O. 1260, [O.O, O. O]
67
En el caso del ejemplo anterior, son tres especies, con 5,4 y E1 individuos respectivamente.
Distribuidas en una área de 6 x 6. Con el origen en el centro del área.
68 DIDLIOGR.AFÍA
Apéndice B
A continuación está el documento 'A real-time visual models of plantas intera.cting with
virtual environment · presenta.do en el taller de ambientes ·,irtua.les inteligenteB, México,
2002.
(http://graf.fciencias.unam.mx/-events/ivew-micai.html).
69
A Real-Time Visual Models of Plants Interacting with Virtual Enviromnent
Becllich Benes1 , Erik Uriel Millán2 ,
Guillermo Romero2 , and Juan Miguel Soto:!
I Instituto Tecnológico y de Estudios Superiores de MJnterrey Campus Ciudad de México,
Calle del Puente 222, 14380 México D.F [email protected]
2 lnstituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México,
Carretera Lago de Guadalupe Km. 3.5, Atizapn de Zaragoza, 5:!926 México D.F
Abstract. This paper describes a system for a real-time simulation of threedimensional visual models of plants competing for space and light in a virtual environment. The result is a boundary representation model of a plant suitable for displaying or use in virtual reality systems or in biologica, simulations. The virtual environment influences the plant and the prograrn generates corresponding geometrical structures. Plants can climb supporting tools, are able to avoid collision with objects and the plants themselves, and can detect the best-illuminated position to grow. Collision detection and the growth directions are fast solved using additional data structures that are efficiently updated as the plants grow. The program runs sufficiently fast on an average personal computer allowing real-time interaction with lhe scene and a good leve! of control and inte:aclion.
1 Introduction and Previous Work
An important and interesting task of computer graphics is a simulation of natural phenomena. Toe simulation has two important consequences. First, we obtain realistic models of natural objects that belp us in the computer graphics. Second, simulations of natural pbenomena allow us to understand Nature better.
One of the interesting areas is a simulation of plant development. Toe diversity of the shapes of one plant species makes the understanding 1he rules and regularities that govem it hard. One of the possible ways to understand is a visual simulation by means of computer graphics. Toe quality of the resulting model is justified by visual plausibility. Toe visual proof is easier to perforrn for human b~ings than for computers.
Probably the first visual model of plant was introduced by Aono and Kunii [l]. Here, as well as in the later models, the fractal structure determines the plant topology. Toe inability of the fractal-based techniques to capture the JJlant interaction with the surrounding environment has later led to simulations of plant development. Toe correct way to obtain a realistic model of a plant is to capture the development of its structure over time. Toe influence of an environment is critica( here A maple tree developed in a shady comer of a yard will have completely different i.hape than the same plant
in an open landscape. Toe way to capture the differences is the simulation of plant development in a well-simulated virtual environment.
There are two important classes of algorithms simulating the plant development. Toe first is based on Lindcnmayer systems and the other on particle systems.
The Lindenmayer systems (L-systems) were described by Lindenmayer I 14 J and were used as systems for simulation ofthe cell development and replication. L-systcms were later extcnsively extended by Prusinkiewicz and its collaborntives (see [12, 16) for review). So called Open L-systems [15) control the rewriting process also by externa! conditions, for example by light or proximity to an obstacle. This comrnunication flow is mutual; plants are influenced by the virtual environment and vice versa. Toe last work of Prusinkiewicz el. al [ 1 7) enhances visual plausibility of plant:; integrating three important elements: posture, gradual variation of features, and the progression of drawing process from silouhette to local details.
Toe second group of algorithms used for virtual plants modeling is based on particle systcms. Particle systems were used for the first time for plant modeling by Reeves and Blau [18). Arvo and Kirk [2] and later Greene [10) used simila:: approach to simulate clirnbing plants. Particles are able to sense the surrounding emironment and perform predefined actions. Toe prox.imity of a supporting tool is detected and the plant tries to keep close. Toe arnount of incorning light is also evaluated and 1:he plant tends to leave shadowed parts of the scene.
AMAP, anotber particle system oriented approach, was described in details in [9) and later extended [3, 5] and [13). AMAP is a biologically bai;.ed system using serniintelligent particles. Every module has a certain behavior that depends on its interna! state and on tbe virtual environment. For example a bud can grow only if it is sufficiently fed by soils from the root and by C02 from the adjacent Ieaves.
Chiba et. al [ 6, 7) uses particle system based plant modeling as well. Toe main focus of their work is an interaction of the plant witb light and tree pruning. Toe approach is sinúlar to AMAP, although the rules used for plant development simulation are simplified.
Toe next section describes the plant model and plant develo¡:,ment. Plant-environmcnt interaction is described in the Section 3 and the implementation description is in the Section 4. Results of our work are in the next section and the \ast Section 6 concludes the paper.
2 Plant Model
The common approach used in computer graphics is to model the plant on the leve! of so called modules [9] (see in Figure 1). Let's follow the description from [5].
A module is a basic unit that usually corresponds to certa,n plant organ or a group of organs that have sorne important properties from the viewpoint offunctionality ofthe plant. Toe most important plant module is a bud, which can assume one of two forms: an apical bud is always located at the extremity of the main trunk or lateral branch, whereas a lateral bud is situated at the leafs axil (it is also called axilar bud). A lea/ is always adjacent to a lateral bud. A node consists of one or more lateral buds and an identical number of leaves. Toe lateral leaves feed the bud. An internode is a piece of
stem located between two successive nodes. Toe node is either i:ituated between two intemodes, or at the tip of the branch. An ape.x is an apical segment with its apical bud.
Buds are the basic units causing the plant to grow (see in Figure 2). A bud can either die, or bloom and die, or be:ome dormant, or become an intemode. This final possibility, the process of becoming an intemode, is th,~ most important one because it causes growing and branching. This process consists of three steps (see Figure 2). At first, one or more lateral leaves appear beside the bud and the same number of new buds appears at their axils. Toen the apical bud produces a piece of stem - the new intemode. Branch is a result of the ac-
Fig. 1. Modular structure of a plant (from [5]) tivity of its apical bud. Toe ability of the apical meristem differs with the bud age. Toe ability to grow can be the best characterized by a bell-shaped function oftirne.
A plant seeks for the light (phototropism) and its abundance causes the plant to branch intensively. If there is a lack of light the bud searches for light intensively. Less light causes the bud to bccome dormant anda long-term insuffici.ency of light causes the bud to die. Toe sensitivity of plants to the light is well describe:d in computer graphics literature and we refer the reader for details to [3, 6] or [15].
Fig.2. Apical bud produces ncw intemode anda lateral bud (from [3])
3 Plant-Environment Interaction Simulations
Toe rnajority ofthe plants grow in the open environment under the sky. Toe skylight is described by an equation provided by CIE (1) for a radiance L( 6', 1 ) of a single point P[e, ,] of the sky hernisphere with the sun contribution [8, page:296] is
L -L (0.91+10e-3-Y+0.45cos2,)(l-e-c.32/cose) (B,,)- z 0.27(0.91+10e-3z0 +0.45cos2 zo) · (1)
Every angle is rneasured frorn the center ofthe celestial hernisph1!re. Lz is the radiance of the zenith, 1 denotes the angle between the sun and the point P, e is the angle between zenith and the point P, z0 is the angle between zenith and the sun, anda is the projected angle I
This equation is quite cornplicated and not easy to evaluate. Benes [4] has proposed an approximation of the skylight that substitutes the skylight by a set of parallel light sources integrating the ernitted light over the time. This can be evaluated in advance and stored for later use. Toe plants grow slowly so the integration over time provides an average value that is a good representative ofthe skylight.
3.1 Collisions
Fig. 3. Hedera helix
3.2 Climbing Plants
In real ,ty plants cannot enter another structures. This is quite simple in reality but not so easy to irnplernent. We need to find a fast way how to detect collisions with the object where a plant tends to grow and avoid thern. Toe efficient collision é.etection should be generated as a response of the virtual environm,mt. Details ofthe irnplernentation are described in the Section 4.
We deal with clirnbing plants here. Sorne voluble species (hedera helix in the Figure 3, vitis vinífera, cestrum nocturnum) produce two lateral buds. One ofthern converts into new lateral branch whereas the other develops sorne kind of claw-like organ. This can surround nearby objects or can enter sorne shallow plaster or b,irk of another plant. This maintains the branch close to the supporting object.
Voluble plants are sensitive to two phenornena. Sorne of thern grow in areas that have high level of calcium, i.e., plaster of a house, the other,; prefer to be exposed to intensive light, whereas sorne prefers to stay in shadow. A description ofthis simulation can be found in (5, 10].
4 lmplementation
One of our goals is to obtain a high-speed system with a good level of interaction, that could run interactively on an average-class computer.
lnitialiZation
seeds
object initial positions
geographical information
Virtual
objacts
skylight
Actions Toe interac
tions with light and collision detection are simulated (see inFigure4). These factors were found as the most important for the formation ofthe plant shape. To give a specific example,
Fig. 4. Schema of the system the amount ofwa-
ter is an important factor for the viability of the plant, but does not influence the shape evolution very much.
Toe system consists of the input data describing the initial conditions, the actual state ofthe system, and the programs manipulating the data.
4.1 Data
Toe entire system is initialized (see in Figure 4 on the left) by seeds that correspond to the plants, by certain three-dimensional objects (houses, obstacles, walls, fences, etc.) and by the terrain description.
These scene descriptions are made in two different ways. Tht: objects themselves are represented in a boundaiy representation and are described in tex.t files. Toe objects are representedjust by their x and z positions without elevation. The terrain, and therefore the elevation, is described as a binary height field. Toe construction ofthe scene consists ofrwo steps; reading the terrain and positioning the objects there.
Toe last input value is the geographical information that serves as the input of the CIE skylight equation. Toe values of the approximating paralkl light sources are precomputed and saved in one file that is just read when the program starts.
Toe generated scene can be saved in two different formats. Toe first is a text file representing polygons and Bézier surfaces for real-time walk through and precise illumination evaluation. The second kind of output is for Persistence of Vision ray-tracer that is used to generate photorealistic images (see in Section 5).
4.2 Programs
The programs communicate by sharing data and message passing. There are three important units (see in Figure 4); the growth unit, collision detection unit, and the illumination evaluation.
An important part ofthe system is the growth unit that evaluates two input values; possibility to grow according to the three-dimensional scene (i.e., collision detection)
and the best-illuminated position. We have implemented an algorithm [5] simulating climbing plants. Strand's model [I I) and the AMAP system [9] will also be implemented.
Toe collision detection unit uses an associated voxel space. Toe entire scene is voxelized and this data structure is efficiently updated as the plants grow. A simple test of the voxel occupancy is performed in linear time. The input scene itself is quite simple and therefore can be voxelized fast. Toe only computational problcm are the leaves that are represented as a Bézier surfaces. We use the de Casteljau recw·sive subdivision that stops at the size of a voxel to determine the occupied voxels.
Toe last program - evaluation of the illumination - performi; the most time consuming task. We use two different techniques allowing us to evaluate the illumination with different precision. We can evaluate the direct illumination from the sky using 3D DDA ray-casting in the voxel space from the buds or using Z-bwffer visibility (see [3] for details). This sirnplification is sufficiently fast even for complii:ated scenes allowing interactive sirnulation. Precise (and non-interactive) illumination cvaluation is based on computing the irradiance of leaves and considering also second and high-order reflections and transmissions. We use the BSP subdivision of the object space and a MonteCario path tracing to evaluate the illumination. This work is in progress.
a) b)
e)
Fig. 5. Snapshots of the program. a) a simple scene is displayed in the preview mode b) the same scene with bounding boxes displayed e) occupied voxels d) perspectiv,: view of the scene
5 Results
Toe system is implemented in C and C++ using OpenGL and G-LUT. Toe programs are platfonn independent and run under Windows and on UNIX. Simulation of the scene consisting of O .1 M triangles runs sufficiently fast on the PC equipped with Pentiwn lll/1 GHz with GeForce graphics card.
Figure 5 shows snapshots of a simple simulation. Toe scene consists of 50k triangles can be manipulated on a Pentiwn lll/500MHz computer without hardware acceleration of graphics. Toe first image shows the OpenGL preview of the scene. Toe Figure 5 b) shows the bounding boxes of ali the plants and the next imag,! shows the occupied voxels. Toe last Figure 5 d) shows the perspective view ofthe walk-through.
Figures 6 and 7 shows the results of another simulation. Here, the scenes were exported to the Persistence of Vision ray-tracer and rendered. The scene consists of objects that are covered by ivy.
6 Conclusions and Future Work
A system for real-time simulation of visual models of plants is presented. The system simulates a virtual environrnent with artificial obstacles and skylight illwnination. Plants interact with the environment and grow according to the externa) conditions.
There are many open questions for future work. Toe underlying biological rules are quite simple and we would like to implement sorne biologically based model such as [9, 11]. Toe model should incorporate better interaction with water and soils. Toe future work includes plant seed transport in the wind and water. Another work in progress concems voxel space collision detection. We could precompute a simple voxel occupancy structure of one leaf and match it inside the voxel space using just rotation and scaling. lfthe leaf differs too much, the occupancy should be evaluated in the above-described way, but this should be (theoretically) faster.
This work is supported by the ITESM grant No.32391.
Fig. 6. Raytraced images from an animation simulating virtual walls covered by ivy
References
1. M. Aono and T.L. Kunii. Botanical Tree Image Generation. IEEE Computer Graphics and Applications, 4(5):10-34, 1984.
2. J. Arvo and D. Kirk. Modeling Plants with Environrnent-Sensitive Au tomata. In Proceedings of Ausgraph '88, pages 27-33, 1988.
3. B. Benes. Visual Simulation of Plant Development with Respect to Lnfluence of Light. In Computer Anima/ion and Simula/ion '97, Springer Computer Sc:ience, pages 125-136. Springer- Verlag Wien New York, 1997.
4. B. Benes. Skylight Approx.imation for Simulation of Plant Developrnent. In Proceedings of 1998 IEEE Conference on lnformation Visualiza/ion - IV'98,Londo,~. England, pages 146-150, July 1998.
5. B. Benes and E. Millán. Virtual Climbing Plants Competing for Space. In Nadia MagnenatThalmann, editor, IEEE Proceedings of the Computer Anima/ion 2002, pages Accepted paper, to be published. IEEE Computer Society, 2002.
6. N. Chiba, K. Ohshida, K. Muroaka, and S .. Nobuji. A Growth Model Having the Abilities of Growth-Regulations for Simulating Visual Nature ofBotanical Treei,. Computer & Graphics, 18:469-479, 1994.
7. N. Chiba, K. Ohshida, K. Muroaka, and S .. Nobuji. Visual Sirnulation ofLeaf Arrangement and Auturnn Colors. The Journal of Visualiza/ion and Computer A 11imation, 7: 79-93, 1996.
8. M.F. Cohen and J.R Wallace. Radiosity and Realistic lmage Syrrthesis. Academic Press Professional, 1993.
9. P. de Reffye, C. Edelin, J. Fra¡;;on, M. Jaeger, and C. Puech. Plants Models Faithful to Botanical Structure and Development. In Proceedings of SIGGRAPH '88, volume 22(4) of Annua/ Conference Series, pages 151-158, 1988.
10. N. Greene. Voxel Space Automata: Modeling with Stochastic Growth Processes in Voxel Space. InProceedings ofSIGGRAPH '89, volume 23(4) of AnnuaJ Conference Series 1989, pages 175-184, 1989.
11. M. Holton. Strands, Gravity and Botanical Tree Imagery. Computer Graphics Forum, 13(l):57-{i7, 1994.
12. H. Jones. Modelling of Growing Natural Forms. In Eurographics 'OO Tutorials. SpringerVerlag, 2000.
13. R. Lecoustre, P. de Reffye, M. Jaeger, and P. Dinouard. Control ling the Architectural Geometry of Plant's Growth - Application to the Begonia Genus. In Computer Animation '92, pages 199- 214, 1992.
14. A. Lindenrnayer. Mathematical models for cellular interaction in development. Journal of Theoretical Biology, Parts I and II(l8):280-315, 1968.
15. R. Mech and P. Prusinkiewicz. Visual Models of Plants lnteracting With Their Environrnent. In Proceedings ofSIGGRAPH '96, volume 30(4) of Annua/ Conference Serie~ 1996, pages 397-410, 1996.
16. P. Prusinkiewicz and A. Lindenrnayer. The Algorithmic Beauty of Plants. Springer- Verlag, New York, 1990. With J.S .Hanan, F.D. Fracchia, D.R.Fowler, M.J.de Boer, and L.Mercer.
17. P. Prusinkiewicz, L. Mundermann, and B. Lane. The use of positional information in the modeling ofplants. In Proceedings ofSJGGRAPH'Ol, volume 22(4) of Annual Conference Series, pages 289-300, 2001.
18. W. Reeves and R. Blau. Approx.imate and Probabilistic Algorithms for Shading and Rendering Structured Particle Systems. InProceedings ofSIGGRAPH '85, volume 19(3) of Annual Conference Seri~, pages 313- 322, 1985.
Fig. 7. Another raytraced images. Plants are competing in a quite complex scene for space and for the light