Home

Awesome

image

<h1 align="center">rust-fractal-core</h1> <p align="center"> <a href="https://github.com/rust-fractal/rust-fractal-core/blob/master/LICENSE"><img src="https://img.shields.io/github/license/rust-fractal/rust-fractal-core" alt="Repository License"></a> <a href="https://github.com/rust-fractal/rust-fractal-core/"><img src="https://img.shields.io/tokei/lines/github/rust-fractal/rust-fractal-core" alt="Repository Size"></a> <a href="https://github.com/rust-fractal/rust-fractal-core/releases"><img src="https://img.shields.io/github/downloads/rust-fractal/rust-fractal-core/total?style=flat" alt="Github Release"></a> </p>

A mandelbrot fractal renderer implementing both perturbation and series approximation. A reference point is iterated at high-precision, arbitrary precision and differences from this are calculated in machine precision. This allows for a large reduction in computation required to render and image, especially at high zoom levels. This generator features:

Compiling

You need to be able to compile the 'rug' crate which requires a rust GNU toolchain. A nightly toolchain is also required. Look in the documentation for rug for more information on how to do this. Once all required dependencies have been installed, build the crate with:

cargo build --release

Usage

Information on the flags which can be passed to the rendered can be found with the command rust-fractal --help. The renderer takes .toml files as input. There are two seperate files which can be defined to render an image, the options file and the location file. Settings in these files can be changed in order to change the output of the program. By default, there are 3 options files provided, which are:

Location files contain information on the specific location to be rendered, including the location, zoom level and rotation. Some examples of these files are stored in the ./locations directory. A typical call to the renderer would then look like:

Output images are placed in the ./output folder.

Acknowledgements