MAKE A MEME View Large Image Mandel bd.jpg binary decomposition of level sets of exterior of Mandelbrot set Own 2007-12-21 Adam majewski 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 ...
View Original:Mandel bd.jpg (2000x2000)
Download: Original    Medium    Small Thumb
Courtesy of:commons.wikimedia.org More Like This
Keywords: Mandel bd.jpg binary decomposition of level sets of exterior of Mandelbrot set Own 2007-12-21 Adam majewski 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 <source lang c > / 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> int main / screen integer coordinate / int iX iY; const int iXmax 2000; const int iYmax 2000; / world double coordinate parameter plane / double Cx Cy; const double CxMin -2 5; const double CxMax 1 5; const double CyMin -2 0; const double CyMax 2 0; / / double PixelWidth CxMax-CxMin /iXmax; double PixelHeight CyMax-CyMin /iYmax; / color component R or G or B is coded from 0 to 255 / / it is 24 bit color RGB file / const int MaxColorComponentValue 255; FILE fp; char filename new1 ppm ; char comment ;/ comment should start with / static unsigned char color3; / Z Zx+Zy i ; Z0 0 / double Zx Zy; double Zx2 Zy2; / Zx2 Zx Zx; Zy2 Zy Zy / / / int Iteration; const int IterationMax 2000; / bail-out value radius of circle ; / const double EscapeRadius 1000; double ER2 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 / color0 0; color1 0; color2 0; / exterior of Mandelbrot set binary decomposition of level sets of escape time / else if Zy>0 color0 0; / Red / color1 0; / Green / color2 0;/ Blue / else color0 255; / Red / color1 255; / Green / color2 255;/ Blue / ; / write color to the file / fwrite color 1 3 fp ; fclose fp ; return 0; </source> GLSL code <source lang GLSL> // fragmentarium include 2D frag group Simple Mandelbrot // maximal number of iterations uniform int iMax; slider1 100 1000 // increase iMax // er2 er 2 wher er escape radius bailout uniform float er2; slider4 0 1000 10000 // increase er2 // compute color of pixel vec3 color vec2 c vec2 z vec2 0 0 ; // initial value // iteration for int i 0; i < iMax; i++ z vec2 z x z x-z y z y 2 z x z y + c; // z z 2+c if dot z z > er2 // escape test // exterior if z x>0 return vec3 1 0 ; // upper part of the target set else return vec3 0 0 ; //lower part of the target set return vec3 0 0 ; //interior </source> Mandelbrot sets whole Images with C source code Complex quadratic map Black and white
Terms of Use   Search of the Day