Skip to content

NikolasGoulios/Fract-ol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fract-ol 🌌

Fractal Example

Fract-ol is a visually stunning fractal generation program built in C. Utilizing the modern MLX42 graphics library, Fract-ol renders intricate fractals such as the Mandelbrot and Julia sets with real-time controls for zooming, panning, and iteration adjustments.

Features ✨

  • Interactive Fractal Exploration: Zoom, pan, and modify iterations dynamically.
  • Multiple Fractal Sets:
    • Mandelbrot Set
    • Julia Set (customizable with complex parameters)
  • Smooth Color Transitions: Gradient-based colorization for an immersive visual experience.
  • Keyboard & Mouse Controls: Intuitive inputs for seamless interaction.
  • Customizable Parameters: Adjust the view and iterations to explore fractal depths.

Installation ⚙️

Requirements

  • C Compiler: GCC, Clang, or similar.
  • MLX42 Library: Ensure you have MLX42 installed. Follow the MLX42 documentation for setup.
  • Libft: The custom libft library is a dependency.

Build Instructions

  1. Clone the repository:
    git clone git@github.com:NikolasGoulios/Fract-ol.git
    cd fract-ol
    
  2. Compile the project using the provided Makefile:
    make
    
  3. Run the program:
    ./fractol [fractal_name] [optional parameters]
    
    

Usage

Command-line Arguments

Usage: ./fractol [fractol_name] [complex_number]
./fractol mandelbrot
./fractol julia -0.5 0.4

Core Components 🛠️

  • Fractal Calculation: Implements fractal-specific formulas (Mandelbrot, Julia).
  • Rendering: Converts fractal computations to pixel data.
  • Event Handling: Supports keyboard and mouse interaction for real-time updates.
  • Utility Functions: Manages cleanup, parsing, and initialization tasks.

Math

That Was it. Thank you all !!!

About

The first Grapic Project at Hive Helsinki

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published