to share – to copy, distribute and transmit the work
to remix – to adapt the work
Under the following conditions:
attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
https://creativecommons.org/licenses/by/3.0CC BY 3.0 Creative Commons Attribution 3.0 truetrue
C source code
/* c console program: 1. draws Filled-in Julia setfor Fc(z)=z*z +c using basic 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) --------------------------------- I think that creating graphic can't be simpler==================gcc z.c -lm -Wall -march=nativetime ./a.out */#include<stdio.h>#include<math.h>intmain(){constdoubleCx=-1.0;constdoubleCy=0.1;/* screen ( integer) coordinate */intiX,iY;constintiXmax=2000;constintiYmax=2000;/* world ( double) coordinate = parameter plane*/constdoubleZxMin=-2.5;constdoubleZxMax=2.5;constdoubleZyMin=-2.5;constdoubleZyMax=2.5;/* */doublePixelWidth=(ZxMax-ZxMin)/iXmax;doublePixelHeight=(ZyMax-ZyMin)/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="f1.ppm";char*comment="# ";/* comment should start with # */staticunsignedcharcolor[3];doubleZx,Zy,/* Z=Zx+Zy*i */Z0x,Z0y,/* Z0 = Z0x + Z0y*i */Zx2,Zy2;/* Zx2=Zx*Zx; Zy2=Zy*Zy *//* */intIteration;constintIterationMax=2000;/* bail-out value , radius of circle ; */constintEscapeRadius=400;intER2=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){Z0y=ZyMax-iY*PixelHeight;/* reverse Y axis */if(fabs(Z0y)<PixelHeight/2)Z0y=0.0;/* */for(iX=0;iX<iXmax;++iX){/* initial value of orbit Z0 */Z0x=ZxMin+iX*PixelWidth;/* Z = Z0 */Zx=Z0x;Zy=Z0y;/* */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 Filled-in Julia set = black */color[0]=0;color[1]=0;color[2]=0;}else{/* exterior of Filled-in Julia set = white */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;}
Captions
Add a one-line explanation of what this file represents
{{Information |Description=Filled Julia set made with boolean escape time algorithm for c=-1+0.1*i |Source=self-made |Date=2008.01.04 |Author= Adam majewski |Permission={{cc-by-3.0}} |other_versions= }}