Simulación de ecosistemas

86
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.

Transcript of Simulación de ecosistemas

Page 1: 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.

Page 2: Simulación de ecosistemas

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.

Page 3: Simulación de ecosistemas

, 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

Page 4: Simulación de ecosistemas

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

Page 5: Simulación de ecosistemas

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

Page 6: Simulación de ecosistemas

, 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

Page 7: Simulación de ecosistemas

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

Page 8: Simulación de ecosistemas

6.1. Arreglo de margaritas en un terreno. 55

Page 9: Simulación de ecosistemas

, 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

Page 10: Simulación de ecosistemas

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

Page 11: Simulación de ecosistemas

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.

Page 12: Simulación de ecosistemas

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.

Page 13: Simulación de ecosistemas

4 CAPÍTULO l. INTRODUCCIÓN

Page 14: Simulación de ecosistemas

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

Page 15: Simulación de ecosistemas

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

Page 16: Simulación de ecosistemas

.... .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,

Page 17: Simulación de ecosistemas

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.

Page 18: Simulación de ecosistemas

• 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

Page 19: Simulación de ecosistemas

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].

Page 20: Simulación de ecosistemas

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

Page 21: Simulación de ecosistemas

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

Page 22: Simulación de ecosistemas

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.

Page 23: Simulación de ecosistemas

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

Page 24: Simulación de ecosistemas

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,

Page 25: Simulación de ecosistemas

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

Page 26: Simulación de ecosistemas

- • ...,. .._, .... ..._ ...... ......, ¿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.

Page 27: Simulación de ecosistemas

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.

Page 28: Simulación de ecosistemas

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

Page 29: Simulación de ecosistemas

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.

Page 30: Simulación de ecosistemas

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

Page 31: Simulación de ecosistemas

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.

Page 32: Simulación de ecosistemas

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

Page 33: Simulación de ecosistemas

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

Page 34: Simulación de ecosistemas

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,

Page 35: Simulación de ecosistemas

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.

Page 36: Simulación de ecosistemas

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

Page 37: Simulación de ecosistemas

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.

Page 38: Simulación de ecosistemas

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.

Page 39: Simulación de ecosistemas

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

Page 40: Simulación de ecosistemas

·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.

Page 41: Simulación de ecosistemas

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

Page 42: Simulación de ecosistemas

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

Page 43: Simulación de ecosistemas

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.

Page 44: Simulación de ecosistemas

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:

Page 45: Simulación de ecosistemas

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,

Page 46: Simulación de ecosistemas

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.

Page 47: Simulación de ecosistemas

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

Page 48: Simulación de ecosistemas

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 eco­sistema.

Page 49: Simulación de ecosistemas

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.

Page 50: Simulación de ecosistemas

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

Page 51: Simulación de ecosistemas

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.

Page 52: Simulación de ecosistemas

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

Page 53: Simulación de ecosistemas

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

Page 54: Simulación de ecosistemas

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.

Page 55: Simulación de ecosistemas

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.

Page 56: Simulación de ecosistemas

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.

Page 57: Simulación de ecosistemas

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:

Page 58: Simulación de ecosistemas

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,

Page 59: Simulación de ecosistemas

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.

Page 60: Simulación de ecosistemas

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.

Page 61: Simulación de ecosistemas

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

Page 62: Simulación de ecosistemas

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

Page 63: Simulación de ecosistemas

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.

Page 64: Simulación de ecosistemas

.S6 CAPÍTULO 6. CONCLUSIONES

Page 65: Simulación de ecosistemas

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

Page 66: Simulación de ecosistemas

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.

Page 67: Simulación de ecosistemas

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.

Page 68: Simulación de ecosistemas

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.

Page 69: Simulación de ecosistemas

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.

Page 70: Simulación de ecosistemas

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.

Page 71: Simulación de ecosistemas

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

Page 72: Simulación de ecosistemas

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

############################

Page 73: Simulación de ecosistemas

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

Page 74: Simulación de ecosistemas

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]

Page 75: Simulación de ecosistemas

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.

Page 76: Simulación de ecosistemas

68 DIDLIOGR.AFÍA

Page 77: Simulación de ecosistemas

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

Page 78: Simulación de ecosistemas

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 three­dimensional 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 colli­sion with objects and the plants themselves, and can detect the best-illuminated position to grow. Collision detection and the growth directions are fast solved us­ing 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 phe­nomena. 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

Page 79: Simulación de ecosistemas

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 im­portant 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 serni­intelligent 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 simpli­fied.

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

Page 80: Simulación de ecosistemas

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 be­come an intemode. This fi­nal 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 api­cal 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])

Page 81: Simulación de ecosistemas

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 sim­ple 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 gen­erated as a response of the virtual environm,mt. Details ofthe irnple­rnentation are described in the Sec­tion 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].

Page 82: Simulación de ecosistemas

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 im­portant for the for­mation 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 pre­computed 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 illu­mination 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 im­portant units (see in Figure 4); the growth unit, collision detection unit, and the illumi­nation 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)

Page 83: Simulación de ecosistemas

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 imple­mented.

Toe collision detection unit uses an associated voxel space. Toe entire scene is vox­elized 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 con­suming 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 reflec­tions and transmissions. We use the BSP subdivision of the object space and a Monte­Cario 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

Page 84: Simulación de ecosistemas

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 Pen­tiwn 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 sys­tem 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 con­cems 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

Page 85: Simulación de ecosistemas

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 Magnenat­Thalmann, editor, IEEE Proceedings of the Computer Anima/ion 2002, pages Accepted pa­per, 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. Springer­Verlag, 2000.

13. R. Lecoustre, P. de Reffye, M. Jaeger, and P. Dinouard. Control ling the Architectural Ge­ometry 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 Render­ing Structured Particle Systems. InProceedings ofSIGGRAPH '85, volume 19(3) of Annual Conference Seri~, pages 313- 322, 1985.

Page 86: Simulación de ecosistemas

Fig. 7. Another raytraced images. Plants are competing in a quite complex scene for space and for the light