Fractal Related Discussion > Share a fractal

Some old stuff, maybe fractal nostalgia

(1/4) > >>

Alef:
There were and old thread well before perturbation http://www.fractalforums.com/new-theories-and-research/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/

Multipowerbrot:
Z=(((((Z2xC) +1 )2) -1 )2) -1  or  ( Z=((((Z^2xC+D)^2)-D)^2)-D  where D is real number)
http://www.fractalforums.com/index.php?topic=4881.msg25998#msg25998
I guess maybe zooms of this could be good after all.

Z=(((((Z3)xC+i)3)+i)3)+i  or ( Z=((((z^3xC+D)^3)+D)^3)+D  where D is imaginary value)
http://www.fractalforums.com/index.php?topic=4881.msg27524#msg27524

Soap?
Z=(ZxZxC+1)+1/(ZxZxC+1) or (Z=(Z2xC+D)+1/(Z2xC+D)  where D is real)
http://www.fractalforums.com/index.php?topic=4881.msg25998#msg25998

There were a formula from Fractal Explorer, Talis:
z=z2/(z+complexvalue) + c
I guess Talis is from sheep tails it resembles. Not very good in pure form but nice shape.

Some stuff is generated by Mandelbrot and Talis combined.
z=z2 +c
z=z2/(z+0.5)

There were lots of fractals generated by mutations of this.
Realy older than this:
https://www.deviantart.com/ultra-fractal-redux/gallery/45625392/September-2013-Talis-and-Friends-Challenge
Maybe this. Not the formula itself but attached function abs and maybe alsou log was responsible for images:
http://www.algorithmic-worlds.net/blog/blog.php?Post=20110227#comment-893671968

What lead to ducks and kalis fractals.

Szegedi butterfly.
Interesting story behind this fractal. It was recreated after war in Balkans with floppy disk left. Good for generateing butterflies.
z = sqr(y) - sqrt(abs(x)) + 1i * (sqr(x) - sqrt(abs(y))) + C

(sqr - square, sqrt - square root)

Logic Turtle
http://www.fractalforums.com/mandelbrot-and-julia-set/shattered-fractal/
Not that good exept in buddhabrot render:

IF (|z| < |c|)
z= (z)power + c
ELSEIF (|z| == |c|)
z= (z)power
ELSE
z= (z)power - c
ENDIF

Fractalus Techna
http://www.fractalforums.com/new-theories-and-research/solidifying-transformation/msg78184/#msg78184
Better shattered fractal is generated by
z=z*z
z=z-z/(ceil(z) +1.0e-20)    //or any other round() function
z=z+c

Unit Vector Mandelbrot (with p-norm where p=1)
http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/165/
z=z2+c
z =z - z/(abs(real(z))+abs(imag(z))) * 0.4
more generalised
Z= Zn + C
Z = Z + value * Z/|Z|

Pauldebrots formula:

Something like this
complex w = @seed2
z =  @seed
(non distorted mandelbrot by w = 1 ; z = 1i or w = 1i ; z = 1 )
loop:
ws = sqr(w)
w = w/z*(@wfactor)
z = sqr(z) + ws

Devaney sierpinsky carpets
z=  zn + C / (z - a)d
http://math.bu.edu/people/bob/papers.html
with critical points (formula don't works if initialised with z=0)
http://www.fractalforums.com/index.php?topic=18526.30
z=(d*c/n) (1/(n+d) )

Still maybe the best but largely unexplored maybe is General Quadratic
http://www.fractalforums.com/index.php?topic=11008.0
With abs or without
x1=x*x + y*y
y2=2.5*x*y
z=1i*y1 + x1 + c

With this there is no problem to do deep zooms in KF, it just needs value to be adjusted so it woun't be pure square.

Nova Moon
Not very usefull for fractal exploration, but generates nice lunar crescents.
z=(K+1)*z- (z^N - z)/(N*z^(N-1)-1) + 1/C
with standart crescent N = 1 K = 0;0.
bailout:
(|z-z0|>nwtbailout)

No images throught, and some threads alredy don't have image files from upload services. I wanted to sugest first one formula for zooms as it was very complex formula indeed but then remembered other formulas. I could do that in UF6 but don't want to go deeper in programming, now I want to learn other mathematical/chaotic stuff by now that would be more profitable (tradeing that is). And maybe something could have some good use.

Alef:
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

--- Code: ---; 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, 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 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

--- End code ---

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.

--- Code: ---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.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.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.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.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");
}
}
--- End code ---

Sabine62:
Wow, Alef, that is quite a repository!
Thank you very much for sharing  :cheer: :cheer: :cheer:

C0ryMcG:
Nice collection! I've been going through and trying out a few of these, some really fun results.

I'll share a few that I like so far, and their coloring formulas

Thorns with smoothed Escape Time coloring,
a Julia of Butterfly with Lagrangian Descriptor coloring,
a zoom of Fractovia Flag with cross-shaped orbit trap,
and a Julia from the Pickover Formula with Lagrangian coloring again.

I'll probably post more as I try them out.

gerson:
Good post.
Used Fractal Zoomer build in formula Szegedi butterfly to do an image:
https://fractalforums.org/index.php?topic=2507.msg28762#msg28762