# et fractals

## Images

Escape-time fractals powered by a formula compiler. Graphics are visualized using distance estimation, normalized iteration count, and/or atom-domain colouring. Navigation is enhanced by Newton-Raphson zooming: a single action can bring you to a mini-set or an embedded Julia.

## Install

### Prerequisites

sudo apt-get install \
build-essential \
git \
ghc \
cabal-install \
libmpfr-dev \
libgirepository1.0-dev \
libwebkit2gtk-4.0-dev \
libgtksourceview-3.0-dev

The last 3 packages are for the GTK GUI, the CLI version doesn't need them. The GTK version is incompatible with GHC 8.2 due to a bug in that version (8.0 and 8.4 are both fine).

### Clone

git clone https://code.mathr.co.uk/et.git
cd et

### Build

cabal sandbox init
cabal install

### Run

.cabal-sandbox/bin/et-cli out.png 640 360 -0.75 0 2 200 1 0 0 1
.cabal-sandbox/bin/et-gtk

## Controls

Left Mouse Button
zoom in
Right Mouse Button
zoom out
Middle Mouse Button
center view
ESC
stop rendering
F5
restart rendering
=
increase maximum iteration limit
-
decrease maximum iteration limit
PAGE UP
zoom in
PAGE DOWN
zoom out
M
zoom to mini-set
J
zoom to embedded Julia set (experimental)

## Legal

et -- escape time fractals
Copyright (C) 2018 Claude Heiland-Allen

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

mathr.co.uk