/FractalVisualizer

Fractal visualization app written in React.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Fractal Visualizer

A simple but powerful fractal visualizer built with React.

mandlebrot

Demo

An in browser demo can be viewed here

Overview

Introduction

A fractal can be intuitively described as an object that exhibits self similarity at multiple scales. The Mandlebrot set is one of the most famous fractals and one of the main fractals featured in this application. The Mandlebrot set can be described mathematically as the set of all points C in the complex plane such that the orbit of the recurrence equation

zn+1=zn2+C

starting at z0=0 remains bounded. The simplest methods for coloring the Mandlebrot set involve coloring points in the set a given color and assigning a variety of colors to points outside the set depending on how fast they escape.

Features

  • Parallalization using JavaScript Web Workers
  • Computation caching using off screen canvases
  • Support for the Mandlebrot set and some of its variations (Burning Ship, Multi-brot, Tricorn)
  • Pan and zoom support for both Desktop and Mobile
  • Continuous coloring

Future work

  • More sophisticated coloring algorithms including histogram coloring and exterior distance estimation
  • Add WebGL support for better performance
  • Apply various anti-alising technique (ex. supersampling) for better image quality

Installation

Node is the only requirement to run the application locally. To get started simply clone the repository and install the required dependencies by running

  npm install

Then, to run the dev server simply run

  npm start

or build the project by running

  npm run-script build

Acknowledgements