﻿ Celtic Mandelbrot

### Celticbrot

It is another Mandelbrot family fractal, which is generated by iterating absolute values (like the burning ship). I got it accidentally and it is much more impressive than the original Burning Ship.

The basic function, in C++ using OpenGL, to generate this set is:

void renderCelticbrot(void)
{
int x, y, cnt, maxIter;
complex z, t, t2;
maxIter = 256.0;
imaginaryXMandelbrot = (maxXMandelbrot - minXMandelbrot) / (GLdouble)currScreenWidth;
imaginaryYMandelbrot = (maxYMandelbrot - minYMaldenbrot) / (GLdouble)currScreenHeight;
for (x = 0, z.x = minXMandelbrot; x < currScreenWidth; x++, z.x += imaginaryXMandelbrot)
{ // z = x + i*y;
for (y = 0, z.y = minYMaldenbrot; y < currScreenHeight; y++, z.y += imaginaryYMandelbrot)
{
t2 = z;
cnt = 0;
while ((t2.x * t2.x + t2.y * t2.y <= 4) && (cnt < maxIter))
{
t.x = fabs(t2.x*t2.x - t2.y*t2.y) - z.x;
t2.y = 2 * t2.x*t2.y - z.y;
t2.x = t.x;
cnt++;
}
}
}
}

And here is this great mathematical body:  In my program you are able to move coordinate axis with arrow keys, also to zoom in and out with keys Q and A. Also to speed up or slow down zooming with the keys W and S, change colours simply by pressing C.