Fractal 056 C – Shyness
Part of DIALOG series – 12 2021
darkness . dripping . obstacle . pastels . shyness . star
Fractal 056 C – zoom level 1
Fractal 056 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 056 C - Shyness - Part of DIALOG series - 12.2021

Fractal_â– â– â– _C {
fractal:
title="Fractal_â– â– â– _C" width=â– â– â– â– height=â– â– â– â– layers=â–
credits="Philoxerax;â– /â– /â– â– â– â– "
layer:
caption="Background" opacity=â– â– mergemode=lighten
mapping:
center=â– â– â– â– â– â– .â– â– â– â– /-â– â– â– â– â– .â– â– â– â– â– â– magn=â– .â– â– â– â– â– â– â– â– angle=â– â– .â– â– â– â–
stretch=â– .â– â– â– â– skew=â– .â– â– â–
formula:
maxiter=â– â– â– â– percheck=off filename="dmj.ufm"
entry="dmj-fBmNovaMandel" p_start=â– /â– p_power=â– /â– p_bailout=â– .â– â– â– â– â–
p_relax=â– /â– p_distortion=â– .â– p_style=radial p_distangle=â– .â–
p_distcenter=â– /â– p_centermove=no p_offset=â– /â– p_scale=â– .â–
p_angle=â– .â– p_step=â– .â– p_anglestep=â– â– .â– p_octaves=â– p_npower=â– .â–
p_noisestart=â– .â– p_noiseiter=â– â– â– â– â– .â– p_noiseskip=â– .â– p_coloronly=no
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="Layer â– " opacity=â– â– mergemode=screen
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=â– â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– index=â– â– â–
color=â– â– â– â– â– â– â– index=â– â– â– color=â– â– â– â– â– â– â– â–
opacity:
smooth=no index=â– opacity=â– â– â–
layer:
caption="Background" opacity=â– â– â– mergemode=luminance
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
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â– â– 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=lighten
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
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â– â– 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=â– â–
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=â– â– â– â– â– â– â– 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=â– â– â–
}
dmj-fBmNovaMandel {
;
; This is the basic Nova (Mandelbrot) type, but with a
; bit of fBm noise added at each iteration. This
; tends to distort the fractal beyond all recognition
; after just a few iterations, which may or may not
; be what you're looking for.
;
; You can also use the "Coloring Only" option to
; restrict the fBm distortion to the value passed
; to the coloring algorithm; the distortion will be
; removed before the next iteration is calculated.
;
init:
complex zsquared = (â– ,â– )
complex zcubed = (â– ,â– )
complex zold = (â– ,â– )
z = @start
complex oz = z
complex c = @distcenter
IF (@centermove)
c = #center
ENDIF
complex r = (â– ,â– ) ^ (@angle / â– â– .â– )
complex râ– = (â– ,â– ) ^ (@anglestep / â– â– .â– )
complex râ– = (â– ,â– ) ^ (@distangle / â– â– .â– )
float fiter = @noisestart
BOOL noise = false
loop:
IF (@noiseskip != â– ); we are skipping some iterations
fiter = fiter - â– ; one less to go before we add noise
WHILE (fiter < â– .â– ); iterations all used up IF (noise); we are currently adding noise noise = false; so stop fiter = fiter + @noiseskip; skip this many iterations ELSE; we aren't currently adding noise noise = true; so start fiter = fiter + @noiseiter; do this many iterations ENDIF ENDWHILE ENDIF IF (@coloronly); only using fBm on coloring z = oz; restore z from un-fBm'ed copy ENDIF 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 IF (@coloronly); only using fBm on coloring oz = z ENDIF IF (@noiseskip == â– .â– || noise); adding noise this iteration complex p = z â– @scale â– r ;+ @offset float sum = â– .â– float freq = â– .â– complex v = (â– ,â– ) int i = @octaves WHILE (i > â– )
; determine integer coordinate for corners of square
; surrounding p
float bxâ– = floor(real(p)) % â– â– â–
float byâ– = floor(imag(p)) % â– â– â–
IF (bxâ– < â– )
bxâ– = bxâ– + â– â– â–
ENDIF
IF (byâ– < â– ) byâ– = byâ– + â– â– â– ENDIF float bxâ– = (bxâ– + â– ) % â– â– â– float byâ– = (byâ– + â– ) % â– â– â– float rxâ– = real(p) - floor(real(p)) float ryâ– = imag(p) - floor(imag(p)) float rxâ– = rxâ– - â– float ryâ– = ryâ– - â– ; create a "random" index for each corner ; (this is where Intel's version differs from Perlin's; ; I used Intel's version because it doesn't require a ; pre-computed random table, which is difficult to manage ; in UF.) float bâ– â– = (bxâ– ^@npower % â– â– â– â– â– + byâ– )^@npower % â– â– â– â– â– float bâ– â– = (bxâ– ^@npower % â– â– â– â– â– + byâ– )^@npower % â– â– â– â– â– float bâ– â– = (bxâ– ^@npower % â– â– â– â– â– + byâ– )^@npower % â– â– â– â– â– float bâ– â– = (bxâ– ^@npower % â– â– â– â– â– + byâ– )^@npower % â– â– â– â– â– ; produce a "random" vector for each corner float g_bâ– â– _â– = (bâ– â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– +â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– +â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– +â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– float g_bâ– â– _â– = (bâ– â– +â– )^@npowerâ– â– .â– â– % â– â– â– - â– â– â– ; normalize each vector float d = â– .â– ; d = â– / sqrt(sqr(g_bâ– â– _â– ) + sqr(g_bâ– â– _â– )) g_bâ– â– _â– = g_bâ– â– _â– â– d g_bâ– â– _â– = g_bâ– â– _â– â– d d = â– / sqrt(sqr(g_bâ– â– _â– ) + sqr(g_bâ– â– _â– )) g_bâ– â– _â– = g_bâ– â– _â– â– d g_bâ– â– _â– = g_bâ– â– _â– â– d d = â– / sqrt(sqr(g_bâ– â– _â– ) + sqr(g_bâ– â– _â– )) g_bâ– â– _â– = g_bâ– â– _â– â– d g_bâ– â– _â– = g_bâ– â– _â– â– d d = â– / sqrt(sqr(g_bâ– â– _â– ) + sqr(g_bâ– â– _â– )) g_bâ– â– _â– = g_bâ– â– _â– â– d g_bâ– â– _â– = g_bâ– â– _â– â– d ; produce colors for each corner float uâ– = rxâ– â– g_bâ– â– _â– + ryâ– â– g_bâ– â– _â– float vâ– = rxâ– â– g_bâ– â– _â– + ryâ– â– g_bâ– â– _â– float uâ– = rxâ– â– g_bâ– â– _â– + ryâ– â– g_bâ– â– _â– float vâ– = rxâ– â– g_bâ– â– _â– + ryâ– â– g_bâ– â– _â– ; interpolate between corners using ; bilinear filtering float sx = sqr(rxâ– ) â– (â– - rxâ– â– â– ) float sy = sqr(ryâ– ) â– (â– - ryâ– â– â– ) float a = uâ– + sxâ– (vâ– -uâ– ) float b = uâ– + sxâ– (vâ– -uâ– ) sum = sum + (a + syâ– (b-a))â– freq freq = freq â– @step p = p â– râ– / @step i = i - â– ENDWHILE IF (@style == â– ); radial distortion v = (z-c)/cabs(z-c) â– râ– ; use vector based on angle to distortion center ELSEIF (@style == â– ); linear distortion v = râ– ; just use rotation vector ENDIF z = z + v â– sumâ– â– .â– â– @distortion ENDIF IF (@coloronly == false); not just using fBm on coloring oz = z; value for bailout is fBm'ed z ENDIF bailout: |oz - zold| > @bailout
default:
title = "Nova (Mandelbrot) + fBm"
helpfile = "dmj-pub\dmj-pub-uf-nf.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
param distortion
caption = "Distortion Strength"
default = â– .â–
hint = "This is the amount the noise distorts the image."
endparam
param style
caption = "Distortion Style"
default = â–
enum = "radial" "linear"
hint = "This selects whether the distortion will be focused \
around a single point, or directed along a line."
endparam
param distangle
caption = "Distortion Angle"
default = â– .â–
hint = "This is the angle to rotate the distortion."
endparam
param distcenter
caption = "Distortion Center"
default = (â– ,â– )
hint = "Sets the center of distortion. If Use Screen \
Center is set, this item is ignored."
endparam
param centermove
caption = "Use Screen Center"
default = FALSE
hint = "If set, distortion will be around the center of \
the window, regardless of the Distortion Center \
setting."
endparam
param offset
caption = "Noise Offset"
default = (â– ,â– )
hint = "This is the offset of the pattern. You can use this to shift \
the pattern around on the complex plane."
endparam
param scale
caption = "Noise Scale"
default = â– .â–
hint = "This is the overall scale of the noise."
endparam
param angle
caption = "Noise Rotation"
default = â– .â–
hint = "This is the angle, in degrees, of the noise."
endparam
param step
caption = "Noise Scale Step"
default = â– .â–
hint = "This is the step in scale between noise iterations."
endparam
param anglestep
caption = "Noise Rotation Step"
default = â– â– .â–
hint = "This is the angle, in degrees, to rotate between noise \
iterations."
endparam
param octaves
caption = "Noise Octaves"
default = â–
min = â–
hint = "This is the number of iterations of the noise formula."
endparam
param npower
caption = "Noise Exponent"
default = â– .â–
hint = "This is the exponent used to scramble numbers."
endparam
param noisestart
caption = "Start Iteration"
default = â– .â–
hint = "This is the iteration at which to start adding noise."
endparam
param noiseiter
caption = "Noise Iterations"
default = â– â– â– â– â– .â–
hint = "This is the number of iterations to add noise to."
endparam
param noiseskip
caption = "Skip Iterations"
default = â– .â–
hint = "This is the number of iterations to skip adding noise \
before starting again."
endparam
param coloronly
caption = "Coloring Only"
default = false
hint = "If set, noise will only apply to pixel values passed \
to the coloring algorithm; it will not be included in \
the fractal calculation between iterations."
endparam
switch:
type = "dmj-fBmNovaJulia"
seed = #pixel
power = @power
bailout = @bailout
relax = @relax
distortion = @distortion
style = @style
distangle = @distangle
distcenter = @distcenter
centermove = @centermove
offset = @offset
scale = @scale
angle = @angle
step = @step
anglestep = @anglestep
octaves = @octaves
npower = @npower
noisestart = @noisestart
noiseiter = @noiseiter
noiseskip = @noiseskip
coloronly = @coloronly
}
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
}