This project aims to use 2D programming to discover the psychedelic universe of fractals.
Created by Benoît Mandelbrot in 1974 from the Latin "fractus", which means "broken", "irregular", a fractal figure is a mathematical object, such as a curve or a surface, whose structure is invariant whatever the change of scale.
Many natural phenomena – such as the appearance of romanesco cabbage – have rough fractal shapes.
https://en.wikipedia.org/wiki/Fractal
A minimal of three fractals were expected with two specifically mandatory: Mandelbrot and Julia.
In my case, the program includes 9 different and interesting fractals. See the complete list below.
They are all configurable in depth, with colors customization, mathematical variables, interaction modes, advanced zoom, etc.
Look for the MAN to see all the possibilities and commands!
This project use the "MinilibX" library.
The installation process include the compilation from sources, the linking and the creation of the static library.
Some external packages can be necessary, depending on your OS: https://github.com/42Paris/minilibx-linux
A MacOs version is included in the "lib" folder. In this case, update the makefile for "minilibx-macos".
Create or update the "fractol" program from sources.
make
Recompile completely the program.
make re
Delete object files created during installation.
make clean
Delete object files but also the compiled program.
It will not affect the source code.
make fclean
./fractol mandelbrot
./fractol -l
- Mandelbrot
- Julia
- Burning_ship
- Multibrot
- Buddhabrot
- Newton
- Koch
- Sierpinski
- Barnsley
./fractol -h
More screenshots are availables in the "screens" folder.
I recommand to use the "clang" compiler because "gcc" generates linking error with the minilibx.
Check that clang compiler is installed on your system.
If there is permission issue:
chmod 774 lib/minilibx-linux/configure
2D programming
Multi-Threading
Complex numbers
Mathematical equations
Fractals