mirror of
https://github.com/tomasriveral/fractal-CLI.git
synced 2026-08-11 18:28:41 +02:00
3df7ecdc299518ad878a35c097c80af4ec8df32f
Fractal-CLI
Fractal-CLI is a fast and highly customizable command-line interface tool for exploring and rendering fractals, written in C. It supports a variety of fractal types, rendering modes, and interactive controls.
Features
- Mandelbrot and Julia Sets: Explore two classic fractals with ease.
- Interactive Controls: Pan, zoom, and adjust iterations in real time.
- Configurable Output: Adjust colors, viewport, resolution, and more.
- Fast Performance: Optimized for speed using
-Ofastfor quick rendering.
Installation
Quick Start
git clone https://github.com/Totorile1/fractal-CLI.git
cd fractal-CLI
gcc mandelbrot.c -Ofast -lm -o fractal
Detailed Installation
- Clone the repository: Download the source code from GitHub.
- Compile the code: Use a C compiler (e.g.,
gcc). Optimizing with-Ofastis recommended for best performance.- Example with
gcc:gcc mandelbrot.c -Ofast -lm -o fractal
- Example with
- Dependencies: Ensure you link against the math library (
-lm).
Usage
fractal [OPTIONS]
Fractal-CLI generates and renders fractal images based on the selected options. By default, it generates the Mandelbrot set.
Options
| Option | Description |
|---|---|
-j <real> <imaginary> |
Set Julia set mode with the specified complex number (e.g., -j -0.55268 0.959456). |
-xmin <value> |
Set the minimum x-coordinate for the fractal viewport. |
-xmax <value> |
Set the maximum x-coordinate for the fractal viewport. |
-ymin <value> |
Set the minimum y-coordinate for the fractal viewport. |
-ymax <value> |
Set the maximum y-coordinate for the fractal viewport. |
-c |
Clear the screen before rendering each frame. |
-s <scale> |
Set the scale multiplier for image resolution (default: 10). |
-p <string> |
Set the character used for fractal points (default: █). |
-cs <value> |
Set color shift value to adjust fractal colors. |
-f |
Render a single frame and exit. |
-i <value> |
Set the number of iterations for fractal calculation. |
-m <mode> |
Set rendering mode. Options include: color (default), number, red, green, blue, gray. |
-h, --help |
Display help message and exit. |
Controls (for interactive mode)
When -f is not specified, the following keyboard controls are available for exploring the fractal interactively:
- Movement:
w(up),s(down),a(left),d(right) - Zoom:
r(zoom in),f(zoom out) - Adjust Iterations:
q(decrease by 100),e(increase by 100) - Exit:
x
Examples
Render a Julia set with custom viewport and high resolution:
./fractal -j -0.55268 0.959456 -xmin -2.1 -xmax 0.7 -ymin -1.5 -ymax 1.5 -s 20 -m color
Render the Mandelbrot set with red color mode:
./fractal -c -p '#' -m red
Languages
C
100%