Dit is een bestand van Wikimedia Commons. Onderstaande beschrijving komt van de beschrijving van het bestand daar. Commons is een vrij-gelicenceerde database voor afbeeldingen, geluid, video en andere bestanden.
Delen – het werk kopiëren, verspreiden en doorgeven
Remixen – afgeleide werken maken
Onder de volgende voorwaarden:
naamsvermelding – U moet op een gepaste manier aan naamsvermelding doen, een link naar de licentie geven, en aangeven of er wijzigingen in het werk zijn aangebracht. U mag dit op elke redelijke manier doen, maar niet zodanig dat de indruk wordt gewekt dat de licentiegever instemt met uw werk of uw gebruik van zijn werk.
Gelijk delen – Als u het werk heeft geremixt, veranderd, of erop heeft voortgebouwd, moet u het gewijzigde materiaal verspreiden onder dezelfde licentie als het oorspronkelijke werk, of een daarmee compatibele licentie.
#include<complex.h>#include<math.h>#include<stdio.h>#include<stdlib.h>#include<omp.h> //OpenM/*fork of mandelbrot-book how to write a book about the Mandelbrot set by Claude Heiland-Allehttps://code.mathr.co.uk/mandelbrot-book/blob/HEAD:/book/-----------------------------------------------------hobold: Let's remove the iteration bands and change the relative sizes of black and white checkerboard areas. Now the structural similarity is more emphasized.https://fractalforums.org/fractal-mathematics-and-new-theories/28/plotting-field-lines-during-iteration/4233The white curve in my first image is a polyline connecting the (numerically approximated) corners of the checkers of some specific iteration band. I believe the limit was 27 iterations before the smallest "square" became too tiny to distinguish adjacent vertices with double precision.The pattern in the 2nd image was done by looking at the final value of the iterated Z_n, just after it escapes. The usual checkerboarded "binary decomposition" looks at just the sign of the imaginary part. But you really can choose any axis through the origin and color based on what side of the axis you end up on. Or you can choose a sector smaller than 180 degrees like I did:Code: [Select]return (fabs(z.x)*0.1 < fabs(z.y));The bailout radius needs to be reasonably large for those field lines to align nicely between iteration bands. Because this analogy with field lines is only strictly true for an infinite bailout. So with a minimal bailout radius of 2.0, the binary decomposition ends up being very visibly distorted and misaligned.------------------------------------------------------------------------gcc m.c -lm -Wall -Wextra -fopenmp./a.out >f.pgm*/doublecnorm(double_Complexz){returncreal(z)*creal(z)+cimag(z)*cimag(z);}intmain(){//int aa = 4;intw=2000;// width in pielsinth=2000;// height in pixelsintkMax=1024;// iteration maxdoubler=2;// plane radius: https://en.wikibooks.org/wiki/Fractals/Computer_graphic_techniques/2D/plane#radius// The bailout radius needs to be reasonably large for those field lines to align nicely between iteration bandsdoubleER=2000;// Escape Radius = bdoubleER2=ER*ER;// escape_radius^2unsignedchar*img=malloc(w*h);#pragma omp parallel forfor(intj=0;j<h;++j){doubley=(h/2-(j+0.5))/(h/2)*r;for(inti=0;i<w;++i){doublex=(i+0.5-w/2)/(h/2)*r;double_Complexc=x+I*y;double_Complexz=0;intk;for(k=0;k<kMax;++k){z=z*z+c;if(cnorm(z)>ER2)break;}// fabs(z.x)*0.1 < fabs(z.y) img[j*w+i]=(k<kMax&&fabs(creal(z))*0.1<fabs(cimag(z)))?255:0;}}printf("P5\n%d %d\n255\n",w,h);fwrite(img,w*h,1,stdout);free(img);return0;}