Fractal 054 C – Photosynthesis
Part of LIFE series – 11 2021
chlorophyll . ecosystem . foliage . forest . green . leaf . life . nature . photosynthesis . plants . tree
Fractal 054 C – zoom level 1
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_â– â– â– _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
}