M A N D E L B R O T M A T H E M A T I C A L E X P L O R E R
Copyright (C) 2017 M. Toledo Gonzalez
License: GPL v3, Free Software Foundation, USA
BASIC DESCRIPTION
-----------------
This project is a C++ program to calculate and represent graphically the Mandelbrot fractal set, and/or the corresponding Julia sets, according to the seed Z0 given by the user as input.
The user disposes of a graphical interface to control the program and modify conveniently some parameters, like the XY-scales, the XY map area, the Julia seed for the complex series
iteration of Z(n+1)=Z(n)^2+a, being Z(0)=(X0,Y0) the seed, and
"a in XY" the points to be calculated.
The user can enter (among other parameters) the desired convergence-radius R for the series, and/or the number of maximal iterations N for the generator-equation in Z.
The criteria used to determine if a point "a=(x,y)" is part of
the Mandelbrot set consists basically on to compare the absolute value of |Z| > R ? for each one of the iterations
Z(n) being n < N. According to these formulas the convergence-probability for hypothetical points "a=(x,y)" is calculated simply as P(a)=n/N. In the meaning that if for n=0 the point (x,y) "escapes" of the convergence-radius R, its convergence-probability is evidently 0. If the system needs to evaluate N=N Max. iterations, to determine if it escapes (or not), we assume that its divergency-probability is 0, also its convergency-probability is 1 (=100%).
According to the convergence-probability calculations system, a simple model of the escape-time algorithm is used to assign the color of each one of the pixels representing points "a=(x,y)". Basically, under a white-background, the black-intensity of the pixel-color (from 0=Black, to 255=White) is linear interpolated with its probability of convergence. By this way a black-pixel indicates that the point converges with probability 100%. A white-pixel indicates that the point converges not at all, between these extremes of probability a gray-scale is used.
The user can save the graphical figure of the corresponding Mandelbrot and/or Julia set, and also the data X Y P(X,Y) being (x,y) the coordinates of the points "a=(x,y)" of the set, and P(x,y) their corresponding convergence-probabilities.
COMPILATION AND COMPATIBILITY
-----------------------------
This C++ program compiles under the following computer systems:
- Microsoft Windows 7,10 & Microsoft Visual Studio & GCC
- Linux Ubuntu & GCC
* It uses the Allegro 4 multimedia library for the video and keyboard rutines. For compilation, please read the included documentation in plain text files.
* The text of the GPL v3 license is also with this public software release included.
CONTACT
-------
If you need some help about using and/or compiling this program, you can contact me at:
webdev5000@gmail.com
---
I hope this program to be enjoyable and practical for you.
The author,
Miguel Toledo Gonzalez
Papenburg, GERMANY