# Flame
# 1 Flam3
Cosmic recursive fractal flames.
Upstream:
My modifications:
- code.mathr.co.uk/flam3
git clone https://code.mathr.co.uk/flam3.git
In my fork you can change line 40 or so of flam3.h and
recompile, to change the precision of the iterates.
# 1.1 Bad Values
Replace
#define badvalue(x) (((x)!=(x))||((x)>1e10)||((x)<-1e10))with
#define badvalue(x) (isnan(x)||isinf(x))
#undef EPS
#define EPS (0.0)Do not enable -ffast-math or similar unsafe
optimization.
The default constants cause rendering issues like holes with some parameters.
Actual issues of division by zero etc are probably rare.
# 1.2 Elliptic
I discussed some numerical issues at A more accurate elliptic variation.
It’s probably better to apply square root perturbation than mess around with Padé approximation:
double sqrt1pm1(double x)
{
return x / (sqrt(x + 1) + 1);
}Elliptic is similar to but it’s not quite identical. The latter is conformal, so might be preferred.
# 2 Fractorium
Fractal flame editor with GPU support.
Upstream:
My modifications:
- code.mathr.co.uk/fractorium
git clone https://code.mathr.co.uk/fractorium.git
My fork mostly has uncontroversial changes to Debian packaging that should be mergable upstream.
To build a Debian package on Bookworm needs a
/usr/bin/qmake that actually invokes
/usr/bin/qmake6, I did it with a quick hack, not sure if
there is any better way. Possibly newer debhelper has fixes
to dh_auto_configure.
# 2.1 Raw Histogram
In my fork you can export raw histograms with a couple of additional command line flags:
--raw_histogramsave raw histogram (EXR32 output mode only).--raw_histogram_pre_densitysave raw histogram before density estimation.
# 3 Theory
Möbius Iterated Function Systems, Andrew Vince. Transactions of the American Mathematical Society, Volume 365, Number 1, January 2013, Pages 491–509, S 0002-9947(2012)05624-8 PDF (AMS)
Discusses IFS of Möbius transformations.