More:

**Peterson **Two headed mandelbrot. Of corse this can be parametiresed.

z=z^2 * c^0.1 + c;

**Fractovia **Proposed flag of the state Fractovia (so long agou that this can't be found in net).

z=0.9 * z * atanh(z) + c

**Star**Good only for generation of fractal stars. Sides is power - 1.

z=z/K-z^N+1/C

**Collatz Conjecture**https://en.wikipedia.org/wiki/Collatz_conjecture From wikipedia, some mathematical theory.

c=0.25*(2+7*c-(2+5*c)*cos(pi*c));

z=c;

**Algorithms using zold variable:**During iteration:

oldestz=oldz;

oldz=z;

z=z*z+c

**Manowar**z=z+oldz;

**Phoenix**z=z+oldz*distortion;

**Simurgh**z=z+oldz*distortion+oldestz*distortion2;

distortion = 0.5

distortion2 = 0.25

`; Simurgh/Phoenix/Double Mandelbrot Family`

;

; This fractal type encompasses many variants in the

; Mandelbrot family of fractals. The basic Mandelbrot

; equation is:

;

; z[n+1] = z[n]^a + c

;

; where z[0]=0, a=2 and c varies with pixel location. The

; Phoenix fractal discovered by Shigehiro Ushiki in 1988

; is avariation of this, where the input of two iterations

; is used:

;

; z[n+1] = z[n]^a + c*z[n]^d + p*z[n-1]

;

; The classical Phoenix fractal is the julia form, where

; z[0] varies with pixel, d=0, c=0.56667, and p=-0.5. Note

; that if d=0 and p=0, the classical Mandelbrot equation

; is still there. So Phoenix fractals are a superset of

; the Mandelbrot fractals.

;

; The Simurgh fractal is a fairly straightforward extension

; of the idea I wrote in November 1999; it uses three

; iterations as input:

;

; z[n+1] = z[n]^a + c*z[n]^d + p*z[n-1] + q*z[n-2]

;

; If q=0, the Phoenix equation emerges, so again Simurgh

; fractals are a superset of Phoenix fractals.

;

; A different direction of extension to the classical

; Mandelbrot extension is DoubleMandel, which uses two

; separately-scaled z[n] terms:

;

; z[n+1] = s*z[n]^a + t*z[n]^b + c

;

; We can include this extension into the Simurgh equation:

;

; z[n+1] = s*z[n]^a + t*z[n]^b + c*z[n]^d + p*z[n-1] + q*z[n-2]

;

; This becomes the Simurgh equation when s=1 and t=0, so

; again it is a superset. The above equation is the one used

; in this formula.

Damien M. Jones

**Spider**initialisation:

c = pixel;

z = c;

p = c;

w=0.5; //+-1/100 gives results.

iteration loop:

z=sqr(z)+c+p; // (but maybe z=sqr(z)+c;)

c=w*c+z;

**Glynn formula**; formula by Earl Glynn in Computers and the Imagination

initialisation:

z=pixel

loop:

z = z ^ 1.5 - 0.2

Could be considered julia set of z= z^1.5 +c . Nice trees.

;

**ChebyshevT4**Could be good for buddhabrot, mandelbrot like

z = c*(sqr(z)*(sqr(z)*8+8)+1)

;

**Chebyshev4Axolotl**Good for buddhabrot, mandelbrot like

z = (sqr(z)*(35 * sqr(z) - 30) + 3) / 8 + c

**4th modulus Mbrot**Good for buddhabrot but alsou barnsley like cutted, suny julias

z=sqr(z)

z=(z^4+z^4)^0.25+c

;

**Rotated Mandelbrot**Kind of hairy mandelbrot

z=z^2+c

z=sqr(z)/cabs(z)

**Carlson continiued fraction function**lots of disconected mandelbrot stuff

v = z^Power + c;

z = v - (1/(v + 1/(v + 1/(v + 1/(v + 1/(v + 1))))));

;z = z^z - z^5 + c;

**//by Clifford A. Pickover**Not very good I think.

z = real(z)/cos(imag(z)) + 1i*( imag(z)/cos(real(z))) + c; //

**thorn fractal aka "Secant Sea"**Could be very good. Area filling glyph like.

;

**Pinwheels**z = (1, 0.5) * sin(z) + c;

Spirals. This could be parameterised, multiplication by imaginary value is rotation.

**Moon like Nova fractals.** Nova luna probably could generate same more paterns and anti-luna must be Nova.

Copied from no longer aviable formula file of Chaos Pro, would take some time to rewrite in more universal formal.

`comment{The follwing fractals were derived from Heron's formula for`

calculating square roots with an added perturbation. You should switch

off periodicity algorithms, when using them. As default value for the

power (p1) I have used p1 = 2, though complex powers are possibly

even more interesting.

Bernd Lehnhoff 2004

!nospam!f.b.!nospam!lehnhoff!nospam!@gmx!nospam!.de

}

Luna {

parameter complex p1, p2, p3;

parameter int settype;

complex c, u, v;

real r;

void init(void)

{

if (((real(p1)==0) || (real(p1)==1)) && (imag(p1)==0))

{

p1 = 2;

}

if ((real(p2)==0) && (imag(p2)==0))

{

p2 = 0.5;

}

if (settype=="Mandel")

{

c = pixel;

}

else

{

c = p3;

}

v = pixel;

}

void loop(void)

{

u = v;

v = u - u / p1 * (1 - (c / u)^p1) + p2;

r = log10(|v - u|);

}

bool bailout(void)

{

return(r >= -12);

}

void description(void)

{

this.title = "Luna";

settype.caption = "Set type";

settype.enum = "Mandel\nJulia";

settype.default = 0;

p1.caption = "Degree of root";

p1.default = (2,0);

p1.hint = "Change this value as you like (<> 0 and <> 1).";

p2.caption = "Perturbation";

p2.default = (0.5,0);

p2.hint = "Change this value as you like.\nIt must not be equal to zero!";

p3.caption = "Radicand";

p3.default = (1,0);

p3.hint = "Change this value as you like.\nIt should not be equal to zero!";

p3.visible = (settype=="Julia");

}

}

NovaLuna {

parameter complex p1, p2, p3;

parameter int settype;

complex c, d, u, v, w;

real r;

void init(void)

{

if (((real(p1)==0) || (real(p1)==1)) && (imag(p1)==0))

{

p1 = 2;

}

if ((real(p2)==0) && (imag(p2)==0))

{

p2 = 0.5;

}

if (settype=="Mandel")

{

c = pixel;

}

else

{

c = p3;

}

v = pixel;

d = .5 * (p1 - 1) / p1;

}

void loop(void)

{

u = v;

w = 1 - (c / u)^p1;

v = u - u / p1 * w * (1 + d * w) + p2;

r = log10(|v - u|);

}

bool bailout(void)

{

return(r >= -12);

}

void description(void)

{

this.title = "NovaLuna";

settype.caption = "Set type";

settype.enum = "Mandel\nJulia";

settype.default = 0;

p1.caption = "Degree of root";

p1.default = (2,0);

p1.hint = "Change this value as you like (<> 0 and <> 1).";

p2.caption = "Perturbation";

p2.default = (0.5,0);

p2.hint = "Change this value as you like.\nIt must not be equal to zero!";

p3.caption = "Radicand";

p3.default = (1,0);

p3.hint = "Change this value as you like.\nIt should not be equal to zero!";

p3.visible = (settype=="Julia");

}

}

Lyra {

parameter complex p1, p2, p3;

parameter int settype;

complex c, d, u, v;

real r;

void init(void)

{

if (((real(p1)==0) || (real(p1)==1)) && (imag(p1)==0))

{

p1 = 2;

}

if ((real(p2)==0) && (imag(p2)==0))

{

p2 = 0.5;

}

if (settype=="Mandel")

{

c = pixel;

}

else

{

c = p3;

}

v = pixel;

d = p1 - 1;

}

void loop(void)

{

u = v;

v = (p1 * u) / ((u / c)^p1 + d) + p2;

r = log10(|v - u|);

}

bool bailout(void)

{

return(r >= -12);

}

void description(void)

{

this.title = "Lyra";

settype.caption = "Set type";

settype.enum = "Mandel\nJulia";

settype.default = 0;

p1.caption = "Degree of root";

p1.default = (2,0);

p1.hint = "Change this value as you like (<> 0 and <> 1).";

p2.caption = "Perturbation";

p2.default = (0.5,0);

p2.hint = "Change this value as you like.\nIt must not be equal to zero!";

p3.caption = "Radicand";

p3.default = (1,0);

p3.hint = "Change this value as you like.\nIt should not be equal to zero!";

p3.visible = (settype=="Julia");

}

}

AntiLuna {

parameter complex p1, p2, p3;

parameter int settype;

complex c, u, v;

real r;

void init(void)

{

if (((real(p1)==0) || (real(p1)==1)) && (imag(p1)==0))

{

p1 = 2;

}

if ((real(p3)==0) && (imag(p3)==0))

{

p3 = 1;

}

if (settype=="Mandel")

{

c = pixel - p3;

}

else

{

if ((real(p2)==0) && (imag(p2)==0))

{

p2 = 0.5;

}

c = p2 - p3;

if (c==0)

{

c = p3 / 2;

}

}

v = pixel;

}

void loop(void)

{

u = v;

v = u - u / p1 * (1 - (p3 / u)^p1) + c;

r = log10(|v - u|);

}

bool bailout(void)//

{

return(r >= -12);

}

void description(void)

{

this.title = "Anti-Luna";

settype.caption = "Set type";

settype.enum = "Mandel\nJulia";

settype.default = 0;

p1.caption = "Degree of root";

p1.default = (2,0);

p1.hint = "Change this value as you like (<> 0 and <> 1).";

p2.caption = "Perturbation";

p2.default = (0.5,0);

p2.hint = "Change this value as you like.\nIt must not be equal to zero!";

p2.visible = (settype=="Julia");

p3.caption = "Radicand";

p3.default = (1,0);

p3.hint = "Change this value as you like.\nIt should not be equal to zero!";

}

}

SinusLuna {

parameter complex p1, p2;

parameter int settype;

complex c, u, v;

real r;

void init(void)

{

if (((real(p1)==0) || (real(p1)==1)) && (imag(p1)==0))

{

p1 = 2;

}

if ((real(p2)==0) && (imag(p2)==0))

{

p2 = 0.5;

}

if (settype=="Mandel")

{

c = sin(pixel);

}

else

{

c = sin(p2);

}

v = pixel;

}

void loop(void)

{

u = v;

v = u - (sin(u) - c) / cos(u) + p2;

r = log10(|v - u|);

}

bool bailout(void)//**

{

return(r >= -12);

}

void description(void)

{

this.title = "Sinus-Luna";

settype.caption = "Set type";

settype.enum = "Mandel\nJulia";

settype.default = 0;

p1.caption = "Degree of root";

p1.default = (2,0);

p1.hint = "Change this value as you like (<> 0 and <> 1).";

p2.caption = "Perturbation";

p2.default = (0.5,0);

p2.hint = "Change this value as you like.\nIt must not be equal to zero!";

p2.visible = (settype=="Julia");

}

}