Fractal 068 A – Time
Part of OUTER SPACE series – 02 2022
blue . chaos . geometric . path . probability . random . rays . time
Fractal 068 A – zoom level 1
Fractal 068 A – zoom level 2
Data
This digital works is created exclusively from fractals, with 0% AI generated. It can therefore be converted into a set of functions and parameters that can be the basis for the training of an AI.
The mathematical formulas and parameter combinations corresponding to each fractal are presented below. In each case, the numerical characters have been replaced by â– to prevent unauthorized reproduction. If you are interested in using the full data set to train an AI, please contact Philippe.
Fractal 068 A - Time - Part of OUTER SPACE series - 02.2022

Fractal_â– â– â– _A {
fractal:
title="Fractal_â– â– â– _A" width=â– â– â– â– height=â– â– â– â– layers=â–
credits="Philoxerax;â– /â– â– /â– â– â– â– "
layer:
caption="Background" opacity=â– â– mergemode=screen precision=â–
mapping:
center=-â– â– .â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– magn=â– .â– â– â– â– â– â– â– â– angle=â– â– â– .â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="asz.ufm" entry="andrextrandom-â– "
p_base=-â– .â– â– /-â– .â– p_baseâ– =â– .â– â– /â– .â– â– p_random_strength=â– .â–
p_bailout=â– Eâ– p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_functionâ– =cos f_functionâ– =ident
inside:
transfer=none solid=â– â– â– â– â– â– â– â– â– â–
outside:
transfer=linear
gradient:
smooth=yes rotation=â– â– â– index=â– â– â– color=â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Background" opacity=â– â– â– visible=no mergemode=addition
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– .â– â– â– â– â– angle=â– â– .â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkmâ– .ufm"
entry="rotated-mandelbrot" p_manparam=â– /â– p_power=â– /â– p_bailout=â– â– â– â–
p_rottype="before iterating" p_rotfac=â– p_angletype=z
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â– â– index=â– color=â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=-â– â– â– color=â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Background" opacity=â– â– â– mergemode=addition
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– â– .â– â– â– â–
angle=â– â– â– .â– â– â– â–
formula:
maxiter=â– â– â– filename="lkmâ– .ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=â– p_bailout=â– â– â– â–
p_shape_type=square p_qâ– _type=out p_qâ– _type=out p_qâ– _type=out
p_qâ– _type=out p_freq=â– p_amp=â– .â– p_nteeth=â– p_rsmall=â– .â–
p_inrad=â– .â– â–
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â–
index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=-â– â– color=â–
index=-â– color=â– â– â– â– â– â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Layer â– " opacity=â– â– â–
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– â– .â– â– â–
angle=â– â– â– .â– â– â– â–
formula:
maxiter=â– â– â– filename="lkmâ– .ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=â– p_bailout=â– â– â– â–
p_shape_type=square p_qâ– _type=out p_qâ– _type=out p_qâ– _type=out
p_qâ– _type=out p_freq=â– p_amp=â– .â– p_nteeth=â– p_rsmall=â– .â–
p_inrad=â– .â– â–
inside:
transfer=none solid=â– â– â– â– â– â– â– â– â– â–
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â– index=â– color=â– index=â– â– color=â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
}
andrextrandom-â– { ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-â– , only the
; defaults are the different. I made two for the easy
; switching.
init:
z = #pixel
random = z+(#random/(â– /(@random_strength/â– â– â– )))
c = z-#pixel^â– /â– +@baseâ– @baseâ– +â– .â– â–
zc = â–
if @zc_mode == â–
zc = zâ– c
elseif @zc_mode == â–
zc = z/c
elseif @zc_mode == â–
zc = z+c
elseif @zc_mode == â–
zc = z-c
elseif @zc_mode == â–
zc = z^c
endif
if @zc_mode == â– && @zc_inverse == true
zc = c/z
elseif @zc_mode == â– && @zc_inverse == true
zc = c-z
elseif @zc_mode == â– && @zc_inverse == true
zc = c^z
endif
if @zc_absolute == true
zc = |zc|
endif
b = â–
loop:
z = z/(@functionâ– (random))/(zc)+@base
z = zâ– (zc)+random
c = (z+c)â– â– +@base
z = @functionâ– (zâ– (sqrt(câ– @baseâ– )/@bailout)+zc)
if @scatter == true
z = z+((@baseâ– -@base)/â– â– â– )+zc
c = c-((c/flip(c))/(câ– real(c)))-zc
endif
if imag(z)>â–
z = real(z+@base)
elseif imag(z)>â–
z = flip(z+@base)
elseif imag(z)<â–
z = imag(z+@base)
elseif real(z)>â–
z = flip(z+@base)
elseif real(z)>â–
z = real(z+@base)
endif
if @scatter == true
if real(z)â– imag(z) < flip(z)
z = real(z)/imag(z)
endif
endif
if @ztype == â–
z = real(z)
elseif @ztype == â–
z = imag(z)
endif
if @bailout_mode == â–
b = zâ– c
elseif @bailout_mode == â–
b = |zâ– c|
elseif @bailout_mode == â–
b = z/c
elseif @bailout_mode == â–
b = |z/c|
elseif @bailout_mode == â–
b = z+c
elseif @bailout_mode == â–
b = |zâ– c|
elseif @bailout_mode == â–
b = z-c
elseif @bailout_mode == â–
b = |z-c|
elseif @bailout_mode == â–
b = z
elseif @bailout_mode == â–
b = |z|
elseif @bailout_mode == â– â–
b = c
elseif @bailout_mode == â– â–
b = |c|
else
b = zâ– c
endif
bailout:
b <= @bailout/â– â–
default:
title = "Andrextrandom - Switch #â– "
param base
caption = "Base, ''Seed'' #â– "
default = (-â– .â– â– ,-â– .â– )
endparam
param baseâ–
caption = "Base, ''Seed'' #â– "
default = (â– .â– â– ,â– .â– â– )
endparam
param random_strength
caption = "Random-intensity"
default = â– .â–
min = â– .â–
endparam
param bailout
caption = "Bailout"
default = â– Eâ–
endparam
param bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "zâ– c" "|zâ– c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = â–
endparam
param zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparam
param zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparam
param zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparam
param ztype
caption = "Z Type"
enum = "Real" "Imag"
endparam
param scatter
caption = "Scatter"
default = true
endparam
func functionâ–
caption = "Function #â– "
default = cos()
endfunc
func functionâ–
caption = "Function #â– "
default = ident()
endfunc
periodicity = â–
switch:
type = "andrextrandom-â– "
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
functionâ– = functionâ–
functionâ– = functionâ–
}
rotated-mandelbrot { ; Kerry Mitchell â– â– octâ– â– â– â–
;
; Rotates the z variable in the standard Mandelbrot
; calculation each iteration.
;
; Use the 'rotation type' parameter to rotate before or
; after raising z to the desired power, or both before and
; after. The '+before, -after' setting rotates the opposite
; way after raising z to the power.
;
; The rotation angle is the 'rotation factor' times the angle
; of the pixel or z. The 'constant' setting in 'rotation type'
; makes the rotational angle a constant 'rotation factor'
; degrees.
;
init:
c=#pixel
z=c+@manparam
float t=â– .â–
float trad=@rotfacâ– #pi/â– â– â–
rot=(â– ,â– )
loop:
;
; set up the rotation angle
;
if(@angletype==â– ) ; pixel
t=@rotfacâ– atanâ– (#pixel)
elseif(@angletype==â– ) ; z
t=@rotfacâ– atanâ– (z)
else ; constant
t=trad
endif
rot=cos(t)+flip(sin(t))
;
; iterate z, taking into account the rotation type
;
if(@rottype==â– ) ; before
z=zâ– rot
z=z^@power+c
elseif(@rottype==â– ) ; after
z=z^@power+c
if(@angletype==â– )
t=@rotfacâ– atanâ– (z)
rot=cos(t)+flip(sin(t))
endif
z=zâ– rot
elseif(@rottype==â– ) ; before & after
z=zâ– rot
z=z^@power+c
if(@angletype==â– )
t=@rotfacâ– atanâ– (z)
rot=cos(t)+flip(sin(t))
endif
z=zâ– rot
elseif(@rottype==â– ) ; +before, -after
z=zâ– rot
z=z^@power+c
if(@angletype==â– )
t=@rotfacâ– atanâ– (z)
rot=cos(t)+flip(sin(t))
endif
z=z/rot
else ; none
z=z^@power+c
endif
bailout:
|z|<@bailout
default:
title="Rotated Mandelbrot"
periodicity=â–
param manparam
caption="perturbation"
default=(â– ,â– )
endparam
param power
caption="power"
default=(â– ,â– )
endparam
float param bailout
caption="bailout"
default=â– â– â– â– .â–
endparam
param rottype
caption="rotation type"
default=â–
enum="none" "before iterating" "after iterating" \
"before & after" "+before, -after"
hint="How z is rotated each iteration."
endparam
float param rotfac
caption="rotation factor"
default=â– .â–
enabled=@rottype!="none"
hint="If 'angle type' is 'constant', then this is the \
rotation angle in degrees. Otherwise, it is the factor \
that multiples the pixel or z angle to make the rotation \
angle."
endparam
param angletype
caption="angle type"
default=â–
enum="constant" "pixel" "z"
enabled=@rottype!="none"
hint="Use 'constant' to specify a constant angle in degrees. \
Otherwise, the rotation is based on the angle of the pixel \
or the angle of z."
endparam
switch:
type="rotated-julia"
julparam=#pixel
bailout=bailout
power=power
rottype=rottype
rotfac=rotfac
angletype=angletype
}
mixed-up-multiplication-mandelbrot { ; Kerry Mitchell â– â– Novâ– â– â– â–
;
; Instead of using regular complex multiplication, this method uses a base
; shape (= unit circle normally). Use the polar angle of z to reach back
; to the base shape and find its coordinates. Then, use the actual and base
; magnitudes to determine a scale factor, and the arc length to determine
; the angle (angle = arc length / base magnitude). From there, the magnitude
; of z^power = scale factor ^ power, and angle of z^power = power â– angle.
;
$define debug
global:
complex corner[â– â– ]
float pitch_s=â–
float pitch_trad=â–
float smax=â–
float tdegmax[â– â– ]
float twopi=â– â– #pi
int gi=â–
;
; cruciform settings: central square side & four other squares, one
; on each side of central square
;
if(@shape_type=="cruciform")
corner[â– ]=(â– ,â– )
corner[â– ]=(â– ,â– )
corner[â– ]=(â– ,â– )
corner[â– ]=(â– ,â– )
corner[â– ]=(-â– ,â– )
corner[â– ]=(-â– ,â– )
corner[â– ]=(-â– ,â– )
corner[â– ]=(-â– ,-â– )
corner[â– ]=(-â– ,-â– )
corner[â– ]=(-â– ,-â– )
corner[â– â– ]=(â– ,-â– )
corner[â– â– ]=(â– ,-â– )
corner[â– â– ]=(â– ,-â– )
corner[â– â– ]=(â– ,â– )
;
; rescale so that corner[â– ] = (â– ,â– )
; find degree measures of corners
;
gi=-â–
while(gi<â– â– )
gi=gi+â–
corner[gi]=corner[gi]/â–
tdegmax[gi]=(atanâ– (corner[gi])/#piâ– â– â– â– +â– â– â– )%â– â– â–
endwhile
elseif(@shape_type=="triangle")
corner[â– ]=(â– ,â– )
corner[â– ]=(-â– +flip(sqrt(â– )))/â–
corner[â– ]=(-â– -flip(sqrt(â– )))/â–
tdegmax[â– ]=â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
elseif(@shape_type=="star")
corner[â– ]=(â– ,â– )
corner[â– ]=@inradâ– (â– ,â– )/sqrt(â– )
corner[â– ]=(â– ,â– )
corner[â– ]=@inradâ– (-â– ,â– )/sqrt(â– )
corner[â– ]=(-â– ,â– )
corner[â– ]=@inradâ– (-â– ,-â– )/sqrt(â– )
corner[â– ]=(â– ,-â– )
corner[â– ]=@inradâ– (â– ,-â– )/sqrt(â– )
corner[â– ]=(â– ,â– )
tdegmax[â– ]=â–
tdegmax[â– ]=â– â–
tdegmax[â– ]=â– â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
tdegmax[â– ]=â– â– â–
endif
;
; gear settings
;
if(@shape_type=="gear")
pitch_trad=twopi/@nteeth
smax=#piâ– (â– +@rsmall)
pitch_s=smax/@nteeth
endif
init:
complex arccenter=(â– ,â– )
complex c=#pixel
complex compk=(â– ,â– )
complex w=(â– ,â– )
complex z=#pixel
float afac=â–
float bfac=â–
float cfac=â–
float dcrit=â– /(â– +@rsmall)
float dtooth=â–
float hâ– =â–
float kâ– =â–
float k=â–
float phi=â–
float phimax=â–
float r=â–
float s=â–
float slope=â–
float tdeg=â–
float third=â– /â–
float trad=â–
float x=â–
float xb=â–
float xâ– =â–
float y=â–
float yb=â–
float yâ– =â–
int itooth=â–
loop:
;
; decompose z
;
x=real(z), y=imag(z)
;
; square
;
if(@shape_type=="square")
;
; determine arc length from basis shape
;
phimax=â–
;
; find scale factor k
;
k=abs(x)
if(abs(y)>k)
k=abs(y)
endif
;
; find standard polar angle
;
trad=atanâ– (z)
if(trad<â– )
trad=trad+â– â– #pi
endif
tdeg=trad/#piâ– â– â– â–
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<â– â– ) ; upper right side
xb=â– , yb=y/k, s=yb
elseif(tdeg<â– â– â– ) ; top
xb=x/k, yb=â– , s=â– -xb
elseif(tdeg<â– â– â– ) ; left side
xb=-â– , yb=y/k, s=â– -yb
elseif(tdeg<â– â– â– ) ; bottom
xb=x/k, yb=-â– , s=â– +xb
else ; lower right side
xb=â– , yb=y/k, s=â– +yb
endif
phi=s
;
; raise z to power
;
k=k^@power, phi=(@powerâ– phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<â– ) ; upper right side
xb=â– , yb=phi
elseif(phi<â– ) ; top
xb=â– -phi, yb=â–
elseif(phi<â– ) ; left side
xb=-â– , yb=â– -phi
elseif(phi<â– ) ; bottom
xb=phi-â– , yb=-â–
else ; lower right side
xb=â– , yb=phi-â–
endif
x=xbâ– k, y=ybâ– k
z=x+flip(y)+c
;
; triangle
;
elseif(@shape_type=="triangle")
;
; determine arc length from basis shape
;
third=sqrt(â– )
phimax=â– â– third
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=atanâ– (z)
tdeg=(trad/#piâ– â– â– â– +â– â– â– )%â– â– â–
trad=tdeg/â– â– â– â– #pi
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg