Fractal 041 C – Life in the Abyss

Part of LIFE series – 10 2021

abyss . deep . life . light . ocean . rift . sea
Fractal 041 C | Life in the Abyss
Fractal 041 C zoom1

Fractal 041 C – zoom level 1

Fractal 041 C zoom2

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 041 C | Life in the Abyss

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â– 
}
not generated by AI logo