leoalassia
Usuario (Albania)
Aclaracion: Este post lo creé yo en mi pagina hace casi 4 años... pero ahora lo subo a T! link: http://www.likeacheese.com.ar/mi-primer-fractal-en-c Aclaracion 2: Se deben tener conocimientos en programacion, numeros complejos y demas para entender de que se trata... ahi va: A este blog le estaba faltando algo, hay ilusiones opticas, programación, tecnología, etc. Pero nunca mencionamos la palabra fractales. Que son los fractales? todo el mundo sabe, y sino entren al wikipedia y me dejan de romper las bolas. Yo simplemente acabo de hacer en C el programa que muestra en una pantalla de 320×200 el tipico dibujo de Mandelbrot El programa se basa en lo siguiente: la funcion a analizar es la archiconocida funcion de Mandelbrot; Zn = Zn-1^2 + C siendo C un numero del plano complejo, y Zo un numero inicial que definimos en (0,0) Si ocurre que luego de varias iteraciones (n = 1,2,3….) el resultado de Z se sale de un circulo de radio 2 centrado en el origen, entonces representamos el ultimo valor de n con un color, pero si esto no ocurre nunca entonces podemos seguir con la serie hasta cansarnos… por eso debemos poner un límite para n, sino la maquina “se cuelga”. El chiste esta en definir una paleta grafica adecuada, lo que yo hice fue crear una paleta de 64 colores (ya que en el modo 13h los valores de cada color van de 0 a 63) en donde el 1 es el blanco y el 64 es el negro. Pueden inventar una como mas les guste o dejar la que ya trae el sistema por defecto Aca el ejemplo de Mandelbrot con las condiciones iniciales: Bueno, muy hermoso… pero a quien no le gustaria descubrir nuevas figuras? Es muy simple, ahora lo que hay que cambiar es el valor de C por un valor fijo, mientras que la variable que recorre la pantalla ahora será Zo, y que obtenemos? Los llamados Julia’s sets! Configuracion: aa = 0.285; bb = 0; a = (float) (m-160)/80; b = (float) (m-100)/80; Mas ejemplos: Efecto zoom en Mandelbrot Otro zoom en Mandelbrot Julia set Julia set Julia set con paleta por defecto Julia set Y si quieren ir mas lejos, pues, no se queden con la ecuacion chota de Zn = Zn-1^2 + C, inventen algo! pongan un sin(), un exp()… yo todavia no lo hice! asi que si pueden manden sus fractales!!! Aca les dejo los archivos necesario para compilarlos en C http://www.likeacheese.com.ar/wp-content/uploads/2007/11/mandel.c http://www.likeacheese.com.ar/wp-content/uploads/2007/11/vgalib.h