LSM/J colour ( probably made with Fractint ); ER = 2
Computed using implicit equations; ER=2
C source code
It is a console C program ( one file)
It can be compiled under :
windows ( gcc thru Dev-C++ )
linux and mac using gcc :
gcc main.c -lm
it creates a.out file. Then run it :
./a.out
It creates ppm file in program directory. Use file viewer to see it.
/* c program: 1. draws Mandelbrot set for Fc(z)=z*z +c using Madelbrot algorithm ( boolean escape time ) ------------------------------- 2. technic of creating ppm file is based on the code of Claudio Rocchini http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg create 24 bit color graphic file , portable pixmap file = PPM see http://en.wikipedia.org/wiki/Portable_pixmap to see the file use external application ( graphic viewer) --------------------------------- */#include<stdio.h>#include<math.h>intmain(){/* screen ( integer) coordinate */intiX,iY;constintiXmax=2000;constintiYmax=2000;/* world ( double) coordinate = parameter plane*/doubleCx,Cy;constdoubleCxMin=-2.5;constdoubleCxMax=1.5;constdoubleCyMin=-2.0;constdoubleCyMax=2.0;/* */doublePixelWidth=(CxMax-CxMin)/iXmax;doublePixelHeight=(CyMax-CyMin)/iYmax;/* color component ( R or G or B) is coded from 0 to 255 *//* it is 24 bit color RGB file */constintMaxColorComponentValue=255;FILE*fp;char*filename="new1.ppm";char*comment="# ";/* comment should start with # */staticunsignedcharcolor[3];/* Z=Zx+Zy*i ; Z0 = 0 */doubleZx,Zy;doubleZx2,Zy2;/* Zx2=Zx*Zx; Zy2=Zy*Zy *//* */intIteration;constintIterationMax=2000;/* bail-out value , radius of circle ; */constdoubleEscapeRadius=1000;doubleER2=EscapeRadius*EscapeRadius;/*create new file,give it a name and open it in binary mode */fp=fopen(filename,"wb");/* b - binary mode *//*write ASCII header to the file*/fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);/* compute and write image data bytes to the file*/for(iY=0;iY<iYmax;iY++){Cy=CyMin+iY*PixelHeight;if(fabs(Cy)<PixelHeight/2)Cy=0.0;/* Main antenna */for(iX=0;iX<iXmax;iX++){Cx=CxMin+iX*PixelWidth;/* initial value of orbit = critical point Z= 0 */Zx=0.0;Zy=0.0;Zx2=Zx*Zx;Zy2=Zy*Zy;/* */for(Iteration=0;Iteration<IterationMax&&((Zx2+Zy2)<ER2);Iteration++){Zy=2*Zx*Zy+Cy;Zx=Zx2-Zy2+Cx;Zx2=Zx*Zx;Zy2=Zy*Zy;};/* compute pixel color (24 bit = 3 bajts) */if(Iteration==IterationMax){/* interior of Mandelbrot set = black */color[0]=0;color[1]=0;color[2]=0;}/* exterior of Mandelbrot set = LSM */elseif((Iteration%2)==0){color[0]=0;/* Red*/color[1]=0;/* Green */color[2]=0;/* Blue */}else{color[0]=255;/* Red*/color[1]=255;/* Green */color[2]=255;/* Blue */};/*write color to the file*/fwrite(color,1,3,fp);}}fclose(fp);return0;}
רישיון
Public domainPublic domainfalsefalse
ברצוני, בעלי זכויות היוצרים על יצירה זו, לשחרר יצירה זו לנחלת הכלל. זה תקף בכל העולם. יש מדינות שבהן הדבר אינו אפשרי על פי חוק, אם כך: אני מעניק לכל אחד את הזכות להשתמש בעבודה זו לכל מטרה שהיא, ללא תנאים כלשהם, אלא אם כן תנאים כאלה נדרשים על פי חוק.