Skip to content

ismaelucky342/fract-ol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fract-ol

image

Brief History

The concept of fractals was introduced by mathematician Benoit Mandelbrot in 1974, inspired by the Latin word fractus, meaning "broken" or "fractured." Fractals are mathematical objects that display self-similarity at different scales, and their intricate patterns can be found both in abstract mathematics and in nature, such as in Romanesco broccoli or coastlines.

This project, developed as part of the School 42 curriculum, is designed to help students explore the fascinating world of fractals while learning about graphical programming and mathematical concepts like complex numbers. By implementing and visualizing various fractal sets, students gain hands-on experience with algorithms, optimization, and event-driven programming using the miniLibX graphics library.

A fractal is an object of mathematical abstraction, such as a curve or surface, that retains a similar pattern regardless of scale. Several natural phenomena such as Romanesco have some of the characteristics of fractals.

Features

This project consists of multiple fractals:

  • Mandelbrot (M)
  • Julia (J)
  • BurningShip (B)
  • Mandelbox (X)

How to use fract-ol?

$> make
$> ./fractol M
$> ./fractol J
$> ./fractol B
$> ./fractol X

The Julia Set can also receive values as input:

$> ./fractol J <number> <i_number>

For all the previous fractals, we can also add a list of predefined colors:

$> ./fractol M <color>
$> ./fractol J <color>
$> ./fractol J <number> <i_number> <color>
$> ./fractol B <color>
$> ./fractol X <color>

Colors List:
- White:   FFFFFF
- Black:   000000
- Red:     FF0000
- Green:   00FF00
- Blue:    0000FF
- Yellow:  FFFF00

Controls

  • Zoom: Use the mouse wheel to zoom in and out. The zoom will focus on the point under the mouse cursor, allowing you to explore specific areas of the fractal in detail.

Pictures

Mandelbrot

image

BurningShip

image

Julia

image

Mandelbox

image

Extras

This new project will be an opportunity to get familiar with miniLibX (complex function library provided by school 42). In addition, it will be essential for us to know and apply the mathematical notion of complex numbers and let's take a look to the concept of CGI optimization and event management.

-Born2code

42madrid

About

My implementation of a fractal rendering program

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors