z(0) = pixel; if real(z) >= 0 z(n+1) = (z-1)*c else z(n+1) = (z+1)*cTwo parameters: real and imaginary parts of c
z(0) = pixel;
if real(z(n)) * imag(c) + real(c) * imag(z((n)) >= 0
z(n+1) = (z(n)-1)*c
else
z(n+1) = (z(n)+1)*c
Two parameters: real and imaginary parts of c
z(0) = pixel;
if real(z(n) > 0 then z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1)
+ i * (2*real(z((n)) * imag(z((n))) else
z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1 + real(c) * real(z(n))
+ i * (2*real(z((n)) * imag(z((n)) + imag(c) * real(z(n))
Two parameters: real and imaginary parts of c.
z(0) = c = pixel;
if real(z) >= 0 then
z(n+1) = (z-1)*c
else
z(n+1) = (z+1)*c.
Parameters are perturbations of z(0)
z(0) = c = pixel;
if real(z)*imag(c) + real(c)*imag(z) >= 0
z(n+1) = (z-1)*c
else
z(n+1) = (z+1)*c
Parameters are perturbations of z(0)
z(0) = c = pixel;
if real(z(n) > 0 then z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1)
+ i * (2*real(z((n)) * imag(z((n))) else
z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1 + real(c) * real(z(n))
+ i * (2*real(z((n)) * imag(z((n)) + imag(c) * real(z(n))
Parameters are perturbations of z(0)
z(0) = y(0) = 0;
x(n+1) = y(n) - sign(x(n)) * cos(sqr(ln(abs(b*x(n)-c))))
* arctan(sqr(ln(abs(c*x(n)-b))))
y(n+1) = a - x(n)
Parameters are a, b, and c.
Circle pattern by John Connett
x + iy = pixel
z = a*(x^2 + y^2)
c = integer part of z
color = c modulo(number of colors)
A generalization of the marksjulia fractal.
z(0) = pixel;
z(n+1) = (c^exp-1)*z(n)^2 + c.
Four parameters: real and imaginary parts of c,
and real and imaginary parts of exponent.
A generalization of the marksmandel fractal.
z(0) = c = pixel;
z(n+1) = (c^exp-1)*z(n)^2 + c.
Four parameters: real and imaginary parts of perturbation
of z(0), and real and imaginary parts of exponent.
z(0) = pixel;
z(n+1) = ((p - 1) * z(n)^p + r)/(p * z(n)^(p - 1)).
Four parameters: real & imaginary parts of degree p and root r.
x(0) = y(0) = start position.
y(n+1) = y(n) + f( x(n) )
x(n+1) = x(n) - f( y(n) )
f(k) = sin(k + a*fn1(b*k))
For implicit Euler approximation: x(n+1) = x(n) - f( y(n+1) )
Five parameters: start position step, dt, a, b, and the function fn1.
c = z(0) = pixel;
z(n+1) = fn1(z) + p*fn2(c)
Six parameters: real and imaginary parts of the perturbation
of z(0) and factor p, and the functions fn1, and fn2.
z(0) = pixel;
z(n+1) = fn(z(n)*z(n))
One parameter: the function fn.
z(0) = pixel; z(n+1) = fn1(n)*fn2(n)
Two parameters: the functions fn1 and fn2.
z(0) = pixel; z(n+1) = p1*fn(z(n))*z(n) + p2*z(n)
Five parameters: the real and imaginary components of
p1 and p2, and the function fn.
z(0) = pixel;
z(n+1) = p1*fn1(z(n))+p2*fn2(z(n))
Six parameters: The real and imaginary components of
p1 and p2, and the functions fn1 and fn2.
Z(0) = pixel; Z(n+1) = Z(n)^2 - C*conj(Z(n))
where C = 1 + A*i, critical value of A = 1.028713768218725...
x(n+1) = 1 - y(n) + |x(n)|
y(n+1) = x(n)
Two parameters: initial values of x(0) and y(0).
Halley map for the function: F = z(z^a - 1) = 0
z(0) = pixel;
z(n+1) = z(n) - R * F / [F' - (F" * F / 2 * F')]
bailout when: abs(mod(z(n+1)) - mod(z(n)) < epsilon
Four parameters: order a, real part of R, epsilon,
and imaginary part of R.
x(n+1) = 1 + y(n) - a*x(n)*x(n)
y(n+1) = b*x(n)
Two parameters: a and b
z(0) = y(0) = 0;
x(n+1) = y(n) - sign(x(n))*sqrt(abs(b*x(n)-c))
y(n+1) = a - x(n)
Parameters are a, b, and c.
h(0) = (0,0,0,0)
h(n+1) = fn(h(n)) + C.
where "fn" is sin, cos, log, sqr etc.
Two parameters: cj, ck
C = (xpixel,ypixel,cj,ck)
h(0) = (xpixel,ypixel,zj,zk)
h(n+1) = fn(h(n)) + C.
where "fn" is sin, cos, log, sqr etc.
Six parameters: c1, ci, cj, ck
C = (c1,ci,cj,ck)
p = lambda + alpha * magnitude + beta * (x(n)*zreal - y(n)*zimag)
x(n+1) = p * x(n) + gamma * zreal - omega * y(n)
y(n+1) = p * y(n) - gamma * zimag + omega * x(n)
(3D version uses magnitude for z)
Parameters: Lambda, Alpha, Beta, Gamma, Omega, and Degree
z(0) = pixel;
z(n+1) = fn(z(n)) + e^z(n) + c.
Three parameters: real & imaginary parts of c, and fn
z(0) = pixel;
z(n+1) = fn(z(n)) + z(n)^2 + c
Three parameters: real & imaginary parts of c, and fn
z(0) = pixel; z(n+1) = z(n)^2 + c.
Two parameters: real and imaginary parts of c.
if modulus(z(n)) < shift value, then
z(n+1) = fn1(z(n)) + c,
else
z(n+1) = fn2(z(n)) + c.
Five parameters: real, imag portions of c, shift value, fn1 and fn2.
z(0) = pixel;
z(n+1) = z(n)^4 + c.
Two parameters: real and imaginary parts of c.
z(0) = pixel;
z(n+1) = z(n)^m + c.
Three parameters: real & imaginary parts of c, exponent m
z(0) = pixel;
z(n+1) = z(n)^z(n) + z(n)^m + c.
Three parameters: real & imaginary parts of c, exponent m
x(0) = y(0) = orbit/3;
x(n+1) = x(n)*cos(a) + (x(n)*x(n)-y(n))*sin(a)
y(n+1) = x(n)*sin(a) - (x(n)*x(n)-y(n))*cos(a)
After each orbit, 'orbit' is incremented by a step size.
Parameters: a, step size, stop value for 'orbit', and
points per orbit.
z(0) = pixel;
z(n+1) = lambda*z(n)*(1 - z(n)).
Two parameters: real and imaginary parts of lambda.
z(0) = pixel;
z(n+1) = lambda * fn(z(n)).
Three parameters: real, imag portions of lambda, and fn
z(0) = pixel;
if modulus(z(n)) < shift value, then
z(n+1) = lambda * fn1(z(n)),
else
z(n+1) = lambda * fn2(z(n)).
Five parameters: real, imaginary portions of lambda, shift value,
fn1 and fn2.
x(n+1) = fn1 (y(n) * b) + c * fn2(x(n) * b)
y(n+1) = fn3 (x(n) * a) + d * fn4(y(n) * a)
Parameters: a, b, c, d fn1..4 (all sin=original)
z(0) = y(0) = z(0) = 1;
x(n+1) = x(n) + (-a*x(n)*dt) + ( a*y(n)*dt)
y(n+1) = y(n) + ( b*x(n)*dt) - ( y(n)*dt) - (z(n)*x(n)*dt)
z(n+1) = z(n) + (-c*z(n)*dt) + (x(n)*y(n)*dt)
Parameters are dt, a, b, and c.
z(0) = y(0) = z(0) = 1; norm = sqrt(x(n)^2 + y(n)^2)
x(n+1) = x(n) + (-a*dt-dt)*x(n) + (a*dt-b*dt)*y(n)
+ (dt-a*dt)*norm + y(n)*dt*z(n)
y(n+1) = y(n) + (b*dt-a*dt)*x(n) - (a*dt+dt)*y(n)
+ (b*dt+a*dt)*norm - x(n)*dt*z(n) - norm*z(n)*dt
z(n+1) = z(n) +(y(n)*dt/2) - c*dt*z(n)
Parameters are dt, a, b, and c.
z(0) = y(0) = z(0) = 1; norm = sqrt(x(n)^2 + y(n)^2)
x(n+1) = x(n) +(-(a*dt+dt)*x(n) + (a*dt-b*dt+z(n)*dt)*y(n))/3
+ ((dt-a*dt)*(x(n)^2-y(n)^2)
+ 2*(b*dt+a*dt-z(n)*dt)*x(n)*y(n))/(3*norm)
y(n+1) = y(n) +((b*dt-a*dt-z(n)*dt)*x(n) - (a*dt+dt)*y(n))/3
+ (2*(a*dt-dt)*x(n)*y(n)
+ (b*dt+a*dt-z(n)*dt)*(x(n)^2-y(n)^2))/(3*norm)
z(n+1) = z(n) +(3*x(n)*dt*x(n)*y(n)-y(n)*dt*y(n)^2)/2 - c*dt*z(n)
Parameters are dt, a, b, and c.
z(0) = y(0) = z(0) = 1;
x(n+1) = x(n) +(-a*dt*x(n)^3
+ (2*a*dt+b*dt-z(n)*dt)*x(n)^2*y(n) + (a*dt-2*dt)*x(n)*y(n)^2
+ (z(n)*dt-b*dt)*y(n)^3) / (2 * (x(n)^2+y(n)^2))
y(n+1) = y(n) +((b*dt-z(n)*dt)*x(n)^3 + (a*dt-2*dt)*x(n)^2*y(n)
+ (-2*a*dt-b*dt+z(n)*dt)*x(n)*y(n)^2
- a*dt*y(n)^3) / (2 * (x(n)^2+y(n)^2))
z(n+1) = z(n) +(2*x(n)*dt*x(n)^2*y(n) - 2*x(n)*dt*y(n)^3 - c*dt*z(n))
Parameters are dt, a, b, and c.
z(0) = pixel;
[ z(n)^2 + (c-1) ] 2
z(n+1) = | ---------------- |
[ 2*z(n) + (c-2) ]
Parameters: the real and imaginary parts of c
z(0) = 0; c = pixel;
[ z(n)^2 + (c-1) ] 2
z(n+1) = | ---------------- |
[ 2*z(n) + (c-2) ]
Parameters: the real & imaginary parts of perturbation of z(0)
z(0) = pixel;
[ z(n)^3 + 3*(C-1)*z(n) + (C-1)*(C-2) ] 2
z(n+1) = | -------------------------------------------- |
[ 3*(z(n)^2) + 3*(C-2)*z(n) + (C-1)*(C-2) + 1 ]
Parameters: the real and imaginary parts of c
z(0) = 0; c = pixel;
[ z(n)^3 + 3*(C-1)*z(n) + (C-1)*(C-2) ] 2
z(n+1) = | -------------------------------------------- |
[ 3*(z(n)^2) + 3*(C-2)*z(n) + (C-1)*(C-2) + 1 ]
Parameters: the real and imaginary parts of perturbation of z(0)
z(0) = c = pixel;
z(n+1) = z(n)^2 + c.
Two parameters: real & imaginary perturbations of z(0)
c = pixel;
z(0) = p1
if modulus(z(n)) < shift value, then
z(n+1) = fn1(z(n)) + c,
else
z(n+1) = fn2(z(n)) + c.
Five parameters: real, imaginary portions of p1, shift value,
fn1 and fn2.
z(0) = c = pixel;
z(n+1) = z(n)^2 + c.
One parameter: number of intervals
z(0) = c = pixel;
z(n+1) = z(n)^4 + c.
Parameters: real & imaginary perturbations of z(0)
z(0) = c = pixel;
z(n+1) = c*fn(z(n)).
Parameters: real & imaginary perturbations of z(0), and fn
c = pixel;
z(0) = p1
if modulus(z(n)) < shift value, then
z(n+1) = fn1(z(n)) * c, else
z(n+1) = fn2(z(n)) * c.
Five parameters: real, imaginary parts of p1, shift value, fn1, fn2.
z(0) = y(0) = 0;
x(n+1) = y(n) - sin(x(n))
y(n+1) = a - x(n)
Parameter is a (try a value near pi)
z(0) = .5; lambda = pixel;
z(n+1) = lambda*z(n)*(1 - z(n)).
Parameters: real & imaginary perturbations of z(0)
z(0) = c = pixel, y(0) = 0;
For degree = 0:
z(n+1) = z(n)^2 + c.x + c.y*y(n), y(n+1) = z(n)
For degree >= 2:
z(n+1) = z(n)^degree + c.x*z(n)^(degree-1) + c.y*y(n)
y(n+1) = z(n)
For degree <= -3:
z(n+1) = z(n)^|degree| + c.x*z(n)^(|degree|-2) + c.y*y(n)
y(n+1) = z(n)
Three parameters: real & imaginary perturbations of z(0), and degree.
z(0) = c = pixel, y(0) = 0;
For degree = 0:
z(n+1) = z(n)^2 + c + p2*y(n), y(n+1) = z(n)
For degree >= 2:
z(n+1) = z(n)^degree + c*z(n)^(degree-1) + p2*y(n), y(n+1) = z(n)
For degree <= -3:
z(n+1) = z(n)^|degree| + c*z(n)^(|degree|-2) + p2*y(n), y(n+1) = z(n)
Five parameters: real & imaginary perturbations of z(0), real &
imaginary parts of p2, and degree.
z(0) = c = pixel;
z(n+1) = fn(z(n)) + e^z(n) + C.
Parameters: real & imaginary perturbations of z(0), and fn
z(0) = c = pixel;
z(n+1) = fn(z(n)) + z(n)^2 + c.
Parameters: real & imaginary perturbations of z(0), and fn
c = z1(0) = z(0) = pixel;
z(n+1) = z(n)^2 + z1(n) + c;
z1(n+1) = z(n);
Parameters: real & imaginary perturbations of z(0)
z1(0) = z(0) = pixel;
z(n+1) = z(n)^2 + z1(n) + c;
z1(n+1) = z(n);
Parameters: real & imaginary parts of c
z(0) = c = pixel;
z(n+1) = z(n)^exp + c; try exp = e = 2.71828...
Parameters: real & imaginary perturbations of z(0), real &
imaginary parts of exponent exp.
z(0) = c = pixel
z(n+1) = z(n)^z(n) + z(n)^exp + C.
Parameters: real & imaginary perturbations of z(0), and exponent
z(0) = pixel;
z(n+1) = (c^exp-1)*z(n)^2 + c.
Parameters: real & imaginary parts of c, and exponent
z(0) = c = pixel;
z(n+1) = (c^exp-1)*z(n)^2 + c.
Parameters: real & imaginary parts of perturbations of z(0),
and exponent
z(0) = pixel, c = z(0) ^ (z(0) - 1):
z(n+1) = c * fn(z(n)) + pixel,
Parameters: real and imaginary perturbations of z(0), and fn
z(0) = pixel;
z(n+1) = ((p-1)*z(n)^p + 1)/(p*z(n)^(p - 1)).
Two parameters: the polynomial degree p, and a flag to turn
on color stripes to show alternate iterations.
z(0) = pixel;
z(n+1) = ((p-1)*z(n)^p + 1)/(p*z(n)^(p - 1)).
One parameter: the polynomial degree p.
z(0) = pixel, y(0) = 0;
For degree = 0: z(n+1) = z(n)^2 + p1.x + p2.x*y(n), y(n+1) = z(n)
For degree >= 2:
z(n+1) = z(n)^degree + p1.x*z(n)^(degree-1) + p2.x*y(n), y(n+1) = z(n)
For degree <= -3:
z(n+1) = z(n)^|degree| + p1.x*z(n)^(|degree|-2)
+ p2.x*y(n), y(n+1) = z(n)
Three parameters: real parts of p1 & p2, and degree.
z(0) = pixel, y(0) = 0;
For degree = 0: z(n+1) = z(n)^2 + p1 + p2*y(n), y(n+1) = z(n)
For degree >= 2:
z(n+1) = z(n)^degree + p1*z(n)^(degree-1) + p2*y(n), y(n+1) = z(n)
For degree <= -3:
z(n+1) = z(n)^|degree| + p1*z(n)^(|degree|-2) + p2*y(n), y(n+1) = z(n)
Five parameters: real & imaginary parts of p1 & p2, and degree.
x(n+1) = sin(a*y(n)) - z(n)*cos(b*x(n))
y(n+1) = z(n)*sin(c*x(n)) - cos(d*y(n))
z(n+1) = sin(x(n))
Parameters: a, b, c, and d.
x(0) = xpixel, y(0) = ypixel; x(n+1) = x(n) - real(h * fn1( y(n) + fn2(C * y(n) )) - imag(h * fn3( x(n) + fn4(C * x(n) )) y(n+1) = y(n) - real(h * fn3( x(n) + fn4(C * x(n) )) - imag(h * fn1( y(n) + fn2(C * y(n) ))Parameters: step size h, C, functions fn1..4 (original: sin,tan,sin,tan).
x(0) = xpixel, y(0) = ypixel; x(n+1) = x(n) - real(h * fn1( y(n) + fn2(C * y(n) )) - imag(h * fn3( x(n) + fn4(C * x(n) )) y(n+1) = y(n) - real(h * fn3( x(n) + fn4(C * x(n) )) - imag(h * fn1( y(n) + fn2(C * y(n) ))Parameters: step size h, C, functions fn1..4 (original: sin,tan,sin,tan).
z(0) = y(0) = 0;
x(n+1) = y(n) - sign(x(n)) * sin(ln(abs(b*x(n)-c)))
* arctan(sqr(ln(abs(c*x(n)-b))))
y(n+1) = a - x(n)
Parameters are a, b, and c.
q(0) = (xpixel,ypixel,zj,zk)
q(n+1) = q(n)*q(n) + c.
Four parameters: c, ci, cj, ck
c = (c1,ci,cj,ck)
q(0) = (0,0,0,0)
q(n+1) = q(n)*q(n) + c.
Two parameters: cj,ck
c = (xpixel,ypixel,cj,ck)
x(0) = y(0) = z(0) = 1;
x(n+1) = x(n) - y(n)*dt - z(n)*dt
y(n+1) = y(n) + x(n)*dt + a*y(n)*dt
z(n+1) = z(n) + b*dt + x(n)*z(n)*dt - c*z(n)*dt
Parameters are dt, a, b, and c.
z(n+1) = (2*x,2*y-1) if y > .5;
else (2*x-1,2*y) if x > .5;
else (2*x,2*y)
No parameters.
c(0) = z(0) = pixel;
z(n+1) = z(n)^2 + c(n);
c(n+1) = c(n)/2 + z(n+1)
Parameters: real & imaginary perturbation of z(0)
z(0) = pixel;
z(n+1) = (1/fn(z(n))^2
One parameter: the function fn.
z(0) = pixel;
z(n+1) = fn(z(n))^2
One parameter: the function fn.
z(0) = c = pixel;
z(n+1) = c^z(n)
Parameters: real & imaginary perturbation of z(0)
z(0) = y(0) = 0;
x(n+1) = y(n) - sign(x(n)) * (abs(sin(x(n))*cos(b)
+c-x(n)*sin(a+b+c)))
y(n+1) = a - x(n)
Parameters are a, b, and c.
z(0) = pixel, c = z(0) ^ (z(0) - 1):
tmp = fn(z(n))
real(tmp) = real(tmp) * real(c) - imag(tmp) * imag(c);
imag(tmp) = real(tmp) * imag(c) - imag(tmp) * real(c);
z(n+1) = tmp + pixel;
Parameters: real & imaginary perturbations of z(0) and function fn
z(0) = pixel;
x = real(z(n)), y = imag(z(n))
One = x^2 + y^2;
y = (2 - One) * x;
x = (2 - One) * y;
z(n+1) = x + i*y
No parameters.
x(0) = xpixel, y(0) = ypixel;
dx/dt = x - xy = f(x,y)
dy/dt = -y + xy = g(x,y)
x(new) = x + h/2 * [ f(x,y) + f[x + pf(x,y), y + pg(x,y)] ]
y(new) = y + h/2 * [ g(x,y) + g[x + pf(x,y), y + pg(x,y)] ]
Two parameters: h and p
z(0) = pixel
z(n+1) = z(n)^2 + (0, 0i)
The target set is a second, scaled, Julia set:
T = [ z: | (z * 15.0)^2 + c | < BAILOUT ]
Two parameters: real and imaginary parts of c