Skip to content

This project aims to use 2D programming to discover the psychedelic universe of fractals.

License

Notifications You must be signed in to change notification settings

fdgbt/42_Fractol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42_Fractol

This project aims to use 2D programming to discover the psychedelic universe of fractals.

Example

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. Romanesco_broccoli_(Brassica_oleracea)

https://en.wikipedia.org/wiki/Fractal

Expected Result

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!

MinilibX

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".

Install

Create or update the "fractol" program from sources.

make

Reinstall

Recompile completely the program.

make re

Clean

Delete object files created during installation.

make clean

Uninstall

Delete object files but also the compiled program.
It will not affect the source code.

make fclean

Usage

./fractol mandelbrot

Fractals list

./fractol -l
  1. Mandelbrot
  2. Julia
  3. Burning_ship
  4. Multibrot
  5. Buddhabrot
  6. Newton
  7. Koch
  8. Sierpinski
  9. Barnsley

MAN (complete user manual)

./fractol -h

Screenshots

mandelbrot_neutral_ssaa8
julia_fairy_ssaa8
julia_hsv_ssaa8
burning_ship_fire_ssaa8
barnsley_camo_ssaa8
buddha_nasa_ssaa8_2

More screenshots are availables in the "screens" folder.

Notes

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

Keywords

2D programming
Multi-Threading
Complex numbers
Mathematical equations
Fractals

About

This project aims to use 2D programming to discover the psychedelic universe of fractals.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published