Julia

Teniendo ya Mandelbrot, era trivial hacer Julia. Pero para hacerlo más interesante, el programa en ensamblador cambia la constante de Julia por una \Delta, y vuelve a dibujar el fractal. Esto resulta en una “animación” (entre comillas porque mi simulador tarda unos siete segundos en dibujar todo el “monitor”), que me dieron ganas de mostrar en el blog.

Para esto, utilicé la opción que tienen los GdkPixbufs de salvarse a archivos gráficos, y modifiqué el simulador para que lo haga si el usuario lo invoca con un parámetro en la línea de comando. En el camino, arreglé todas las broncas de sincronización que tenía el simulador (el ciclo del simulador es un hilo de ejecución (thread) independiente de gtk_main()), y de una vez limpié todo mi uso de Gdk. Quedó mucho más bonito.

Para generar automáticamente las 325 imágenes de la animación, hice un hack para que el simulador guarde una copia de la imagen cada vez que se ejecuta la instrucción shl (shift left), porque esa instrucción no se usa en el programa de Mandelbrot o Julia. El hack es necesario porque el simulador sólo guarda la imagen cuando entra en un ciclo infinito que no hace nada, que es como “oficialmente” acaban los programas correctos en nuestro micro. El programa de Julia no tiene ciclo infinito que no haga nada; tiene un ciclo infinito que dibuja Julia en cada iteración, y no iba a generar las 325 imágenes a pie.

La animación quedó bonita:

Julia

Julia

Los inges siguen avanzando con el micro. Or so they say.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *