Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mcombeau/fract-ol
One of the first graphical projects at 42 school, fract-ol introduces us to 2D programming with fractal generation.
https://github.com/mcombeau/fract-ol
42 42born2code 42cursus 42paris 42projects 42school c fract-ol fract-ol-42 fractal-algorithms fractal-geometry fractal-images fractal-rendering fractals fractol fractol-42 hexadecimal-color
Last synced: about 2 months ago
JSON representation
One of the first graphical projects at 42 school, fract-ol introduces us to 2D programming with fractal generation.
- Host: GitHub
- URL: https://github.com/mcombeau/fract-ol
- Owner: mcombeau
- Created: 2022-04-02T11:21:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-30T12:45:30.000Z (about 2 years ago)
- Last Synced: 2024-08-01T10:20:45.159Z (4 months ago)
- Topics: 42, 42born2code, 42cursus, 42paris, 42projects, 42school, c, fract-ol, fract-ol-42, fractal-algorithms, fractal-geometry, fractal-images, fractal-rendering, fractals, fractol, fractol-42, hexadecimal-color
- Language: C
- Homepage: https://www.codequoi.com/
- Size: 5.31 MB
- Stars: 22
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- 42-resources - fract-ol
README
# fract-ol
One of the first graphical projects at 42 school, fract-ol generates beautiful fractals from the complex numbers of an iterative mathematical construct. A fractal is a fragmented geometrical figure that infinitely repeats itself at smaller scales. This project uses the school's graphical library, MiniLibX.
![Fract-ol mono-colored Mandelbrot by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Mandelbrot.png)
# Status
Finished: 22/04/2022.
Grade: 125%.
# Usage
---
Note that this project was tested on Linux only. It may run on MacOS with small adjustments to the Makefile, as described in hsmits and jvan-sni's [42 Docs](https://harm-smits.github.io/42docs/libs/minilibx/getting_started.html).
---
## Installing and Compiling Fract-ol
Clone the repository, including the embedded MiniLibX repository:
```shell
git clone https://github.com/mcombeau/fract-ol.git && cd fract-ol && git submodule init && git submodule update
```You will now be in the correct directory for compilation. Compile with ```make```. Fract-ol should now be ready!
## Executing Fract-ol
At execution time, you must specify a fractal to display. You may also provide other optional parameters:
```shell
./fractol
```Types are :
* ```M```, ```m```, or ```1```: Mandelbrot fractal
* ```J```, ```j```, or ```2```: Julia fractal
* ```B```, ```b```, or ```3```: Burning Ship fractal
* ```T```, ```t```, or ```4```: Tricorn fractal
* ```X```, ```x```, or ```5```: Mandelbox fractalFor the Julia fractal set (and only this set), two additional parameters can be specified as calculation values. These represent a complex number that will change the shape of the Julia fractal. They must be fractional numbers between 2.0 and -2.0. For example:
```shell
./fractol J 0.285 -0.01
```Additionally, you may specify a hexadecimal color for the fractal display:
```shell
./fractol M 00CCFF
```Please note that for the Julia set, the color option will only be available after specifying calculation values:
```shell
./fractol J -0.4 0.6 65CD87
```## Fract-ol Controls
While Fractol is running, the following set of controls are available:
ControlsAction
W A S D or ▲ ◄ ▼ ► Move
- , + or scroll wheel Zoom in and out
space Change color scheme
left click Shift Julia set [Julia only]
1 , 2 , 3 , 4 , or 5 Switch fractals
esc or close windowQuit fract-ol# Screenshots
## Mandelbrot set
![Fract-ol purple and yellow striped Mandelbrot by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Mandelbrot-2.png)
![Fract-ol red bllue and green striped Mandelbrot by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Mandelbrot-3.png)
![Fract-ol sun crest purple Mandelbrot by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Mandelbrot-4.png)## Julia set
![Fract-ol purple green and yellow Julia by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Julia.png)
![Fract-ol red swirl Julia by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Julia-2.png)
![Fract-ol blue snowflake Julia by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Julia-3.png)## Burning ship set
![Fract-ol golden burning ship by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Burning-Ship.png)
## Mandelbox set
![Fract-ol brown tribal Mandelbox by mcombeau](https://github.com/mcombeau/fract-ol/blob/main/screenshots/Fractol-Mandelbox.png)
---
Made by mcombeau: [email protected] | LinkedIn: [mcombeau](https://www.linkedin.com/in/mia-combeau-86653420b/) | Website: [codequoi.com](https://www.codequoi.com)