Mi fractal Julia (II)

 

Recodemos que dibujar el fractal consistía en imponer una condición sobre el módulo del valor final (el de después de 100 iteraciones) para cada valor inicial de la sucesión. Los valores iniciales de las iteraciones eran las coordenadas del punto sobre el que debíamos decidir si pintarlo o no (para entender mejor todo esto consultad la primera entrada). La sucesión con la que trabajábamos estaba definida por recurrencia (los valores siguientes se calculan a partir de los anteriores, partiendo de un valor inicial) de la siguiente forma: X(k+1) = X(k)^2 + C. Recordemos también que esto es para un caso particular de C=0.3+i*0.5.  

VALORES FINALES DE CADA SUCESION

Ahora veamos más detalladamente como son los valores a los que converge la sucesión, para los diferentes valores iniciales. Esto nos servirá para imponer alguna condición más y poder añadir más colores al fractal. Para ello solo hay que calcular la iteración número 100 de cada sucesión (para cada valor inicial) y pintar el punto en el plano complejo (es decir, pintar las coordenadas que corresponden a la parte real (x) y la imaginaria (y) del número complejo). Este es el resultado:

Julia_z_convergentes

  En un primer intento, el resultado no fue como el grafico anterior. Lo que me salió fue un cúmulo de puntos cerca del cero, y luego otros puntos con unos valores de parte real e imaginaria del orden de… 10^200, un 1 seguido de unos doscientos ceros!! (para que os hagáis una idea de lo grande que es este número, se estima que el número de átomos del universo es del orden de 10^76). Esto era de esperar, pero no caí en la cuenta en un principio. Lo que sucedió es que dibujé tanto los valores finales de las sucesiones que convergen como las que no convergen. De modo que dibujé todos los valores después de 100 iteraciones, y algunos eran tan grandes que no podía ver el detalle del grafico anterior. Así que sólo dibuje los puntos que tuvieran un módulo menor que 10 (este era el valor arbitrario escogido para decidir si, después de 100 iteraciones, el valor final era lo suficiente grande para considerar a la sucesión convergente o no).   

  Todos esos puntitos azules, por lo tanto, son los valores “finales” de las sucesiones que consideramos convergentes, una por cada valor inicial. Se puede decir que son los límites de las sucesiones convergentes. Podemos estar cometiendo dos errores al suponer lo dicho antes:

  1. Algunos de esos puntos en realidad pertenecen a sucesiones divergentes, lo que pasa es que se van a “infinito” tan lentamente que 100 iteraciones no son suficientes para apreciarlo, y todavía no ha tenido tiempo de salirse de la zona que consideramos de convergencia (una circunferencia de radio 10 centrada en el origen)
  2. Existen sucesiones que convergen, pero cuyos valores finales no aparecen en el grafico anterior, porque el límite al que tienden esta fuera de la circunferencia de radio 10, y lo hacen tan rápidamente que después de 100 iteraciones ya han salido de esa zona.

  De modo que podemos estar incluyendo valores “finales” de sucesiones que en realidad van a infinito y podemos estar excluyendo valores finales de sucesiones convergentes. Ese es el precio que hay que pagar por no poder calcular los infinitos valores de la sucesión. Hay que poner la barrera en algún lugar. me parecía interesante comentar las consecuencias de esa limitación.

  Volviendo al gráfico, hay cuatro grupos que se diferencian con facilidad. La primera impresión que tuve, era que había sucesiones convergentes que tendían a uno de esos puntos (o a alguno que estuviera muy cerca, porque esos puntos no son realmente el límite) y otras a otros, teniendo así un límite por sucesión. Pero para mi sorpresa, no ocurre así exactamente. Me di cuenta de eso, porque se me antojó que quería ver como, para una sucesión en particular (para un valor inicial en particular) los valores iban tendiendo al límite. Con suerte vería las espirales típicas de las soluciones de ecuaciones en diferencias y ecuaciones diferenciales, orbitando y ‘cayendo’ hacia el límite. El valor inicial que escogí fue el 0, que ya sabía que generaba una sucesión convergente por el fractal sencillo que dibujamos antes. Bien, pues esto fue lo que salió:

Julia_Iter

  Que sorpresa! Resulta que los cuatro puntos no son los límites de diferentes sucesiones, sino que cada una tiende ‘a la vez’ a esas cuatro zonas. Para esta sucesión en particular (la que empieza en X(0)=0), primero va cerca del punto de la derecha del todo, luego va al de arriba a la derecha, luego al de la izquierda y luego abajo, y así sucesivamente, de manera que cada vez se acerca más a los cuatro límites, pero alternativamente. Antes de continuar, debo hacer un comentario. Los puntitos que vimos al principio, en el primer gráfico, son sólo el último valor de la sucesión. Del gráfico de arriba, aunque se vean cuatro límites, sólo hay un puntito final que estará en una de esas cuatro zonas. dependerá de donde empiece la iteración (del valor inicial) que la recorra en un orden o en otro, y por lo tanto que después de 100 pasos acabe en una zona o en otra. De manera que lo que se ve en el primer gráfico es donde se ‘paran’ las sucesiones en la iteración número 100. Es como una ruleta rusa de cuatro posibilidades.

ESPIRALES

  Después de descubrir que existían cuatro límites por cada sucesión, aún seguía con el antojo de ver las espirales, así que lo que tuve que hacer es ‘separar’ cada límite. En lugar de unir los puntos de uno en uno (el de k=0 con el de k=1, el de k=1 con el de k=2,…), los fui uniendo de cuatro en cuatro (el k=1 con el K=5, el k=2 con el k=6,…). Este es el resultado:

Espiral_Julia

  Ahora se puede ver como tiende la sucesión a cada límite por separado. Como el valor inicial no tiende a ninguno en particular al ser el primero, lo puse como origen de las cuatro espirales. Si fuesen funciones (es decir soluciones de ecuaciones diferenciales) y no sucesiones, no habrían salido las espirales tan ‘cuadradas’.

  Si en lugar de haber escogido como valor inicial el 0, hubiéramos cogido otro, esos límites serían otros cuatro puntos (suponiendo que para ese valor inicial la sucesión convergiera), y uno de esos cuatro puntos (sólo uno) aparecería también en el primer grafico de todos. En el fractal que dibujamos en la otra entrada, hay una gran zona roja rodeando el origen de coordenadas, que representaba los valores iniciales que hacen que la sucesión converja. Veamos que pasa si nos alejamos del 0 y nos vamos acercando al límite donde empiezan a haber sucesiones divergentes. Usaremos valores reales para no complicarlo, aunque podrían ser complejos también. Si en lugar de 0, empezamos por 0.2, los gráficos son los siguientes:

Julia_Iter_0.2    Espiral_Julia_0.2

  Y si empezamos por 0.4, es más dramático:

Julia_Iter_0.4    Espiral_Julia_0.4

  Se puede apreciar como cada vez es más caótico al principio, hasta que finalmente su condición de convergente le hace tender al límite. Si continuáramos acercándonos al contorno del fractal, cada vez le ‘costaría’ más iteraciones acercarse a los límites hasta que finalmente se volviera divergente.

FRACTAL JULIA DE 4 COLORES

  A partir del primer gráfico de todos (el de los valores finales de cada sucesión), impuse las condiciones sobre esas cuatro zonas para dibujar el fractal con cuatro colores. Hay dos condiciones que deben cumplir los valores iniciales para ser pintados de uno de los cuatro colores. La primera es la condición de convergencia, obviamente, para obtener un dibujo como el Julia sencillo. La segunda debía ser algo que caracterizara a esa zona en particular. Pensé en utilizar la idea de módulo, como en la primera condición, pero parecía difícil elegir un valor que separara bien los puntos de arriba. Al final escogí imponer una condición sobre el valor real de los puntos (la coordenada x). Las ‘barreras’ que separan cada zona son las de x=–0.2, x=0 y x=0.2. De manera que, por ejemplo, si la parte real de un punto se encuentra entre –0.2 y 0 pertenece al punto de abajo, etc. Para ser más preciso, podría haber impuesto la condición también sobre la parte imaginaria (coordenada y) haciendo así un rectángulo para cada color. El resultado con las dos primeras condiciones ya me parecía bueno, así que utilicé esas. Y éste es el fractal que resulta con un color por cada zona, y el fondo negro:

Julia_complejo

  Pueden apreciarse las cuatro zonas como cada uno de los brazos de las espirales que van surgiendo. En la entrada siguiente veremos como cambia la cosa con otros valores de la constante C.

#208

¿Qué te parece?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: