https://github.com/tundesobiye/fractol_1337
fract-ol is a project where you’ll explore and render Mandelbrot and Julia fractals using MiniLibX. You’ll learn how to implement the algorithms for these fractals and gain experience with graphics programming and interactive controls.
https://github.com/tundesobiye/fractol_1337
1337 1337cursus 1337school 42 42cursus 42projects c fractal fractals fractol-42 julia th4n4705 thanat05 twakrim
Last synced: 4 months ago
JSON representation
fract-ol is a project where you’ll explore and render Mandelbrot and Julia fractals using MiniLibX. You’ll learn how to implement the algorithms for these fractals and gain experience with graphics programming and interactive controls.
- Host: GitHub
- URL: https://github.com/tundesobiye/fractol_1337
- Owner: tundesobiye
- Created: 2025-04-08T13:00:19.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-08T15:10:26.000Z (7 months ago)
- Last Synced: 2025-04-08T15:33:08.764Z (7 months ago)
- Topics: 1337, 1337cursus, 1337school, 42, 42cursus, 42projects, c, fractal, fractals, fractol-42, julia, th4n4705, thanat05, twakrim
- Language: C
- Size: 120 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FRACTOL_1337 🌌
Welcome to the **FRACTOL_1337** repository! This project dives into the mesmerizing world of fractals, specifically the Mandelbrot and Julia sets. Using MiniLibX, you will explore the algorithms behind these stunning visualizations and gain hands-on experience in graphics programming and interactive controls.
[](https://github.com/tundesobiye/FRACTOL_1337/releases)
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Usage](#usage)
- [Fractal Algorithms](#fractal-algorithms)
- [Interactive Controls](#interactive-controls)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgments](#acknowledgments)
## Introduction
Fractals are intricate patterns that repeat at different scales. They are not only beautiful but also serve as a bridge between mathematics and art. In this project, you will implement and visualize the Mandelbrot and Julia sets, two of the most famous fractals. This experience will deepen your understanding of complex numbers and graphical rendering.
## Features
- Render Mandelbrot and Julia fractals.
- Interactive controls for zooming and panning.
- Use of MiniLibX for graphics programming.
- Clear and efficient code structure.
- Support for various color schemes.
## Getting Started
To get started with the **FRACTOL_1337** project, follow the steps below.
1. Clone the repository:
```bash
git clone https://github.com/tundesobiye/FRACTOL_1337.git
```
2. Navigate to the project directory:
```bash
cd FRACTOL_1337
```
3. Install any necessary dependencies.
## Installation
To install the project, ensure you have the following prerequisites:
- **C Compiler**: Make sure you have a C compiler installed (GCC recommended).
- **MiniLibX**: You need to have MiniLibX installed. Follow the instructions in the MiniLibX repository to set it up.
After you have the prerequisites, compile the project:
```bash
make
```
This command will build the executable for the fractal viewer.
## Usage
To run the fractal viewer, execute the following command in your terminal:
```bash
./fractol [set_name]
```
Replace `[set_name]` with either `mandelbrot` or `julia` to visualize the respective fractal.
For example:
```bash
./fractol mandelbrot
```
## Fractal Algorithms
### Mandelbrot Set
The Mandelbrot set is defined by the equation:
\[ z_{n+1} = z_n^2 + c \]
where \( z \) is a complex number and \( c \) is a constant complex parameter. The set is formed by iterating this equation and determining whether the sequence diverges.
### Julia Set
The Julia set is closely related to the Mandelbrot set. It is defined by the same equation but uses a fixed value of \( c \) while varying \( z \). Different values of \( c \) produce vastly different patterns.
## Interactive Controls
The **FRACTOL_1337** project includes several interactive controls to enhance user experience:
- **Zooming**: Use the mouse wheel to zoom in and out of the fractal.
- **Panning**: Click and drag the mouse to move around the fractal.
- **Color Schemes**: Change color schemes using the keyboard.
## Contributing
We welcome contributions! If you would like to contribute to the **FRACTOL_1337** project, please follow these steps:
1. Fork the repository.
2. Create a new branch:
```bash
git checkout -b feature/YourFeature
```
3. Make your changes and commit them:
```bash
git commit -m "Add YourFeature"
```
4. Push to the branch:
```bash
git push origin feature/YourFeature
```
5. Open a pull request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Acknowledgments
Special thanks to:
- The creators of MiniLibX for providing an excellent graphics library.
- The community at 42 for their support and resources.
- All contributors who have helped improve this project.
For more information, visit our [Releases](https://github.com/tundesobiye/FRACTOL_1337/releases) section to download the latest version and execute the program.
Thank you for exploring the world of fractals with **FRACTOL_1337**! Happy coding!