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 }