A project made in accordance with the fractol project which is part of the Codam Core Curriculum. For this project it was mandatory to use the school's graphics library. The purpose of the project is to create graphically beautiful fractals. A fractal is a shape that looks similar at different scales. This means that if you zoom in on a fractal, it will look similar to the original shape. Fractals are often found in nature, like in the patterns of snowflakes or the branching of trees. They can also be created mathematically using recursive equasions.
- The mouse wheel zooms in and out, almost infinitely (within the limits of the computer).
- The view can be adjusted using the arrow keys.
- The program can display the Mandelbrot set.
- The program is able to create different Julia sets by passing different parameters to the program.
- The colors show the depth of each fractal.
Start by cloning the repository:
git clone --recursive https://github.com/fkoolhoven/fractol.git
Compile by using make:
make
Check MLX42's documentation if you're having trouble compiling.
To display the Mandelbrot set:
./fractol mandelbrot
To display the Julia set:
./fractol julia [real component of c] [imaginary component of c]
For example:
./fractol julia -0.538 0.50695
- Zoom in and out with the mousewheel
- Adjust view using the arrow keys
- Quit the program with ESC or the window's close button
This project was my introduction into programming graphics. I learned to use a simple graphics library, practiced event handling and gained some insight into optimization. Additionally I learned about the mathematical notion of complex numbers. The most challening part of this project for me was generating the colors and having them blend into each other. I dove into the concept of linear interpolation for this, which wasn't mandatory. I passed the project with 115%.
See my profile page for ways to contact me!