#include #include #define N 1000 // Maximum number of iterations #define W 1000 // Width/Height of the plot static int mandelbrotSet(double xc, double yc); int main(int argc, char *argv[]) { double x = atof(argv[2]); double y = atof(argv[3]); double size = atof(argv[4]); FILE *fp = fopen(argv[1],"w"); for (int i = 0; i < W; i++) { for (int j = 0; j < W; j++) { double cr = x - size/2 + size*j/W; double ci = y + size/2 - size*i/W; fprintf(fp,"%d ",mandelbrotSet(cr,ci)); } fprintf(fp,"\n"); } fclose(fp); return 0; } static int mandelbrotSet(double cr, double ci) { double zr = 0; double zi = 0; int n = 0; while(n < N && ((zr*zr + zi*zi) <= 4.0)) { double temp; temp = zr*zr - zi*zi + cr; zi = 2*zr*zi + ci; zr = temp; n++; } return n; }