Fractal 041 C – Life in the Abyss
Part of LIFE series – 10 2021
abyss . deep . life . light . ocean . rift . sea
Fractal 041 C – zoom level 1
Fractal 041 C – 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 041 C - Life in the Abyss - Part of LIFE series - 10.2021

Fractal_â– â– â– _C {
fractal:
title="Fractal_â– â– â– _C" width=â– â– â– â– height=â– â– â– â– layers=â–
credits="Philoxerax;â– /â– /â– â– â– â– " antialiasing=yes
layer:
caption="Background" opacity=â– â– mergemode=multiply
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– .â– â– â– â– â–
angle=â– â– .â– â– â– â–
formula:
maxiter=â– â– â– filename="Standard.ufm" entry="Mandelbrot" p_start=â– /â–
p_power=â– /â– p_bailout=â– â– â–
inside:
transfer=none offset=â– â– â– repeat=no solid=â– â– â– â– â– â– â– â– â– â–
outside:
transfer=cube solid=â– â– â– â– â– â– â– â– â– â– filename="Standard.ucl"
entry="Smooth" p_power=â– /â– p_bailout=â– â– â– .â–
gradient:
smooth=yes rotation=-â– â– â– index=â– color=â– â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â–
index=â– â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– 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="Layer â– " opacity=â– â– mergemode=overlay
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– .â– â– â– â– â–
angle=â– â– .â– â– â– â–
formula:
maxiter=â– â– â– filename="Standard.ufm" entry="Mandelbrot" p_start=â– /â–
p_power=â– /â– p_bailout=â– â– â–
inside:
transfer=none offset=â– â– â– repeat=no solid=â– â– â– â– â– â– â– â– â– â–
outside:
transfer=cube solid=â– â– â– â– â– â– â– â– â– â– filename="Standard.ucl"
entry="Smooth" p_power=â– /â– p_bailout=â– â– â– .â–
gradient:
smooth=yes rotation=â– â– index=â– color=â– â– â– â– â– â– â– index=â– color=â– â– â– â– â– â– â–
index=â– color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â–
index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â–
index=â– â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â–
index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â–
index=â– â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â–
index=â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
index=-â– â– color=â– â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â– â– index=-â– â–
color=â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â–
index=-â– â– color=â– â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â– â– index=-â– â–
color=â– â– â– â– â– â– â– â– index=-â– â– color=â– â– â– â– â– â– â– â– 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=â– â– mergemode=overlay method=multipass
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– â– .â– â– â– â– â–
angle=â– â– â– .â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkm.ufm"
entry="compounding-tweaked-mandelbrot" p_manparam=â– .â– /â– .â–
p_bailout=â– â– â– â– .â– p_nexp=â– /â– p_tweaktype="c; fn(c)"
p_tweakage=â– .â– â– /â– .â– f_tweakfunction=recip
inside:
transfer=none
outside:
transfer=sqr
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=â– â– â–
index=â– â– â– color=â– â– â– index=â– â– â– color=â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â–
index=â– â– â– color=â– â– â– â– â– â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Background" opacity=â– â– â– mergemode=softlight transparent=yes
mapping:
center=â– .â– â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– magn=â– .â– â– â– â– â– â– â– angle=-â– â– .â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkm.ufm"
entry="general-tent-julia" p_julparam=â– .â– /â– .â– p_bailout=â– â– â– â– .
p_rtype="real part" p_rottype=none p_rotamount=â– â– .â–
p_rotunit=degrees
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes index=â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– index=â– â– â– color=â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Layer â– " opacity=â– â– mergemode=hue method=multipass
mapping:
center=â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– .â– â– â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkm.ufm" entry="gap-julia"
p_n=â– .â– p_julparam=â– /â– p_type="between â– lines" p_câ– =-â– .â– p_câ– =â– .â–
p_theta=â– â– .â– p_center=â– /â– p_radiusâ– =â– .â– p_radiusâ– =â– .â–
inside:
transfer=none
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=â– â– â–
layer:
caption="Layer â– " opacity=â– â– â– mergemode=overlay method=multipass
mapping:
center=â– .â– â– â– â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– .â– â– â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkm.ufm" entry="gap-julia"
p_n=â– .â– p_julparam=â– /â– p_type="between â– lines" p_câ– =-â– .â– p_câ– =â– .â–
p_theta=â– â– .â– p_center=â– /â– p_radiusâ– =â– .â– p_radiusâ– =â– .â–
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=â– â– index=â– â– â– color=â– â– â– â– â– â– â– index=â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– index=â– â– â–
color=â– â– â– â– â– â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Background" opacity=â– â– mergemode=overlay method=multipass
mapping:
center=â– .â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– .â– â– â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkm.ufm" entry="gap-julia"
p_n=â– .â– p_julparam=â– /â– p_type="between â– lines" p_câ– =-â– .â– p_câ– =â– .â–
p_theta=â– â– .â– p_center=â– /â– p_radiusâ– =â– .â– p_radiusâ– =â– .â–
inside:
transfer=none
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=â– â– â–
layer:
caption="Layer â– " opacity=â– â– â– method=multipass
mapping:
center=â– .â– â– â– â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– magn=â– â– .â– â– â– â– â– â–
formula:
maxiter=â– â– â– percheck=off filename="lkm.ufm" entry="gap-julia"
p_n=â– .â– p_julparam=â– /â– p_type="between â– lines" p_câ– =-â– .â– p_câ– =â– .â–
p_theta=â– â– .â– p_center=â– /â– p_radiusâ– =â– .â– p_radiusâ– =â– .â–
inside:
transfer=none
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=â– â–
index=â– color=â– â– â– â– â– â– â– index=â– â– color=â– â– â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– index=â– â– â– color=â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
}
Mandelbrot {
;
; Generic Mandelbrot set.
;
init:
z = @start
loop:
z = z^@power + #pixel
bailout:
|z| <= @bailout
$IFDEF VERâ– â–
perturbinit:
#dz = â–
perturbloop:
if @power == (â– , â– )
#dz = â– â– #z â– #dz + sqr(#dz) + #dpixel
elseif @power == (â– , â– )
complex zâ– = sqr(#z)
complex dzâ– = sqr(#dz)
#dz = â– â– zâ– â– #dz + â– â– #z â– dzâ– + #dz â– dzâ– + #dpixel
else ; power â–
complex zâ– = sqr(#z)
complex dzâ– = sqr(#dz)
complex zdzâ– = â– â– #zâ– #dz
#dz = #dpixel + zdzâ– â– zâ– + â– â– zâ– â– dzâ– + zdzâ– â– dzâ– + sqr(dzâ– )
endif
$ENDIF
default:
title = "Mandelbrot"
center = (-â– .â– , â– )
helpfile = "Ufâ– .chm"
helptopic = "Html\formulas\standard\mandelbrot.html"
$IFDEF VERâ– â–
rating = recommended
$ENDIF
$IFDEF VERâ– â–
perturb = @power == (â– , â– ) || @power == (â– , â– ) || @power == (â– , â– )
$ENDIF
param start
caption = "Starting point"
default = (â– ,â– )
hint = "The starting point parameter can be used to distort the Mandelbrot \
set. Use (â– , â– ) for the standard Mandelbrot set."
endparam
param power
caption = "Power"
default = (â– ,â– )
hint = "This parameter sets the exponent for the Mandelbrot formula. \
Increasing the real part to â– , â– , and so on, will add discs to \
the Mandelbrot figure. Non-integer real values and non-zero \
imaginary values will create distorted Mandelbrot sets. Use (â– , â– ) \
for the standard Mandelbrot set."
endparam
float param bailout
caption = "Bailout value"
default = â– .â–
min = â– .â–
$IFDEF VERâ– â–
exponential = true
$ENDIF
hint = "This parameter defines how soon an orbit bails out while \
iterating. Larger values give smoother outlines; values around â– \
give more interesting shapes around the set. Values less than â– \
will distort the fractal."
endparam
switch:
type = "Julia"
seed = #pixel
power = power
bailout = bailout
}
compounding-tweaked-mandelbrot { ; Kerry Mitchell â– â– octâ– â–
;
; Tweaks either c or z each iteration, so that the tweaking compounds
;
init:
z=@manparam
c=#pixel
loop:
z=z^@nexp+c
if(@tweaktype==â– )
c=c+@tweakageâ– @tweakfunction(z)
elseif(@tweaktype==â– )
c=c+@tweakageâ– @tweakfunction(câ– z)
elseif(@tweaktype==â– )
c=c+@tweakageâ– @tweakfunction(z/c)
elseif(@tweaktype==â– )
z=z+@tweakageâ– @tweakfunction(c)
elseif(@tweaktype==â– )
z=z+@tweakageâ– @tweakfunction(z)
elseif(@tweaktype==â– )
z=z+@tweakageâ– @tweakfunction(câ– z)
elseif(@tweaktype==â– )
z=z+@tweakageâ– @tweakfunction(z/c)
else
c=c+@tweakageâ– @tweakfunction(c)
endif
bailout:
|z|<@bailout
default:
title="Compounding Tweaked Mandelbrot"
helpfile="lkm-help\lkm-compounding.html"
maxiter=â– â– â–
periodicity=â–
center=(-â– .â– ,â– .â– )
magn=â– .â–
angle=â–
method=multipass
param manparam
caption="initial z"
default=(â– .â– ,â– .â– )
hint="Use (â– ,â– ) for something resembling the \
standard Mandelbrot set."
endparam
param bailout
caption="bailout value"
default=â– â– â– â– .â–
endparam
param nexp
caption="exponent"
default=(â– ,â– )
hint="Use â– .â– for something resembling the \
standard Mandelbrot set."
endparam
param tweaktype
caption="tweaking type"
default=â–
enum="c; fn(c)" "c; fn(z)" "c; fn(câ– z)" "c; fn(z/c)" \
"z; fn(c)" "z; fn(z)" "z; fn(câ– z)" "z; fn(z/c)"
hint="Sets what gets tweaked, and how."
endparam
param tweakage
caption="tweaking amount"
default=(â– .â– â– ,â– .â– )
hint="Make small for something resembling the \
standard Mandelbrot set."
endparam
func tweakfunction
caption="tweaking function"
default=recip()
hint="Function of the tweaking variable."
endfunc
switch:
type="compounding-tweaked-julia"
julparam=#pixel
nexp=nexp
bailout=bailout
tweaktype=tweaktype
tweakage=tweakage
}
general-tent-julia { ; Kerry Mitchell â– â– octâ– â– â– â–
;
; Variation on the standard tent map
;
init:
c=@julparam
z=pixel
float r=â– .â–
if(@rotunit==â– ) ; radians
r=@rotamount
else ; degrees
r=@rotamountâ– #pi/â– â– â–
endif
rotâ– =cos(r)+flip(sin(r))
rot=rotâ–
temp=(â– ,â– )
loop:
;
; rotate the map
;
if(@rottype==â– ) ; constant rotation
temp=rotâ– â– z
elseif(@rottype==â– ) ; progressive rotation
rot=rotâ– rotâ–
temp=rotâ– z
elseif(@rottype==â– ) ; oscillating rotation
rot=rotâ– /rot
temp=rotâ– z
else ; no rotation
temp=z
endif
;
; choose the map variable
;
if(@rtype==â– ) ; real part
r=real(temp)
elseif(@rtype==â– ) ; imag part
r=imag(temp)
elseif(@rtype==â– ) ; realâ– imag
r=imag(temp)â– real(temp)
elseif(@rtype==â– ) ; imag/real
r=imag(temp)/real(temp)
else ; magnitude
r=cabs(temp)
endif
;
; execute tent map
;
if(r<=â– .â– )
z=câ– temp
else
z=câ– (â– -temp)
endif
bailout:
|z|<@bailout
default:
title="General Tent Julia"
helpfile="lkm-help\lkm-tent.html"
maxiter=â– â– â–
periodicity=â–
center=(â– ,â– )
magn=â– .â–
angle=â–
param julparam
caption="Julia parameter"
default=(â– .â– ,â– .â– )
endparam
param bailout
caption="bailout"
default=â– â– â– â– .
endparam
param rtype
caption="r type"
default=â–
enum="magnitude" "real part" "imag part" "realâ– imag" "imag/real"
hint="Determines the r value used in the tent map."
endparam
param rottype
caption="rotation type"
default=â–
enum="none" "constant" "progressive" "oscillating"
hint="In 'constant' mode, the same angle is used every iteration. \
In 'progressive' mode, the angle is increased by the amount every \
iteration. In 'oscillating' mode, the map is rotated forward, then \
back, then forward, etc."
endparam
param rotamount
caption="rotation amount"
default=â– â– .â–
hint="How much the map is rotated."
endparam
param rotunit
caption="rotation units"
default=â–
enum="degrees" "radians"
hint="Units in which the rotation is expressed."
endparam
switch:
type="general-tent-mandelbrot"
bailout=bailout
rtype=rtype
rottype=rottype
rotamount=rotamount
rotunit=rotunit
}
gap-julia { ; Kerry Mitchell â– â– decâ– â–
;
; z^n+c Julia
; bails out when orbit falls into gap
; either between â– circles or â– lines
;
; updates:
; â– â– febâ– â– to add complex exponent
; â– â– febâ– â– to add switching to gap-julia
; â– â– marâ– â– removed complex exponent for backwards compatibility
;
init:
z=#pixel
c=@julparam
float a=â– .â–
float b=â– .â–
float gap=â– .â–
float radsqrâ– =sqr(@radiusâ– )
float radsqrâ– =sqr(@radiusâ– )
float x=â– .â–
float y=â– .â–
float rmax=â– eâ– â–
float tempr=â– .â–
int done=â–
;
; set up line/circle parameters
;
if(@type==â– ) ; lines
tempr=@theta/â– â– â– â– pi
a=sin(tempr)
b=-cos(tempr)
gap=@câ– -@câ–
else ; circles
gap=radsqrâ– -radsqrâ–
endif
loop:
z=z^@n+c
x=real(z)
y=imag(z)
;
; check for falling into gap
;
if(@type==â– ) ; lines
tempr=aâ– x+bâ– y
if((tempr>@câ– )&&(tempr<@câ– ))
done=â–
tempr=(tempr-@câ– )/gap
z=temprâ– z/cabs(z)
endif
else ; circles
tempr=|z-@center|
if((tempr>radsqrâ– )&&(temprrmax))
done=â–
z=(â– .â– ,â– .â– )
endif
bailout:
done==â–
default:
title="Gap Julia"
maxiter=â– â– â–
periodicity=â–
center=(â– ,â– )
method=multipass
magn=â–
angle=â–
param n
caption="z exponent"
default=â– .â–
hint="Real--use Gap Julia C for complex exponents."
endparam
param julparam
caption="Julia parameter"
default=(â– ,â– )
endparam
param type
caption="gap type"
default=â–
enum="between â– lines" "between â– circles"
endparam
param câ–
caption="line â– c value"
default=-â– .â–
hint="must be less than line â– c value"
endparam
param câ–
caption="line â– c value"
default=â– .â–
hint="must be more than line â– c value"
endparam
param theta
caption="line angle"
default=â– â– .â–
hint="angle to horizontal, degrees"
endparam
param center
caption="circle center"
default=(â– ,â– )
endparam
param radiusâ–
caption="circle â– radius"
default=â– .â–
hint="must be less than circle â– radius"
endparam
param radiusâ–
caption="circle â– radius"
default=â– .â–
hint="must be more than circle â– radius"
endparam
switch:
type="gap-mandelbrot"
n=n
type=type
câ– =câ–
câ– =câ–
theta=theta
center=center
radiusâ– =radiusâ–
radiusâ– =radiusâ–
}