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
StarGood only for generation of fractal stars. Sides is power - 1.
z=z/K-z^N+1/C
Collatz Conjecturehttps://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
Manowarz=z+oldz;
Phoenixz=z+oldz*distortion;
Simurghz=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
Spiderinitialisation:
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.
;
ChebyshevT4Could be good for buddhabrot, mandelbrot like
z = c*(sqr(z)*(sqr(z)*8+8)+1)
;
Chebyshev4AxolotlGood for buddhabrot, mandelbrot like
z = (sqr(z)*(35 * sqr(z) - 30) + 3) / 8 + c
4th modulus MbrotGood for buddhabrot but alsou barnsley like cutted, suny julias
z=sqr(z)
z=(z^4+z^4)^0.25+c
;
Rotated MandelbrotKind of hairy mandelbrot
z=z^2+c
z=sqr(z)/cabs(z)
Carlson continiued fraction functionlots 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. PickoverNot 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.
;
Pinwheelsz = (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");
}
}