/*********************************************** * Juliazoom2.c * * Generates a RAW format file of an image * of a Julia set (grayscale) * * C source file by Alberto Strumia * ************************************************/ #include /* definition of constants */ #define Radius 10 #define Cx -0.27334 #define Cy -0.00642 #define Side 1.2 #define M 700 #define Num 1024 /* alternative values x0 = 0 Side 0.12 Num = 1024, x0 = -1.2 y0 = 1.2 Side = 0.08, Num = 1048 */ /* main program */ main() { int p, q, n, w; double x, y, xx, yy, Incx, Incy; FILE *fp; fp = fopen("Julia.raw","w"); for (p = 1; p <= M; p++) { Incy = - Side + 2*Side/M*p; printf("%i %%\n", p*100/M); for (q = 1; q <= M; q++) { Incx = - Side + 2*Side/M*q; x = Incx; y = Incy; w = 200; for ( n = 1; n <= Num; ++n) { xx = x*x - y*y - Cx; yy = 2*x*y - Cy; x = xx; y = yy; if ( x*x + y*y > Radius ) { w = n; n = Num; } } fprintf(fp, "%c", w/4 ); } } fclose(fp); } /* end of main program */