Proyecto Final

15
Modelaci´on y Simulaci´ on Proyecto MODELACI ´ ON DE FRACTALES: SISTEMA L Andrea Bustillos Gorosave Marlyth Leggs Romero Adriana Echeagaray Junio del 2012 1

Transcript of Proyecto Final

Page 1: Proyecto Final

Modelacion y Simulacion

ProyectoMODELACION DE FRACTALES:

SISTEMA L

Andrea Bustillos GorosaveMarlyth Leggs Romero

Adriana Echeagaray

Junio del 2012

1

Page 2: Proyecto Final

Resumen

Un sistema-L o un sistema de Lindenmayer es una gramatica formal (un con-junto de reglas y sımbolos) principalmente utilizados para modelar el procesode crecimiento de las plantas; pueden utilizarse para generar fractales auto-similares como los sistemas de funcion iterada. Se presenta una introducciona los conceptos de fractal y sistemas L, posteriormente se presentan represen-taciones graficas para objetos matematicos y modelos biologicos, generadospor dicho sistema.

Introduccion

Los sistemas L (sistemas de Lindenmayer) son un conjunto de reglas ysımbolos que pueden ser usados para el desarrollo de modelos de estructurasbiologicas; deben su nombre al biologo Aristid Lindenmayer quien los propu-so en 1968. Pueden utilizarse tambien para generar fractales auto-similarescomo los sistemas de funcion iterada.

El concepto central de un sistema L es el de reemplazo, con la intencionde definir objetos complejos a partir de la recursividad del reemplazo de al-gunas partes de objetos mas sencillos, todo esto a partir de un esquema degramatica formal consistente en reglas y sımbolos. Actualmente tienen granuso en aplicaciones de graficacion por computadora, en la generacion de frac-tales y la modelacion de plantas.

En este trabajo se analizara el concepto y funcionamiento de un sistema L,su interpetacion grafica, conocer las distintas variaciones de dicho sistema yfinalmente implementarlo para la modelacion de ejemplos de fractales clasicosy para el desarrollo recursivo del crecimiento de plantas.

Planteamiento del Problema

Se pretende exponer y comprender el concepto basico de fractal y como sepuede desarrollar el modelado de estos especıficamente a traves de sistemasde Lindenmayer para obtener la modelacion computarizada y representaciongeometrica de algunos de los ejemplos clasicos del tema.

Page 3: Proyecto Final

Marco Teorico

Fractales

Un fractal es un objeto cuya estructura basica exhibe recursividad o auto-similitud a cualquier escala. El termino fue acunado por Benoıt Mandelbroten 1975 y proviene del latın fractus que significa fracturado.Un fractal tie-ne las siguientes propiedades: su irregularidad es tal, que no es posible sudescripcion con geometrıa tradicional; es autosimilar, es decir, su estructu-ra general esta determinada por copias mas pequenas de la misma figura;la dimension de un fractal es fraccionaria y es estrictamente mayor que sudimension topologica.

Hay muchos objetos de la naturaleza que, debido a su estructura o com-portamiento, son considerados fractales naturales, ejemplos de esto son lasnubes, las montanas, las costas, los arboles y los rıos, cuya representacion esaproximada ya que existen lımites en la naturaleza. Ası pues, lo que diferen-cia fractales matematicos de los naturales es que los primeros son entidadescon detalle infinito.

En un principio, parecerıa que los fractales son curiosidades matematicassin ninguna aportacion de valor cientıfico, sin embargo, son herramientas degran utilidad en el estudio de fenomenos complejos. En comunicaciones seemplean para el modelado del trafico de redes; en informatica son utlizadoscomo tecnicas de compresion de audio y video; en biologıa es importante pa-ra el estudio del crecimiento de tejidos, organizacion celular, y evolucion depoblaciones depredador-presa; en matematicas se han utilizado para determi-nar la convergencia de metodos numericos; en fısica se aplican en transicionesde fase en magnetismo; en economıa se utiliza para el analisis bursatil y demercado, etc.

Sistemas de Lindenmeyer

En 1968 el biologo hungaro Aristid Lindenmayer, tras el estudio de variostipos de algas, propuso un sistema para modelar su crecimiento (sistemasL). Inicialmente se utilizaron como una teorıa matematica del crecimientode plantas, enfocado principalemente a organismos multicelulares sencillos yposteriormente se extendio su uso a plantas de orden superior y estructurasmas complejas. Estos sistemas se aplican en paralelo, esto es, las reglas deremplazo se aplican simultaneamente en toda la palabra, en lugar de hacer-lo de manera secuencial, como en el caso de las gramaticas de Chomsky. A

2

Page 4: Proyecto Final

pesar de que la gramatica de Chomsky surgio antes que la de Lindenmayer(1956), el cambio resulta natural al pensar en que el proceso de division ce-lular (y por lo tanto crecimiento) en organismos multicelulares, se puede darsimultaneamente en distintas partes del organismo.

El concepto central de un sistema L es el de reemplazo, con la intencionde definir objetos complejos a partir de la recursividad del reemplazo de al-gunas partes de objetos mas sencillos. Un sistema de Lindenmeayer se puedeconsiderar como un conjunto {V, ω, P, L}, donde V representa el alfabeto(que es un conjunto finito de caracteres); ω es un conjunto de caracteres deV que definen el estado inicial del sistema (llamado semilla o axioma); P esuna gramatica formal, es decir, un conjunto de reglas o producciones que in-dican la forma en que se hara el reemplazo de los caracteres o variables; L esun lenguaje formal, es decir, un conjunto de palabras (cadena de caracteres)formadas a partir del alfabeto.

En terminos computacionales, un sistema L es un esquema de sustitucionde texto recursivo con una interpretacion geometrica final. Es importanterecalcar que las reglas de iteracion o produccion se aplican simultaneamentea todos los elementos de la semilla. Esta cualidad refeja el origen biologico delos sistemas L, ya que los organismos vivos crecen uniformemente en todassus partes.

Interpretacion Grafica

El resultado obtenido despues de las iteraciones es una cadena de sımbo-los y para convertirla en una imagen fractal unicamente hay que recorrer elcamino determinado por dicha cadena de salida.

Cada uno de los sımbolos de dicha cadena representa una orden que hi-poteticamente interpreta una “tortuga” que va recorriendo el plano de unlado a otro. Una vez que la tortuga ha recorrido toda la cadena, la imagenfractal quedara perfectamente definida.

Es importante mencionar que las ordenes pueden ya sea alterar el estadointerno de la tortuga o indicarle que se mueva por el plano trazando unalınea a su paso, por lo que solo se necesitan esos dos elementos para que latortuga genere al fractal.

3

Page 5: Proyecto Final

Estado Interno

El estado interno de la tortuga se denota por (l, d) y debe ser fijado antesde comenzar el recorrido. La letra l es la longitud del trazado (influye enel tamano final de la imagen) y d es el numero de angulos que gira sobresı misma (el cual influye en la apariencia de la imagen). A diferencia de lalongitud, el numero de angulos no puede modificarse una vez que el recorridoha comenzado.

Posicion en el Plano

La posicion en el plano se denota por (x, y, θ) y tambien debe ser fi-jada antes de comenzar el recorrido. Las coordenadas (x, y) representan ellugar del plano donde se encuentra la tortuga (dicha posicion cambia a me-dida que la tortuga recibe las ordenes) y el angulo θ representa la direccionen que la tortuga dibujara la siguiente lınea. La posicion puede ser modifi-cada una vez que el recorrido ha comenzado utilizando las siguientes ordenes:

F=Avanzar una unidad dibujando una lınea.

G=Avanzar una unidad sin dibujar una lınea.

+ = Girar un angulo θ en sentido contrario de las manecillas del reloj.

- = Girar un angulo θ en sentido de las manecillas del reloj.

Para el modelado de plantas, es necesario incluir dos nuevas ordenes lascuales permiten representar ramificaciones de una manera sencilla.

[ = Genera en una nueva lınea la posicion de la tortuga (Indica el comien-zo de una nueva rama).

] = Regresa al origen de la nueva lınea la posicion de la tortuga (Indicaque la rama ha terminado).

Funcionamiento

Esquematicamente, un Sistema L se desarrolla de la siguiente forma: seinicia con una semilla que pasa a ser la cadena de entrada del algoritmo,posteriormente, se aplican las reglas de produccion y el resultado sera una

4

Page 6: Proyecto Final

cadena de salida. Una vez hecho lo anterior, la cadena de salida pasa a serentonces la nueva cadena de entrada, volviendose a producir el reemplazo porlas reglas de produccion. El proceso continua hasta que el sistema L obtengael resultado adecuado.

Resultados

Se utilizo un codigo programado en MATLAB para la modelacion y gra-ficacion de distintos ejemplos generados por Sistemas de Lindenmayer. Losresultados obtenidos se muestran a continuacion.

Figura 1: Arbol con ramas.

Parametro ValorSemilla G

Produccion F−→ F[+G][-G]Grado 25

Repeticion 8

Cuadro 1: Parametros del Arbol con ramas.

5

Page 7: Proyecto Final

Figura 2: Copo de nieve.

Parametro ValorSemilla G–G–G

Produccion G−→ G+G–G+GGrado 60

Repeticion 6

Cuadro 2: Parametros del Copo de nieve.

6

Page 8: Proyecto Final

Figura 3: Cuadrado de Sierpinski.

Parametro ValorSemilla F-F-F-F

Produccion F−→ FF-F-F-F-FFGrado 90

Repeticion 4

Cuadro 3: Parametros del Cuadrado de Sierpinski.

7

Page 9: Proyecto Final

Figura 4: Curva de Koch.

Parametro ValorSemilla F-F-F-F

Produccion F−→ F+FF-FF-F-F+F+FF-F-F+F+FF+FF-FGrado 90

Repeticion 2

Cuadro 4: Parametros del Curva de Koch.

8

Page 10: Proyecto Final

Figura 5: Arbusto Pinon.

Parametro ValorSemilla ++++G

Produccion G−→ G-[-G+G+G]+[+G-G-G]Grado 16

Repeticion 4

Cuadro 5: Parametros del Arbusto Pinon.

Otras aplicaciones

Se ha mencionado que los objetos tradicionales a modelar mediante sis-temas L son plantas y curvas fractales, sin embargo, sus principios han sidoextendidos a otros dominios.

Las estructuras generadas a partir de estos sistemas son capaces de des-cribir comportamientos fractales en la naturaleza como se da por ejemplo enarboles o incluso en los vasos sanguıneos de la retina humana.

En cuanto a biologıa evolutiva, los sistemas de Lindenmayer se aplicanpara simular los procesos naturales de variacion y seleccion natural que ocu-rren en los organismos, donde su representacion genetica se fundamenta en

9

Page 11: Proyecto Final

el formalismo de los sistemas L.

Figura 6: Visualizacion de progenitores y descendencia en dos recombinacio-nes geneticas. Los puntos de cruce corresponden a los bloques resaltados enlos progenitores.

Respecto a la morfogenesis, que controla la distribucion espacial orga-nizada de las celulas durante el desarrollo embrionario de un organismo,existen simulaciones, por ejemplo, de los primeros dıas en que se desarrollaun estomago humano. Existen tambien sofisticadas aplicaciones no biologicasdirigidas al modelado aproximado de ciudades o, en general, de animacionespor computadora.

Conclusiones

En este trabajo se presento una introduccion a los sistemas iterativos deLindenmayer para modelar el crecimiento de plantas y la generacion de frac-tales. Este metodo consiste en la definicion de un alfabeto y un abecedario,a partir de los cuales se genera un patron, y finalmente se asigna la interpre-tacion geometrica a cada cadena del diseno. Ademas se describio en rasgosgenerales el concepto de fractal, sus variaciones y caracterısticas.

10

Page 12: Proyecto Final

En otros aspectos, se presentaron algunos ejemplos de fractales y patronesde plantas creados mediante un programa basado en la metodologıa de losSistemas de Lindenmayer y se observo la variedad de modelos que se puedencrear a partir de este metodo comprobando la efectividad del mismo.

El resultado del analisis y la generacion de modelos a traves de los Sis-temas de Lindenmayer es una tecnica muy facil para introducir y explicarde manera mas sencilla el concepto basico de fractal. Por otra parte, en elambito de la descripcion biologica, es una metodologıa infalible para lograrun modelado adecuado de plantas utilizando simplemente un conjunto dereglas recursivas basadas en gramatica muy sencilla.

11

Page 13: Proyecto Final

Bibliografıa

[1] D. Derlinchan, 2004, Generacion Grafica de Fractales, Universidad deSevilla.

[2] J. Hanan, 2004, The Algorithmic Beauty of Plants, pags. 2-18.

[3] D. Campos, 2011, Introduccion a los Sistemas de Lindenmayer, UNAM.

[4] https://instruct1.cit.cornell.edu/courses/bionb441/LSystem/index.html

[5] http://es.wikipedia.org/wiki/Sistema-L

[6] H. Noser, 2003, A 3D Animation system for functional simulation, vi-sualization, and control of dynamic process based on parallel rewriting,Universidad de Zurich.

[7] R. Durikovic, K. Kaneda, H. Yamashita, 1998, Animation of biologicalorgan growth based on L-systems, Universidad de Hiroshima.

Anexos

A continuacion se muestra el codigo del programa utilizado para el ejem-plo del Arbol con ramas. Los parametros de angulo, semilla y produccion semodifican para encontrar los demas modelos presentados en este proyecto.

c l e a r a l lc l fc l c

% Ejemplo 1forma=s t r u c t ( ’ antes ’ , { ’F ’ , ’G’ } , ’ despues ’ , { ’F ’ , ’F[+G][−G] ’ } ) ;n=length ( forma ) ;dd= 25 ; % angulo de l a r am i f i c a c i onf r a c= ’G’ ; % Semi l l ar=8; % numero de r e p e t i c i o n e s

12

Page 14: Proyecto Final

f o r i =1: rpart= c e l l s t r ( f rac ’ ) ; % Par t i c i ona l a ” forma” en cadenas conoc idasf o r j =1:n

P=s t r f i n d ( f rac , forma ( j ) . antes ) ; % Pos i c i on de l a s F y Gi f ( l ength (P)>=1) % s i encuentra F y G

f o r k=Ppart {k}=forma ( j ) . despues ;

endend

endf r a c = [ ] ;f o r j =1: l ength ( part )

f r a c= [ f rac , part { j } ] ;end

end

% Graf i caxx=0;yy=0;d i r =0;da=dd∗ pi /180 ; % Convierte a radianc=1; % Contador

hold on

f o r i =1: l ength ( f r a c )c1=f r a c ( i ) ;switch c1

case ’F ’X=xx+cos ( d i r ) ;Y=yy+s in ( d i r ) ;l i n e ( [ yy Y] , [ xx X] , ’ co lo r ’ , [ . 7 . 4 0 ] , ’ l inewidth ’ , 2 ) ;xx=X;yy=Y;ax i s ([−10 11 0 25 ] )daspect ( [ 1 , 1 , 1 ] ) % Lo e s c a l a .

case ’G’X=xx+cos ( d i r ) ;Y=yy+s in ( d i r ) ;

13

Page 15: Proyecto Final

l i n e ( [ yy Y] , [ xx X] , ’ co lo r ’ , ’ g ’ , ’ l inewidth ’ , 2 ) ;xx=X;yy=Y;

case ’+ ’d i r=d i r+da ; % Te rota por e l angulo dado .

case ’− ’d i r=dir−da ; % Rota angulo a lado con t r a r i o

case ’ [ ’

v ec to r ( c ) . xx=xx ;vec to r ( c ) . yy=yy ;vec to r ( c ) . d i r=d i r ;c=c+1 ;

case ’ ] ’c=c−1;xx=vecto r ( c ) . xx ;yy=vecto r ( c ) . yy ;d i r=vecto r ( c ) . d i r ;

o the rw i s ed i sp ( ’ Error ’ )r e turn

end% drawnowax i s ([−100 100 −100 100 ] )

end

14