Fractal 054 C – Photosynthesis

Part of LIFE series – 11 2021

chlorophyll . ecosystem . foliage . forest . green . leaf . life . nature . photosynthesis . plants . tree
Fractal 054 C | Photosynthesis
Fractal 054 C zoom1

Fractal 054 C – zoom level 1

Fractal 054 C zoom2

Fractal 054 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 054 C - Photosynthesis - Part of LIFE series - 11.2021

Fractal 054 C | Photosynthesis

Fractal_â– â– â– _C {
fractal:
  title="Fractal_â– â– â– _C" width=â– â– â– â–  height=â– â– â– â–  layers=â– 
  credits="Philoxerax;â– â– /â– /â– â– â– â– "
layer:
  caption="Background" opacity=â– â– â–  mergemode=screen method=multipass
mapping:
  center=-â– â– â– â– .â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â–  magn=â– .â– â– â– â– â– â– â– â– â–  angle=â– â– â– .â– â– â– 
formula:
  maxiter=â– â– â–  percheck=off filename="ldm.ufm" entry="DMâ– â– " f_fnâ– =cos
  f_fnâ– =cos f_fnâ– =sin p_pâ– =.â– â– /â– 
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=screen method=multipass
mapping:
  center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â– â– â– â– â–  magn=â– â– â– .â– â– â– â– â– 
  angle=-â– â– â– .â– â– â– â– 
formula:
  maxiter=â– â– â–  percheck=off filename="lkm.ufm" entry="gap-mandelbrot"
  p_manparam=â– /â–  p_n=â– .â–  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=â– â– â– â– â– â– 
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="gap-mandelbrot"
  p_manparam=â– /â–  p_n=â– .â–  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=â– â– â– â– â– â– â– â– 
opacity:
  smooth=no index=â–  opacity=â– â– â– 
layer:
  caption="Layer â– " opacity=â– â–  mergemode=overlay
mapping:
  center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â–  magn=â– â– â– â– â– .â– â– 
  angle=-â– â– â– .â– â– â– 
formula:
  maxiter=â– â– â–  filename="lkmâ– .ufm" entry="alternating-functions"
  p_initz_type=pixel p_initial_z=â– /â–  p_bailout=â– â– â– â–  p_ztype=iterate
  p_nfunction=â–  p_fnâ– ="Newton J â– " p_fnâ– ="Mandelbrot â– " p_fnâ– =" "
  p_fnâ– =" " p_fnâ– =" " p_fnâ– =" " p_mâ– power=â– /â–  p_mâ– weight=â– /â– 
  p_jâ– power=â– /â–  p_jâ– param=â– /â–  p_jâ– weight=â– /â–  p_nmâ– power=â– /â– 
  p_nmâ– weight=â– /â–  p_njâ– power=â– /â–  p_njâ– param=â– /â–  p_njâ– weight=â– /â– 
  p_pcâ– h=â– .â– /â–  p_pcâ– c=â– /â–  f_pcâ– out=sin f_pcâ– in=tan p_prâ– h=â– .â–  p_prâ– c=â– 
  f_prâ– out=sin f_prâ– in=tan p_mâ– power=â– /â–  p_mâ– weight=â– /â–  p_jâ– power=â– /â– 
  p_jâ– param=â– /â–  p_jâ– weight=â– /â–  p_nmâ– power=â– /â–  p_nmâ– weight=â– /â– 
  p_njâ– power=â– /â–  p_njâ– param=â– /â–  p_njâ– weight=â– /â–  p_pcâ– h=â– .â– /â– 
  p_pcâ– c=â– /â–  f_pcâ– out=sin f_pcâ– in=tan p_prâ– h=â– .â–  p_prâ– c=â–  f_prâ– out=sin
  f_prâ– in=tan p_oscillator_type=ramp p_initial_seed=â– â– â– â– 
inside:
  transfer=none solid=â– â– â– â– â– â– â– â– â– â– 
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=â– â–  visible=no mergemode=lighten
mapping:
  center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– e-â–  magn=â– â– â– â– â– â– .â– â– 
  angle=â– â– .â– â– â– â– 
formula:
  maxiter=â– â– â– â–  percheck=off filename="dmj.ufm" entry="dmj-NovaMandel"
  p_start=â– /â–  p_power=â– /â–  p_bailout=â– .â– â– â– â– â–  p_relax=â– /â– 
inside:
  transfer=none solid=â– â– â– â– â– â– â– â– â– â– 
outside:
  transfer=linear
gradient:
  smooth=yes rotation=â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– 
opacity:
  smooth=no index=â–  opacity=â– â– â– 
layer:
  caption="Background" opacity=â– â– â– 
mapping:
  center=-â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â–  magn=â– â– â– â– â– .â– â– 
  angle=-â– â– â– .â– â– â– 
formula:
  maxiter=â– â– â–  filename="lkmâ– .ufm" entry="alternating-functions"
  p_initz_type=pixel p_initial_z=â– /â–  p_bailout=â– â– â– â–  p_ztype=iterate
  p_nfunction=â–  p_fnâ– ="Newton J â– " p_fnâ– ="Mandelbrot â– " p_fnâ– =" "
  p_fnâ– =" " p_fnâ– =" " p_fnâ– =" " p_mâ– power=â– /â–  p_mâ– weight=â– /â– 
  p_jâ– power=â– /â–  p_jâ– param=â– /â–  p_jâ– weight=â– /â–  p_nmâ– power=â– /â– 
  p_nmâ– weight=â– /â–  p_njâ– power=â– /â–  p_njâ– param=â– /â–  p_njâ– weight=â– /â– 
  p_pcâ– h=â– .â– /â–  p_pcâ– c=â– /â–  f_pcâ– out=sin f_pcâ– in=tan p_prâ– h=â– .â–  p_prâ– c=â– 
  f_prâ– out=sin f_prâ– in=tan p_mâ– power=â– /â–  p_mâ– weight=â– /â–  p_jâ– power=â– /â– 
  p_jâ– param=â– /â–  p_jâ– weight=â– /â–  p_nmâ– power=â– /â–  p_nmâ– weight=â– /â– 
  p_njâ– power=â– /â–  p_njâ– param=â– /â–  p_njâ– weight=â– /â–  p_pcâ– h=â– .â– /â– 
  p_pcâ– c=â– /â–  f_pcâ– out=sin f_pcâ– in=tan p_prâ– h=â– .â–  p_prâ– c=â–  f_prâ– out=sin
  f_prâ– in=tan p_oscillator_type=ramp p_initial_seed=â– â– â– â– 
inside:
  transfer=none solid=â– â– â– â– â– â– â– â– â– â– 
outside:
  transfer=linear
gradient:
  smooth=yes rotation=â– â–  index=â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– 
opacity:
  smooth=no index=â–  opacity=â– â– â– 
}

DMâ– â–  {
init:
  z = pixel
loop:
  a=fnâ– (z)
  b=a+pâ– 
  c=fnâ– ((a-pâ– )/b)
  d=c^â– /pâ– 
  w=a/b/câ– (d+pâ– )
  z=fnâ– (w/z^pâ– )
bailout:
  |z| <= â– 
default:
  method = multipass
  periodicity = â– 
  param pâ– 
  default=(.â– â– ,â– )
  endparam
  
  func fnâ– 
  default=cos()
  endfunc
}

gap-mandelbrot { ; Kerry Mitchell â– â– decâ– â– 
;
; z^n+c Mandelbrot
; bails out when orbit falls into gap
; either between â–  circles or â–  lines
;
; updates:
;   â– â– decâ– â–  to add general starting point
;   â– â– febâ– â–  to add complex exponent
;   â– â– febâ– â–  to add switching to gap-julia
;   â– â– marâ– â–  removed complex exponent for backwards compatibility
;
init:
  z=@manparam
  c=#pixel
  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 Mandelbrot"
  maxiter=â– â– â– 
  periodicity=â– 
  center=(â– ,â– )
  method=multipass
  magn=â– 
  angle=â– 
  param manparam
    caption="Mandelbrot start"
    default=(â– ,â– )
    hint="use (â– ,â– ) for basic Mandelbrot set"
  endparam
  param n
    caption="z exponent"
    default=â– .â– 
    hint="Real--use Gap Mandelbrot C for complex exponents."
  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-julia"
  n=n
  julparam=#pixel
  type=type
  câ– =câ– 
  câ– =câ– 
  theta=theta
  center=center
  radiusâ– =radiusâ– 
  radiusâ– =radiusâ– 
}

alternating-functions { ; Kerry Mitchell â– â– Julâ– â– â– â– 
init:
  complex dz=(â– ,â– )
  complex z=(â– ,â– )
  complex xnew=(â– ,â– )
  complex xold=(â– ,â– )
  complex ynew=(â– ,â– )
  complex yold=(â– ,â– )
  complex znew=(â– ,â– )
  complex zold=(â– ,â– )
  float r=â– 
  float sincos=â– 
  int funtype=â– 
  int iter=â– 
  int picker=â– 
  int seed=@initial_seed
;
  if(@initz_type=="pixel")
    zold=#pixel
  else
    zold=@initial_z
  endif
  iter=-â– 
loop:
  iter=iter+â– 
;
; choose function
;
; â–  function
;
  if(@nfunction=="â– ")
    if(@fnâ– =="Mandelbrot â– ")
      funtype=â– 
    elseif(@fnâ– =="Julia â– ")
      funtype=â– 
    elseif(@fnâ– =="Newton M â– ")
      funtype=â– 
    elseif(@fnâ– =="Newton J â– ")
      funtype=â– 
    elseif(@fnâ– =="Popcorn C â– ")
      funtype=â– 
    elseif(@fnâ– =="Popcorn R â– ")
      funtype=â– 
    elseif(@fnâ– =="Mandelbrot â– ")
      funtype=â– 
    elseif(@fnâ– =="Julia â– ")
      funtype=â– 
    elseif(@fnâ– =="Newton M â– ")
      funtype=â– 
    elseif(@fnâ– =="Newton J â– ")
      funtype=â– â– 
    elseif(@fnâ– =="Popcorn C â– ")
      funtype=â– â– 
    elseif(@fnâ– =="Popcorn R â– ")
      funtype=â– â– 
    endif
;
; â–  functions
;
  elseif(@nfunction=="â– ")
    if(@oscillator_type=="ramp")
      picker=iter%â– 
    elseif(@oscillator_type=="sine")
      sincos=(â– +sin(iter-â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="cosine")
      sincos=(â– +cos(iter+â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random msb")
      seed=random(seed)
      sincos=abs(seed/#randomrange)
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random lsb")
      seed=random(seed)
      picker=abs(seed)%â– 
    endif
    picker=picker+â– 
    if(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    else
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    endif
;
; â–  functions
;
  elseif(@nfunction=="â– ")
    if(@oscillator_type=="ramp")
      picker=iter%â– 
    elseif(@oscillator_type=="sine")
      sincos=(â– +sin(iter-â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="cosine")
      sincos=(â– +cos(iter+â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random msb")
      seed=random(seed)
      sincos=abs(seed/#randomrange)
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random lsb")
      seed=random(seed)
      picker=abs(seed)%â– 
    endif
    picker=picker+â– 
    if(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    else
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    endif
;
; â–  functions
;
  elseif(@nfunction=="â– ")
    if(@oscillator_type=="ramp")
      picker=iter%â– 
    elseif(@oscillator_type=="sine")
      sincos=(â– +sin(iter-â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="cosine")
      sincos=(â– +cos(iter+â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random msb")
      seed=random(seed)
      sincos=abs(seed/#randomrange)
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random lsb")
      seed=random(seed)
      picker=abs(seed)%â– 
    endif
    picker=picker+â– 
    if(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    else
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    endif
;
; â–  functions
;
  elseif(@nfunction=="â– ")
    if(@oscillator_type=="ramp")
      picker=iter%â– 
    elseif(@oscillator_type=="sine")
      sincos=(â– +sin(iter-â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="cosine")
      sincos=(â– +cos(iter+â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random msb")
      seed=random(seed)
      sincos=abs(seed/#randomrange)
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random lsb")
      seed=random(seed)
      picker=abs(seed)%â– 
    endif
    picker=picker+â– 
    if(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    else
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    endif
;
; â–  functions
;
  elseif(@nfunction=="â– ")
    if(@oscillator_type=="ramp")
      picker=iter%â– 
    elseif(@oscillator_type=="sine")
      sincos=(â– +sin(iter-â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="cosine")
      sincos=(â– +cos(iter+â– .â– â– â– ))/â– 
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random msb")
      seed=random(seed)
      sincos=abs(seed/#randomrange)
      picker=trunc(sincosâ– â– )
    elseif(@oscillator_type=="random lsb")
      seed=random(seed)
      picker=abs(seed)%â– 
    endif
    picker=picker+â– 
    if(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    elseif(picker==â– )
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    else
      if(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– 
      elseif(@fnâ– =="Mandelbrot â– ")
        funtype=â– 
      elseif(@fnâ– =="Julia â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton M â– ")
        funtype=â– 
      elseif(@fnâ– =="Newton J â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn C â– ")
        funtype=â– â– 
      elseif(@fnâ– =="Popcorn R â– ")
        funtype=â– â– 
      endif
    endif
  endif
;
; iterate
;
  if(funtype==â– ) ; Mandelbrot â– 
    znew=(â– -@mâ– weight)â– zold+@mâ– weightâ– (zold^@mâ– power+#pixel)
    r=|znew|
  elseif(funtype==â– ) ; Julia â– 
    znew=(â– -@jâ– weight)â– zold+@jâ– weightâ– (zold^@jâ– power+@jâ– param)
    r=|znew|
  elseif(funtype==â– ) ; Newton M â– , roots of pixel
    dz=(zold^@nmâ– power-#pixel)/(@nmâ– powerâ– zold^(@nmâ– power-â– ))
    znew=zold-@nmâ– weightâ– dz
    r=â– /|dz|
  elseif(funtype==â– ) ; Newton J â– , roots of specific value
    dz=(zold^@njâ– power-@njâ– param)/(@njâ– powerâ– zold^(@njâ– power-â– ))
    znew=zold-@njâ– weightâ– dz
    r=â– /|dz|
  elseif(funtype==â– ) ; Popcorn C â– , popcorn with complex variables
    xold=real(zold)
    yold=imag(zold)
    xnew=xold-@pcâ– hâ– @pcâ– out(yold+@pcâ– in(@pcâ– câ– yold))
    ynew=yold-@pcâ– hâ– @pcâ– out(xold+@pcâ– in(@pcâ– câ– xold))
    znew=xnew+flip(ynew)
    r=|znew|
  elseif(funtype==â– ) ; Popcorn R â– , popcorn with real variables
    xold=real(zold)
    yold=imag(zold)
    xnew=xold-@prâ– hâ– real(@prâ– out(yold+real(@prâ– in(@prâ– câ– yold))))
    ynew=yold-@prâ– hâ– real(@prâ– out(xold+real(@prâ– in(@prâ– câ– xold))))
    znew=xnew+flip(ynew)
    r=|znew|
  elseif(funtype==â– ) ; Mandelbrot â– 
    znew=(â– -@mâ– weight)â– zold+@mâ– weightâ– (zold^@mâ– power+#pixel)
    r=|znew|
  elseif(funtype==â– ) ; Julia â– 
    znew=(â– -@jâ– weight)â– zold+@jâ– weightâ– (zold^@jâ– power+@jâ– param)
    r=|znew|
  elseif(funtype==â– ) ; Newton M â– , roots of pixel
    dz=(zold^@nmâ– power-#pixel)/(@nmâ– powerâ– zold^(@nmâ– power-â– ))
    znew=zold-@nmâ– weightâ– dz
    r=â– /|dz|
  elseif(funtype==â– â– ) ; Newton J â– , roots of specific value
    dz=(zold^@njâ– power-@njâ– param)/(@njâ– powerâ– zold^(@njâ– power-â– ))
    znew=zold-@njâ– weightâ– dz
    r=â– /|dz|
  elseif(funtype==â– â– ) ; Popcorn C â– , popcorn with complex variables
    xold=real(zold)
    yold=imag(zold)
    xnew=xold-@pcâ– hâ– @pcâ– out(yold+@pcâ– in(@pcâ– câ– yold))
    ynew=yold-@pcâ– hâ– @pcâ– out(xold+@pcâ– in(@pcâ– câ– xold))
    znew=xnew+flip(ynew)
    r=|znew|
  elseif(funtype==â– â– ) ; Popcorn R â– , popcorn with real variables
    xold=real(zold)
    yold=imag(zold)
    xnew=xold-@prâ– hâ– real(@prâ– out(yold+real(@prâ– in(@prâ– câ– yold))))
    ynew=yold-@prâ– hâ– real(@prâ– out(xold+real(@prâ– in(@prâ– câ– xold))))
    znew=xnew+flip(ynew)
    r=|znew|
  endif
;
; establish z
;
  if(@ztype=="iterate")
    z=znew
  elseif(@ztype=="difference")
    z=znew-zold
  elseif(@ztype=="ratio")
    z=znew/zold
  elseif(@ztype=="weird")
    if(@nfunction=="â– ")
      z=zold^znew
    elseif(@nfunction=="â– ")
      z=(-zold)^znew
    elseif(@nfunction=="â– ")
      z=(-zold)^(-znew)
    elseif(@nfunction=="â– ")
      z=zold^(-znew)
    elseif(@nfunction=="â– ")
      z=(zold+znew)^(zold-znew)
    elseif(@nfunction=="â– ")
      z=(znew-zold)^(zold+znew)
    endif
  endif
  zold=znew
bailout:
  r<@bailout
default:
  title="Alternating Functions"
  heading
    text="Allows you to alternate between several functions every iteration."
  endheading
;
; general parameters
;
  heading
    caption="General parameters"
  endheading
  param initz_type
    caption="initial z type"
    default=â– 
    enum="manual" "pixel"
  endparam
  complex param initial_z
    caption="initial z"
    default=(â– ,â– )
    visible=(@initz_type=="manual")
  endparam
  float param bailout
    caption="bailout"
    default=â– â– â– â– 
  endparam
  param ztype
    caption="z type"
    default=â– 
    enum="iterate" "difference" "ratio" "weird"
  endparam
;
; alternating function defintions
;
  heading
    caption="Alternating functions"
  endheading
  param nfunction
    caption="# of functions"
    default=â– 
    enum="â– " "â– " "â– " "â– " "â– " "â– "
  endparam
  param fnâ– 
    caption="function â– "
    default=â– 
    enum=" " "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "\
      "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "
  endparam
  param fnâ– 
    caption="function â– "
    default=â– 
    enum=" " "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "\
      "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "
    visible=(@nfunction>â– )
  endparam
  param fnâ– 
    caption="function â– "
    default=â– 
    enum=" " "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "\
      "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "
    visible=(@nfunction>â– )
  endparam
  param fnâ– 
    caption="function â– "
    default=â– 
    enum=" " "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "\
      "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "
    visible=(@nfunction>â– )
  endparam
  param fnâ– 
    caption="function â– "
    default=â– 
    enum=" " "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "\
      "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "
    visible=(@nfunction>â– )
  endparam
  param fnâ– 
    caption="function â– "
    default=â– 
    enum=" " "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "\
      "Mandelbrot â– " "Julia â– " "Newton M â– " "Newton J â– " "Popcorn C â– " "Popcorn R â– "
    visible=(@nfunction>â– )
  endparam
;
  complex param mâ– power
    caption="Mandelbrot â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||\
      (@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– "))
  endparam
  complex param mâ– weight
    caption="Mandelbrot â–  weight"
    default=â– 
    visible=((@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||\
      (@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– "))
  endparam
  complex param jâ– power
    caption="Julia â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||\
      (@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– "))
  endparam
  complex param jâ– param
    caption="Julia â–  parameter"
    default=(â– ,â– )
    visible=((@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||\
      (@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– "))
  endparam
  complex param jâ– weight
    caption="Julia â–  weight"
    default=â– 
    visible=((@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||\
      (@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– "))
  endparam
  complex param nmâ– power
    caption="Newton M â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||\
      (@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– "))
  endparam
  complex param nmâ– weight
    caption="Newton M â–  nova fac"
    default=â– 
    visible=((@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||\
      (@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– "))
  endparam
  complex param njâ– power
    caption="Newton J â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||\
      (@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– "))
  endparam
  complex param njâ– param
    caption="Newton J â–  parameter"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||\
      (@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– "))
  endparam
  complex param njâ– weight
    caption="Newton J â–  nova fac"
    default=â– 
    visible=((@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||\
      (@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– "))
  endparam
  complex param pcâ– h
    caption="complex step size â– "
    default=(â– .â– ,â– )
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endparam
  complex param pcâ– c
    caption="complex frequency â– "
    default=(â– ,â– )
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endparam
  func pcâ– out
    caption="complex outer function â– "
    default=sin()
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endfunc
  func pcâ– in
    caption="complex inner function â– "
    default=tan()
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endfunc
  float param prâ– h
    caption="real step size â– "
    default=â– .â– 
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endparam
  float param prâ– c
    caption="real frequency â– "
    default=â– 
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endparam
  func prâ– out
    caption="real outer function â– "
    default=sin()
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endfunc
  func prâ– in
    caption="real inner function â– "
    default=tan()
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endfunc
  complex param mâ– power
    caption="Mandelbrot â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||\
      (@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– "))
  endparam
  complex param mâ– weight
    caption="Mandelbrot â–  weight"
    default=â– 
    visible=((@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||\
      (@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– ")||(@fnâ– =="Mandelbrot â– "))
  endparam
  complex param jâ– power
    caption="Julia â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||\
      (@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– "))
  endparam
  complex param jâ– param
    caption="Julia â–  parameter"
    default=(â– ,â– )
    visible=((@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||\
      (@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– "))
  endparam
  complex param jâ– weight
    caption="Julia â–  weight"
    default=â– 
    visible=((@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||\
      (@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– ")||(@fnâ– =="Julia â– "))
  endparam
  complex param nmâ– power
    caption="Newton M â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||\
      (@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– "))
  endparam
  complex param nmâ– weight
    caption="Newton M â–  nova fac"
    default=â– 
    visible=((@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||\
      (@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– ")||(@fnâ– =="Newton M â– "))
  endparam
  complex param njâ– power
    caption="Newton J â–  power"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||\
      (@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– "))
  endparam
  complex param njâ– param
    caption="Newton J â–  parameter"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||\
      (@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– "))
  endparam
  complex param njâ– weight
    caption="Newton J â–  nova fac"
    default=(â– ,â– )
    visible=((@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||\
      (@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– ")||(@fnâ– =="Newton J â– "))
  endparam
  complex param pcâ– h
    caption="complex step size â– "
    default=(â– .â– ,â– )
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endparam
  complex param pcâ– c
    caption="complex frequency â– "
    default=(â– ,â– )
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endparam
  func pcâ– out
    caption="complex outer function â– "
    default=sin()
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endfunc
  func pcâ– in
    caption="complex inner function â– "
    default=tan()
    visible=((@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||\
      (@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– ")||(@fnâ– =="Popcorn C â– "))
  endfunc
  float param prâ– h
    caption="real step size â– "
    default=â– .â– 
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endparam
  float param prâ– c
    caption="real frequency â– "
    default=â– 
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endparam
  func prâ– out
    caption="real outer function â– "
    default=sin()
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endfunc
  func prâ– in
    caption="real inner function â– "
    default=tan()
    visible=((@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||\
      (@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– ")||(@fnâ– =="Popcorn R â– "))
  endfunc
;
; oscillator/ramp
;
  heading
    caption="Oscillator"
  endheading
  param oscillator_type
    caption="type"
    default=â– 
    enum="ramp" "sine" "cosine" "random msb" "random lsb"
  endparam
  int param initial_seed
    caption="random seed"
    default=â– â– â– â– 
    visible=((@oscillator_type=="random msb")||(@oscillator_type=="random lsb"))
  endparam
}

dmj-NovaMandel {
;
; This is the Nova fractal (Mandelbrot form), a
; modified Newtonian-style fractal.  The formula
; was first shown to me by Paul Derbyshire (who
; named it Nova).  It has also appeared elsewhere
; under other names.  Use this formula and the
; Switch feature to select a NovaJulia.
;
init:
  complex zsquared = (â– ,â– )
  complex zcubed = (â– ,â– )
  complex zold = (â– ,â– )
  
  z = @start
  
loop:
  IF (@power == (â– ,â– )); special optimized routine for power â– 
    zsquared = sqr(z)
    zcubed = zsquared â–  z
    zold = z
    z = z - @relax â–  (zcubed-â– ) / (â– â– zsquared) + #pixel
  ELSE
    zold = z
    z = z - @relax â–  (z^@power-â– ) / (@power â–  z^(@power-â– )) + #pixel
  ENDIF
  
bailout:
  |z - zold| > @bailout
  
default:
  title = "Nova (Mandelbrot)"
  helpfile = "dmj-pub\dmj-pub-uf-nova.htm"
  maxiter = â– â– â– â– 
  periodicity = â– 
  center = (-â– .â– ,â– )
  magn = â– .â– 
  
  param start
    caption = "Start Value"
    default = (â– ,â– )
    hint = "Starting value for each point.  You can use this to \
            'perturb' the fractal."
  endparam
  param power
    caption = "Exponent"
    default = (â– ,â– )
    hint = "Overall exponent for the equation.  (â– ,â– ) gives \
            the classic NovaM type."
  endparam
  param bailout
    caption = "Bailout"
    default = â– .â– â– â– â– â– 
    hint = "Bailout value; smaller values will cause more \
            iterations to be done for each point."
  endparam
  param relax
    caption = "Relaxation"
    default = (â– ,â– )
    hint = "This can be used to slow down the convergence of \
            the formula."
  endparam

switch:
  type = "dmj-NovaJulia"
  seed = #pixel
  power = @power
  bailout = @bailout
  relax = @relax
}
not generated by AI logo