DATA
At a time when Artificial Intelligence is about to take over our world and make all the decisions for us, Philoxerax feels it's urgent to produce digital data that expresses Beauty and is easy for a computer to explore.
Philoxerax's digital works are created exclusively from fractals, with 0% AI generated. Each image 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, please contact Philippe.
Fractal 144 A - Friend - Part of ENCOUNTER series - 11.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;**/*/****"
layer:
caption="Background" opacity=*** visible=no mergemode=screen
mapping:
center=*.**********/*.********** magn=*.******** angle=**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-zeepop-m"
p_h=*.*/* p_bailout=*** p_epsilon=*E-* f_fn*=asin f_fn*=conj
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=* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** transparent=yes
mapping:
center=*.**********/*.********* magn=*.******** angle=**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-zeepop-m"
p_h=*.*/* p_bailout=*** p_epsilon=*E-* f_fn*=asin f_fn*=cabs
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** transparent=yes
mapping:
center=-*.*********/*.********* magn=*.******** angle=**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-zeepop-m"
p_h=*.**/* p_bailout=*** p_epsilon=*E-* f_fn*=cotanh f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** transparent=yes
mapping:
center=**.********/*.******* magn=*.********** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=**** f_fn*=tan f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=* index=*** opacity=*** index=***
opacity=***
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=**.********/*.******** magn=*.********** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=**** f_fn*=tan f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=******** index=***
color=******* index=*** color=* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.*********/*.********* magn=*.********
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-zeepop-j"
p_c=-*/* p_h=*.*/* p_bailout=***.* p_epsilon=*E-* f_fn*=ceil
f_fn*=tan
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=********
opacity:
smooth=no index=* opacity=***
}mt-zeepop-m { ; Mark Townsend, * May ****
init:
c = #pixel
z = sqr(* - #pixel)
oldz = *
loop:
oldz = z
z = z - @h * @fn*(z + @fn*(c * z))
bailout:
|z - oldz| > @epsilon
default:
title = "Zeepop Mset"
periodicity = *
param h
caption = "Step Size"
default = (*.*,*)
endparam
param bailout
caption = "Bailout Value"
default = ***
endparam
param epsilon
caption = "Epsilon"
default = *e-*
endparam
func fn*
caption = "Function #*"
default = sin()
endfunc
func fn*
caption = "Function #*"
default = tan()
endfunc
switch:
type = "mt-zeepop-j"
c = #pixel
h = h
fn* = fn*
fn* = fn*
bailout = bailout
epsilon = epsilon
}mt-bifunctional-m { ; Mark Townsend, ** Jun ****
init:
z = *
c = #pixel
float x = *
float y = *
loop:
x = real(z)
y = imag(z)
z = @fn*(x) + flip(@fn*(y))
z = z^@n + c
bailout:
|z| < @bailout
default:
title = "Bifunctional Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "Real function"
default = sinh()
endfunc
func fn*
caption = "Imaginary function"
default = ident()
endfunc
switch:
type = "mt-bifunctional-j"
bailout = bailout
c = #pixel
fn* = fn*
fn* = fn*
n = n
}mt-zeepop-j { ; Mark Townsend, * May ****
init:
z = #pixel
oldz = *
loop:
oldz = z
z = z - @h * @fn*(z + @fn*(@c * z))
bailout:
|z| < @bailout && |z - oldz| > @epsilon
default:
title = "Zeepop Julia"
periodicity = *
param c
caption = "Julia Seed"
default = (*,*)
endparam
param h
caption = "Step Size"
default = (*.*,*)
endparam
param bailout
caption = "Bailout Value"
default = ***.*
endparam
param epsilon
caption = "Epsilon"
default = *e-*
endparam
func fn*
caption = "Function #*"
default = sin()
endfunc
func fn*
caption = "Function #*"
default = tan()
endfunc
switch:
type = "mt-zeepop-m"
h = h
fn* = fn*
fn* = fn*
bailout = bailout
epsilon = epsilon
}
Fractal 143 B - Friend - Part of ENCOUNTER series - 11.2023
Fractal_***_B { fractal: title="Fractal_***_B" width=**** height=**** layers=* credits="Philoxerax;**/*/****" group: caption="Head" opacity=*** mergemode=passthrough items=* layer: caption="Layer *" opacity=*** mergemode=multiply transparent=yes mapping: center=-*.**********/*.********* magn=*.******** angle=***.**** stretch=*.**** skew=-*.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=advanced p_bailout=** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=**/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin all pos" p_poweryin=*/*.* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** opacity: smooth=no index=* opacity=* index=** opacity=*** index=*** opacity=*** layer: caption="Layer *" opacity=*** mergemode=screen transparent=yes mapping: center=-*.**********/*.********* magn=*.******** angle=***.**** stretch=*.**** skew=-*.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=advanced p_bailout=** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos general" p_powerxin=**/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin all pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=******** 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=* index=** opacity=*** index=*** opacity=*** layer: caption="Layer *" opacity=*** transparent=yes mapping: center=-*.**********/*.********* magn=*.******** angle=***.**** stretch=*.**** skew=-*.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=advanced p_bailout=** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=**/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin all pos" p_poweryin=*/*.* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** opacity: smooth=no index=* opacity=* index=** opacity=*** index=*** opacity=*** group: caption="Background" opacity=*** mergemode=passthrough items=* layer: caption="Layer *" opacity=** visible=no mergemode=multiply mapping: center=-*.***********/-*.********* magn=*.******* angle=***.*** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-* inside: transfer=none outside: transfer=linear gradient: smooth=yes index=* color=******** index=* color=******* index=* color=****** index=* color=******* index=* color=******* index=* color=******* index=* color=******* index=* color=******* index=* color=******* index=* color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=****** index=** color=******* index=** color=******** index=** color=******** index=** color=****** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******** index=** color=****** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******** index=** color=******* index=** color=****** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mapping: center=-*.***********/-*.********* magn=*.******* angle=***.**** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-* inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** transparent=yes mask=yes mapping: center=-*.***********/-*.********* magn=*.******* angle=***.**** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-* inside: transfer=none solid=* outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=******* index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mapping: center=-*.**********/*.********** magn=*.******* angle=***.**** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-* inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=******* index=*** color=******** opacity: smooth=no index=* opacity=*** } fourier-popcorn { ; Kerry Mitchell **May**** ; ; This is a complex-valued implementation and generalization ; of Cliff Pickover's "popcorn" algorithm. His method iterates ; * real variables like this: ; ; xnew = xold - h * sin(a*y + tan(b*y)) ; ynew = yold - h * sin(a*x + tan(b*x)) ; ; where a = *. The current method generalizes the above by: ; using truncated Fourier series instead of just single sin or tan function ; allowing for complex values of a (slope) ; having the same Fourier series parameters (basic controls) or ; having different parameters for the * series (x inner, x outer, ; y inner, and y outer) ; init: complex temp=(*,*) complex tempx=(*,*) complex tempy=(*,*) complex temp*=(*,*) complex temp*x=(*,*) complex temp*y=(*,*) complex tempin=(*,*) complex tempinx=(*,*) complex tempiny=(*,*) complex tempout=(*,*) complex tempoutx=(*,*) complex tempouty=(*,*) complex x=real(#pixel) complex y=imag(#pixel) complex xnew=(*,*) complex ynew=(*,*) complex z=#pixel int iterm=* int jterm=* int parity=* loop: ; ; basic controls ; if(@control_type=="basic") ; ; choose what inner variable to use ; tempinx=y tempiny=x ; ; compute the inner Fourier series ; tempx=* tempy=* iterm=* while(iterm<@ntermall) iterm=iterm+* if(@functypeall=="sin odd pos") jterm=**iterm-* tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd pos") jterm=**iterm-* tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all pos") jterm=iterm tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all pos") jterm=iterm tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all alt") jterm=iterm parity=(iterm%*)**-* tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all alt") jterm=iterm parity=(iterm%*)**-* tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin general") jterm=iterm tempx=tempx+@funcall(jterm)*sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+@funcall(jterm)*sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos general") jterm=iterm tempx=tempx+@funcall(jterm)*cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+@funcall(jterm)*cos(tempiny*jterm)/(jterm^@powerall) endif endwhile ; ; choose what outer variable to use ; tempoutx=y tempouty=x ; ; compute the outer Fourier series ; temp*x=* temp*y=* iterm=* while(iterm<@ntermall) iterm=iterm+* if(@functypeall=="sin odd pos") jterm=**iterm-* temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd pos") jterm=**iterm-* temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all pos") jterm=iterm temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all pos") jterm=iterm temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin general") jterm=iterm temp*x=temp*x+@funcall(jterm)*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+@funcall(jterm)*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos general") jterm=iterm temp*x=temp*x+@funcall(jterm)*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+@funcall(jterm)*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) endif endwhile xnew=x+@hall*temp*x ynew=y+@hall*temp*y x=xnew y=ynew z=x+flip(y) ; ; advanced controls ; else ; ; x equation ; ; choose what inner variable to use ; if(@vartypexin=="x") tempin=x elseif(@vartypexin=="y") tempin=y elseif(@vartypexin=="x+y") tempin=x+y elseif(@vartypexin=="y-x") tempin=y-x elseif(@vartypexin=="x*y") tempin=x*y elseif(@vartypexin=="y/x") tempin=y/x endif ; ; compute the inner Fourier series ; temp=* iterm=* while(iterm<@ntermxin) iterm=iterm+* if(@functypexin=="sin odd pos") jterm=**iterm-* temp=temp+sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos odd pos") jterm=**iterm-* temp=temp+cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin all pos") jterm=iterm temp=temp+sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos all pos") jterm=iterm temp=temp+cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin general") jterm=iterm temp=temp+@funcxin(jterm)*sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos general") jterm=iterm temp=temp+@funcxin(jterm)*cos(tempin*jterm)/(jterm^@powerxin) endif endwhile ; ; choose what outer variable to use ; if(@vartypexout=="x") tempout=x elseif(@vartypexout=="y") tempout=y elseif(@vartypexout=="x+y") tempout=x+y elseif(@vartypexout=="y-x") tempout=y-x elseif(@vartypexout=="x*y") tempout=x*y elseif(@vartypexout=="y/x") tempout=y/x endif ; ; compute the outer Fourier series ; temp*=* iterm=* while(iterm<@ntermxout) iterm=iterm+* if(@functypexout=="sin odd pos") jterm=**iterm-* temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos odd pos") jterm=**iterm-* temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin all pos") jterm=iterm temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos all pos") jterm=iterm temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin general") jterm=iterm temp*=temp*+@funcxout(jterm)*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos general") jterm=iterm temp*=temp*+@funcxout(jterm)*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) endif endwhile xnew=x+@hx*temp* ; ; y equation ; ; choose what inner variable to use ; if(@vartypeyin=="x") tempin=x elseif(@vartypeyin=="y") tempin=y elseif(@vartypeyin=="x+y") tempin=x+y elseif(@vartypeyin=="y-x") tempin=y-x elseif(@vartypeyin=="x*y") tempin=x*y elseif(@vartypeyin=="y/x") tempin=y/x endif ; ; compute the inner Fourier series ; temp=* iterm=* while(iterm<@ntermyin) iterm=iterm+* if(@functypeyin=="sin odd pos") jterm=**iterm-* temp=temp+sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos odd pos") jterm=**iterm-* temp=temp+cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin all pos") jterm=iterm temp=temp+sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos all pos") jterm=iterm temp=temp+cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin general") jterm=iterm temp=temp+@funcyin(jterm)*sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos general") jterm=iterm temp=temp+@funcyin(jterm)*cos(tempin*jterm)/(jterm^@poweryin) endif endwhile ; ; choose what outer variable to use ; if(@vartypeyout=="x") tempout=x elseif(@vartypeyout=="y") tempout=y elseif(@vartypeyout=="x+y") tempout=x+y elseif(@vartypeyout=="y-x") tempout=y-x elseif(@vartypeyout=="x*y") tempout=x*y elseif(@vartypeyout=="y/x") tempout=y/x endif ; ; compute the outer Fourier series ; temp*=* iterm=* while(iterm<@ntermyout) iterm=iterm+* if(@functypeyout=="sin odd pos") jterm=**iterm-* temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos odd pos") jterm=**iterm-* temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin all pos") jterm=iterm temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos all pos") jterm=iterm temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin general") jterm=iterm temp*=temp*+@funcyout(jterm)*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos general") jterm=iterm temp*=temp*+@funcyout(jterm)*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) endif endwhile ynew=y+@hy*temp* x=xnew y=ynew z=x+flip(y) endif bailout: |z|<@bailout default: title="Fourier Popcorn" heading text="Uses Cliff Pickover's Popcorn routine, substituting Fourier \ series for the sine and tangent functions." endheading ; ; general parameters ; heading caption="General parameters" endheading param control_type caption="control type" default=* enum="basic" "advanced" endparam float param bailout caption="bailout value" default=**** endparam ; ; basic parameters ; heading caption="Fourier series parameters" visible=(@control_type=="basic") endheading complex param hall caption="step size" default=*.* visible=(@control_type=="basic") endparam param functypeall caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="basic") endparam complex param powerall caption="power" default=* visible=(@control_type=="basic") endparam int param ntermall caption="# terms" default=** min=* visible=(@control_type=="basic") endparam complex param slopeall caption="slope" default=* visible=(@control_type=="basic") endparam func funcall caption="function" default=tan() visible=((@control_type=="basic")&&((@functypeall=="sin general")\ ||(@functypeall=="cos general"))) endfunc ; ; advanced parameters ; ; x inner parameters ; heading caption="x inner parameters" visible=(@control_type=="advanced") endheading complex param hx caption="step size" default=*.* visible=(@control_type=="advanced") endparam param vartypexin caption="inner variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypexin caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param powerxin caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermxin caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam func funcxin caption="function" default=cos() visible=((@control_type=="advanced")&&((@functypexin=="sin general")\ ||(@functypexin=="cos general"))) endfunc ; ; x outer parameters ; heading caption="x outer parameters" visible=(@control_type=="advanced") endheading param vartypexout caption="outer variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypexout caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param powerxout caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermxout caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam complex param slopexout caption="slope" default=* visible=(@control_type=="advanced") endparam func funcxout caption="function" default=cos() visible=((@control_type=="advanced")&&((@functypexout=="sin general")\ ||(@functypexout=="cos general"))) endfunc ; ; y inner parameters ; heading caption="y inner parameters" visible=(@control_type=="advanced") endheading complex param hy caption="step size" default=*.* visible=(@control_type=="advanced") endparam param vartypeyin caption="inner variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypeyin caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param poweryin caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermyin caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam func funcyin caption="function" default=sin() visible=((@control_type=="advanced")&&((@functypeyin=="sin general")\ ||(@functypeyin=="cos general"))) endfunc ; ; y outer parameters ; heading caption="y outer parameters" visible=(@control_type=="advanced") endheading param vartypeyout caption="outer variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypeyout caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param poweryout caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermyout caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam complex param slopeyout caption="slope" default=* visible=(@control_type=="advanced") endparam func funcyout caption="function" default=sin() visible=((@control_type=="advanced")&&((@functypeyout=="sin general")\ ||(@functypeyout=="cos general"))) endfunc } mt-bof-newton-I-m { ; Mark Townsend, ** Mar **** ; ; Modified Newton's method for ; (z-*)*(z+c)*(z^*+*), from "The Beauty of ; Fractals". ; init: z = * c = #pixel float h = *.**** fz = zh = oldz = * loop: oldz = z zh = z + h fz = (z - *) * (z + c) * (z^* + *) fzd = * / h *((zh - *) * (zh + c) *(zh^* + *) - fz) z = z - fz /(fzd + flip(@s)) bailout: |z - oldz| > @epsilon default: title = "Bof Newton I" magn = *.** maxiter = **** periodicity = * param s caption = "Parameter (s)" default = *.* hint = "The suggested range is *<s<*." endparam param epsilon caption = "Epsilon" default = *e-* hint = "This is the bailout value." endparam switch: type = "mt-bof-newton-I-j" s = s c = #pixel bailout = bailout }
Fractal 142 B - Neon - Part of BEYOND series - 11.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;**/**/****"
layer:
caption="Layer *" opacity=*** mergemode=blue transparent=yes
mapping:
center=-*.**********/* magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/*
p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=recip
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=red transparent=yes
mapping:
center=*.**********/* magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/*
p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=recip
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=*** mergemode=hardlight transparent=yes
mapping:
center=*.*********/* magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/*
p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=recip
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=*** mergemode=hardlight
mapping:
center=-*.**********/* magn=*.** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sinh f_fn*=trunc
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.***********/*.*************** magn=***.***** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-j"
p_c=*.**/*.***** p_threshold=* p_bailout=*.* f_fn*=cos
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=* index=*** color=*******
index=-*** color=****** index=-** color=********
opacity:
smooth=no index=* opacity=***
}mt-gen-celtic-j { ; Mark Townsend, ** Jun ****
;
; From a formula by Paul Carlson
;
init:
z = #pixel
loop:
z = z^@n
z = z - @fn*(real(z)) + @fn*(real(z)) - @c
bailout:
|z| < @bailout
default:
title = "Generalized Celtic Julia"
param @c
caption = "Julia seed"
default = (*,*)
endparam
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First function"
default = ident()
endfunc
func fn*
caption = "Second function"
default = abs()
endfunc
switch:
type = "mt-gen-celtic-m"
bailout = bailout
n = n
fn* = fn*
fn* = fn*
}mt-gen-celtic-m { ; Mark Townsend, ** Jun ****
;
; From a formula by Paul Carlson
;
init:
c = #pixel
z = *
loop:
z = z^@n
z = z - @fn*(real(z)) + @fn*(real(z)) - c
bailout:
|z| < @bailout
default:
title = "Generalized Celtic Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First function"
default = ident()
endfunc
func fn*
caption = "Second function"
default = abs()
endfunc
switch:
type = "mt-gen-celtic-j"
c = #pixel
n = n
bailout = bailout
fn* = fn*
fn* = fn*
}mt-barnsleyish-j { ; Mark Townsend, ** May ****
init:
z = #pixel
loop:
if real(z) >= @threshold
z = @fn*(z + *) * -@c
else
z = @fn*(z - *) * @c
endif
bailout:
|z| < @bailout
default:
title = "Barnsleyish Julia"
param c
caption = "Julia Seed"
default = (*.*, *.**)
endparam
param threshold
caption = "Threshold"
default = *.*
endparam
param bailout
caption = "Bailout Value"
default = *.*
endparam
func fn*
caption = "Function"
default = cos()
endfunc
switch:
type = "mt-barnsleyish-m"
bailout = bailout
threshold = threshold
fn* = fn*
}
Fractal 141 B - Red Globule - Part of LIFE series - 11.2023
Layers {
layer:
caption="Background" opacity=*** mergemode=screen precision=*
mapping:
center=*.*********/*.********** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=tan f_function*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=* index=* color=* index=**
color=******* index=** color=* index=*** color=* index=-*** color=*
index=-*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=*.*********/*.********* magn=*.*********
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.******
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=* index=** color=******** index=**
color=******* index=** color=****** index=** color=******** index=**
color=******** index=** color=******* index=** color=*******
index=** color=****** index=** color=******* index=** color=******
index=** color=****** index=** color=****** index=** color=******
index=** color=******* index=** color=******** index=** color=*****
index=** color=******* index=** color=****** index=** color=******
index=** color=******** index=** color=***** index=** color=******
index=** color=****** index=** color=****** index=** color=*******
index=** color=******* index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=* index=*** color=* index=*** color=* index=***
color=****** index=*** color=* index=*** color=****** index=***
color=* index=*** color=* index=*** color=* index=*** color=******
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=***** index=*** color=* index=***
color=****** index=*** color=* index=*** color=****** index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=****** index=*** color=* index=***
color=****** index=*** color=* index=*** color=****** index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=* index=*** color=* index=*** color=*
index=-** color=* index=-** color=* index=-** color=***** index=-**
color=* index=-** color=* index=-* color=* index=-* color=* index=-*
color=* index=-* color=* index=-* color=* index=-* color=* index=-*
color=* index=-* color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=subtraction
mapping:
center=*.*********/*.********* magn=*.*********
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.******
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=******* index=*** color=******* index=***
color=******* index=-*** color=******** index=-** color=********
index=-** color=******* index=-** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=multiply transparent=yes
mapping:
center=**.*******/*.******* magn=*.*********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asin
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=blue transparent=yes
mapping:
center=**.*******/*.******* magn=*.*********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asin
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.********/-*.******** magn=*.********* angle=-**.***
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.***********
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=luminance precision=*
mapping:
center=*.*********/*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.*/* p_base*=*/*.* p_random_strength=*.* p_bailout=*E*
p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=no
p_zc_inverse=yes p_ztype=Real p_scatter=no f_function*=sin
f_function*=abs
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=***
index=*** color=*** index=*** color=*** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.********/-*.******** magn=*.********* angle=-**.***
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.***********
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=***
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}mt-magnet-II-j { ; Mark Townsend, ** Mar ****
;
; Magnetism Model II from "The Beauty of
; Fractals"
;
init:
z = #pixel
oldz = *
loop:
oldz = z
z = ((z^*+**(@q-*)*z+(@q-*)*(@q-*))/(**z^*+**(@q-*)*z+@q^*-**@q+*))^*
bailout:
|z| < @bailout && |z - oldz| > @epsilon
default:
title = "Magnetism Model II Julia"
maxiter = ****
magn = *.***
center = (-*.*,*)
periodicity = *
param q
caption = "Julia seed"
default = (*,*)
endparam
param bailout
caption = "Bailout value"
default = ****.*
hint = "This is the bailout value for divergent orbits."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value for convergent orbits."
endparam
switch:
type = "mt-magnet-II-m"
bailout = bailout
epsilon = epsilon
}mt-rudys-cubic {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + @c
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Julia)"
param c
caption = "Julia Seed"
default = (*.*, *.*)
endparam
param p*
caption = "Coefficient"
default = (*.**, *.**)
endparam
param bailout
caption = "Bailout Value"
default = *e**
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic-m"
bailot = balout
p* = #pixel
fn* = fn*
}
Fractal 140 A - Dark egg - Part of BEYOND series - 11.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;**/**/****"
layer:
caption="Layer *" opacity=** mergemode=subtraction precision=*
mapping:
center=*.**********/-*.********** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*/*.* p_base*=*.*/*.* p_random_strength=*** p_bailout=*E*
p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=yes
p_zc_inverse=no p_ztype=Real p_scatter=no f_function*=flip
f_function*=ident
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=***
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=red precision=*
mapping:
center=*.*********/*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*/*.* p_base*=*.*/*.* p_random_strength=*** p_bailout=*E*
p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=yes
p_zc_inverse=yes p_ztype=Real p_scatter=no f_function*=exp
f_function*=ident
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=blue precision=*
mapping:
center=*.*********/*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*/*.* p_base*=*.*/*.* p_random_strength=*** p_bailout=*E*
p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=yes
p_zc_inverse=yes p_ztype=Real p_scatter=no f_function*=exp
f_function*=ident
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=***
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** precision=*
mapping:
center=*.*********/*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*/*.* p_base*=*.*/*.* p_random_strength=*** p_bailout=*E*
p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=yes
p_zc_inverse=yes p_ztype=Real p_scatter=no f_function*=recip
f_function*=ident
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=*****
opacity:
smooth=no index=* opacity=***
};(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}
Fractal 139 B – Primary red square - Part of ELEMENTS series - 11.2023
Layers {
layer:
caption="Background" opacity=*** transparent=yes
mapping:
center=-*.***********/-*.********** magn=*.** angle=**
formula:
maxiter=** percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=*/* p_scale=* p_jscale=**
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=******** index=***
color=***** index=*** color=*** index=-*** color=*******
opacity:
smooth=no index=* opacity=* index=*** opacity=*
layer:
caption="Background" opacity=*** mergemode=addition
mapping:
center=-*.********/-*.******** magn=*.*** angle=-**
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.*** p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Subtract
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=trunc f_function*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal 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=* percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=-*/** p_scale=* p_jscale=***
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=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******* index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=****** index=** color=****** index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*****
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=***** index=***
color=******** index=*** color=***** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=red
mapping:
center=**.*********/**.********** magn=*.******
formula:
maxiter=* percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=-*/** p_scale=* p_jscale=***
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=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=*** color=****** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=*****
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=***** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=***** index=*** color=******** index=*** color=*****
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******* index=*** color=******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=subtraction
mapping:
center=**.*********/**.********** magn=*.******* angle=-**.****
formula:
maxiter=* percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=-*/** p_scale=* p_jscale=***
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=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=****** index=**
color=****** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=** color=******
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=******
index=** color=******* index=** color=****** index=** color=*******
index=** color=******* index=** color=******* index=** color=*******
index=** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=***** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=***** index=*** color=********
index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=**.**********/**.********* magn=*.******* angle=**
formula:
maxiter=* percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=-*/** p_scale=* p_jscale=***
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=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=****** index=**
color=****** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=** color=******
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=******
index=** color=******* index=** color=****** index=** color=*******
index=** color=******* index=** color=******* index=** color=*******
index=** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=***** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=***** index=*** color=********
index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=********
opacity:
smooth=no index=* opacity=***
}dmj-ManyNova {
;
; This formula breaks the image up into a grid of
; squares, each square containing a small Nova Julia set
; using the c value from the center of the square.
;
init:
float iscale = * / @scale
c = round(#pixel * @scale) * iscale
z = (#pixel - c) * @scale * @jscalecomplex zsquared = (*,*)
complex zcubed = (*,*)
complex zold = (*,*)loop:
IF (@power == (*,*)); special optimized routine for power *
zsquared = sqr(z)
zcubed = zsquared * z
zold = z
z = z - @relax * (zcubed-*) / (**zsquared) + c
ELSE
zold = z
z = z - @relax * (z^@power-*) / (@power * z^(@power-*)) + c
ENDIFbailout:
|z-zold| > @bailoutdefault:
title = "ManyNova"
helpfile = "dmj-pub\dmj-pub-uf-manynova.htm"
maxiter = ****
periodicity = *
center = (*,*)
magn = *.*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 scale
caption = "Julia Density"
default = *.*
hint = "Specifies the density of separate Julia sets; higher \
numbers will produce more divisions."
endparam
param jscale
caption = "Julia Zoom"
default = *.*
hint = "Specifies the zoom level of Julia sets within each division."
endparam
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}
Fractal 138 B - Camouflage - Part of LIFE series - 09.2023
Layers {
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=*.***********/-*.************* magn=*.******* angle=**
formula:
maxiter=** percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=*/* p_scale=* p_jscale=***
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=hardlight
mapping:
center=-*.**********/-*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic-m" p_p*=*.**/*.*
p_bailout=** f_fn*=recip
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=hardlight
mapping:
center=-*.**********/-*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic-m" p_p*=*.**/*.*
p_bailout=**.* f_fn*=recip
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=-*.***********/-*.********** magn=*.******* angle=**
formula:
maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/* p_bailout=*.** p_relax=*/*.*** p_scale=*.** p_jscale=**
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=****** index=*** color=*******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=***** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=***** index=*** color=********
index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.***********/-*.********** magn=*.******* angle=**
formula:
maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/* p_bailout=*.** p_relax=*/*.***** p_scale=*.**
p_jscale=**
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=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=****** index=** color=******* index=**
color=****** index=** color=******* index=** color=******* index=**
color=******* index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=********
index=** color=****** index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=***** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=***** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*****
index=*** color=******** index=*** color=***** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=*******
opacity:
smooth=no index=* opacity=***
}dmj-ManyNova {
;
; This formula breaks the image up into a grid of
; squares, each square containing a small Nova Julia set
; using the c value from the center of the square.
;
init:
float iscale = * / @scale
c = round(#pixel * @scale) * iscale
z = (#pixel - c) * @scale * @jscalecomplex zsquared = (*,*)
complex zcubed = (*,*)
complex zold = (*,*)loop:
IF (@power == (*,*)); special optimized routine for power *
zsquared = sqr(z)
zcubed = zsquared * z
zold = z
z = z - @relax * (zcubed-*) / (**zsquared) + c
ELSE
zold = z
z = z - @relax * (z^@power-*) / (@power * z^(@power-*)) + c
ENDIFbailout:
|z-zold| > @bailoutdefault:
title = "ManyNova"
helpfile = "dmj-pub\dmj-pub-uf-manynova.htm"
maxiter = ****
periodicity = *
center = (*,*)
magn = *.*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 scale
caption = "Julia Density"
default = *.*
hint = "Specifies the density of separate Julia sets; higher \
numbers will produce more divisions."
endparam
param jscale
caption = "Julia Zoom"
default = *.*
hint = "Specifies the zoom level of Julia sets within each division."
endparam
}mt-rudys-cubic-m {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + #pixel
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Mandelbrot)"
param p*
caption = "Coefficient"
endparam
param bailout
caption = "Bailout Value"
default = ***.*
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic"
bailot = balout
p* = p*
c = #pixel
fn* = fn*
}
Fractal 137 B - Phenomenon Into Vacuity - Part of OUTER SPACE series - 09.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;**/*/****"
layer:
caption="Background" opacity=** mergemode=screen precision=*
mapping:
center=-*.*********/*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=**
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=tanh f_function*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=**
index=** color=* index=** color=******** index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=screen precision=*
mapping:
center=-*.**********/*.******** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=**
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=atan f_function*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=**
index=** color=* index=** color=******** index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=multiply precision=*
mapping:
center=-*.**********/*.******** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.*/-*.* p_base*=*.**/*.** p_random_strength=* p_bailout=*E*
p_bailout_mode="|z/c|" p_zc_mode=Multiply p_zc_absolute=yes
p_zc_inverse=no p_ztype=Real p_scatter=yes f_function*=atan
f_function*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=**
index=** color=******** index=** color=******** index=***
color=******** index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay precision=**
mapping:
center=*.**************/*.************** magn=****.****
angle=-***.****
formula:
maxiter=***** filename="mt.ufm" entry="mt-rudys-cubic-m" p_p*=*/*
p_bailout=**** f_fn*=sqrt
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=******* index=**
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=saturation precision=**
mapping:
center=*.**************/*.************** magn=****.****
angle=-***.****
formula:
maxiter=***** filename="mt.ufm" entry="mt-rudys-cubic-m" p_p*=*/*
p_bailout=**** f_fn*=sqrt
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=***
mapping:
center=*.****************/*.***************** magn=*****.***
angle=-***.****
formula:
maxiter=***** filename="mt.ufm" entry="mt-rudys-cubic-m" p_p*=*/*
p_bailout=**** f_fn*=sqrt
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=******* index=-** color=*******
opacity:
smooth=no index=* opacity=***
};(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}mt-rudys-cubic-m {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + #pixel
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Mandelbrot)"
param p*
caption = "Coefficient"
endparam
param bailout
caption = "Bailout Value"
default = ***.*
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic"
bailot = balout
p* = p*
c = #pixel
fn* = fn*
}
Fractal 136 C - Moon - Part of OUTER SPACE series - 11.2023
Layers {
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=-*.*********/-*.********* magn=*.******** angle=-**
formula:
maxiter=** adjust=yes filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.**/*.****
p_functypeall="cos general" p_powerall=**/*.* p_ntermall=**
p_slopeall=*.*/*.** f_funcall=tan p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
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="Layer *" opacity=*** mergemode=luminance transparent=yes
precision=*
mapping:
center=-*.***********/*.******** magn=*.********* angle=-**
formula:
maxiter=** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.**/*.****
p_functypeall="cos general" p_powerall=**/*.* p_ntermall=**
p_slopeall=*.*/*.** f_funcall=tan p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
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=** mergemode=addition
mapping:
center=**.*******/**.******* magn=*.**********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh
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=*** transparent=yes precision=*
mapping:
center=-*.***********/*.********* magn=*.********* angle=-**
formula:
maxiter=** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.**/*.****
p_functypeall="sin all alt" p_powerall=**/*.* p_ntermall=*
p_slopeall=*.*/*.** f_funcall=tan p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
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="Layer *" opacity=*** visible=no mergemode=difference
transparent=yes
mapping:
center=**.***********/-*.************ magn=**.***** angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=****.* f_fn*=tan f_fn*=ident
inside:
transfer=none solid=*******
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=* index=** color=********
index=** color=******** index=*** color=*******
opacity:
smooth=no index=** opacity=* index=** opacity=*** index=***
opacity=*** index=*** opacity=*
layer:
caption="Background" opacity=*** mergemode=difference
transparent=yes
mapping:
center=**.*********/-*.*********** magn=**.****** angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=****.* f_fn*=tan f_fn*=ident
inside:
transfer=none solid=*******
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=* index=** color=********
index=** color=******** index=** color=*******
opacity:
smooth=no index=** opacity=* index=** opacity=*** index=***
opacity=*** index=*** opacity=*
layer:
caption="Layer *" opacity=*** mergemode=difference transparent=yes
mapping:
center=**.***********/-*.************ magn=***.***** angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=****.* f_fn*=tan f_fn*=ident
inside:
transfer=none solid=*******
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=* index=** color=********
index=** color=******** index=*** color=*******
opacity:
smooth=no index=** opacity=* index=** opacity=*** index=***
opacity=*** index=*** opacity=*
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=**.********/**.******** magn=*.**********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh
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=******* index=-** color=*******
index=-** color=***** index=-* color=******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=**.*******/*.******* magn=*.**********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh
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=***
}fourier-popcorn { ; Kerry Mitchell **May****
;
; This is a complex-valued implementation and generalization
; of Cliff Pickover's "popcorn" algorithm. His method iterates
; * real variables like this:
;
; xnew = xold - h * sin(a*y + tan(b*y))
; ynew = yold - h * sin(a*x + tan(b*x))
;
; where a = *. The current method generalizes the above by:
; using truncated Fourier series instead of just single sin or tan function
; allowing for complex values of a (slope)
; having the same Fourier series parameters (basic controls) or
; having different parameters for the * series (x inner, x outer,
; y inner, and y outer)
;
init:
complex temp=(*,*)
complex tempx=(*,*)
complex tempy=(*,*)
complex temp*=(*,*)
complex temp*x=(*,*)
complex temp*y=(*,*)
complex tempin=(*,*)
complex tempinx=(*,*)
complex tempiny=(*,*)
complex tempout=(*,*)
complex tempoutx=(*,*)
complex tempouty=(*,*)
complex x=real(#pixel)
complex y=imag(#pixel)
complex xnew=(*,*)
complex ynew=(*,*)
complex z=#pixel
int iterm=*
int jterm=*
int parity=*
loop:
;
; basic controls
;
if(@control_type=="basic")
;
; choose what inner variable to use
;
tempinx=y
tempiny=x
;
; compute the inner Fourier series
;
tempx=*
tempy=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
tempx=tempx+@funcall(jterm)*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
tempx=tempx+@funcall(jterm)*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*cos(tempiny*jterm)/(jterm^@powerall)
endif
endwhile
;
; choose what outer variable to use
;
tempoutx=y
tempouty=x
;
; compute the outer Fourier series
;
temp*x=*
temp*y=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
endif
endwhile
xnew=x+@hall*temp*x
ynew=y+@hall*temp*y
x=xnew
y=ynew
z=x+flip(y)
;
; advanced controls
;
else
;
; x equation
;
; choose what inner variable to use
;
if(@vartypexin=="x")
tempin=x
elseif(@vartypexin=="y")
tempin=y
elseif(@vartypexin=="x+y")
tempin=x+y
elseif(@vartypexin=="y-x")
tempin=y-x
elseif(@vartypexin=="x*y")
tempin=x*y
elseif(@vartypexin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermxin)
iterm=iterm+*
if(@functypexin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin general")
jterm=iterm
temp=temp+@funcxin(jterm)*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos general")
jterm=iterm
temp=temp+@funcxin(jterm)*cos(tempin*jterm)/(jterm^@powerxin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypexout=="x")
tempout=x
elseif(@vartypexout=="y")
tempout=y
elseif(@vartypexout=="x+y")
tempout=x+y
elseif(@vartypexout=="y-x")
tempout=y-x
elseif(@vartypexout=="x*y")
tempout=x*y
elseif(@vartypexout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermxout)
iterm=iterm+*
if(@functypexout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
endif
endwhile
xnew=x+@hx*temp*
;
; y equation
;
; choose what inner variable to use
;
if(@vartypeyin=="x")
tempin=x
elseif(@vartypeyin=="y")
tempin=y
elseif(@vartypeyin=="x+y")
tempin=x+y
elseif(@vartypeyin=="y-x")
tempin=y-x
elseif(@vartypeyin=="x*y")
tempin=x*y
elseif(@vartypeyin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermyin)
iterm=iterm+*
if(@functypeyin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin general")
jterm=iterm
temp=temp+@funcyin(jterm)*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos general")
jterm=iterm
temp=temp+@funcyin(jterm)*cos(tempin*jterm)/(jterm^@poweryin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypeyout=="x")
tempout=x
elseif(@vartypeyout=="y")
tempout=y
elseif(@vartypeyout=="x+y")
tempout=x+y
elseif(@vartypeyout=="y-x")
tempout=y-x
elseif(@vartypeyout=="x*y")
tempout=x*y
elseif(@vartypeyout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermyout)
iterm=iterm+*
if(@functypeyout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
endif
endwhile
ynew=y+@hy*temp*
x=xnew
y=ynew
z=x+flip(y)
endif
bailout:
|z|<@bailout
default:
title="Fourier Popcorn"
heading
text="Uses Cliff Pickover's Popcorn routine, substituting Fourier \
series for the sine and tangent functions."
endheading
;
; general parameters
;
heading
caption="General parameters"
endheading
param control_type
caption="control type"
default=*
enum="basic" "advanced"
endparam
float param bailout
caption="bailout value"
default=****
endparam
;
; basic parameters
;
heading
caption="Fourier series parameters"
visible=(@control_type=="basic")
endheading
complex param hall
caption="step size"
default=*.*
visible=(@control_type=="basic")
endparam
param functypeall
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="basic")
endparam
complex param powerall
caption="power"
default=*
visible=(@control_type=="basic")
endparam
int param ntermall
caption="# terms"
default=**
min=*
visible=(@control_type=="basic")
endparam
complex param slopeall
caption="slope"
default=*
visible=(@control_type=="basic")
endparam
func funcall
caption="function"
default=tan()
visible=((@control_type=="basic")&&((@functypeall=="sin general")\
||(@functypeall=="cos general")))
endfunc
;
; advanced parameters
;
; x inner parameters
;
heading
caption="x inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hx
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypexin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcxin
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexin=="sin general")\
||(@functypexin=="cos general")))
endfunc
;
; x outer parameters
;
heading
caption="x outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypexout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopexout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcxout
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexout=="sin general")\
||(@functypexout=="cos general")))
endfunc
;
; y inner parameters
;
heading
caption="y inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hy
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypeyin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcyin
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyin=="sin general")\
||(@functypeyin=="cos general")))
endfunc
;
; y outer parameters
;
heading
caption="y outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypeyout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopeyout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcyout
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyout=="sin general")\
||(@functypeyout=="cos general")))
endfunc
}mt-rudys-cubic {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + @c
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Julia)"
param c
caption = "Julia Seed"
default = (*.*, *.*)
endparam
param p*
caption = "Coefficient"
default = (*.**, *.**)
endparam
param bailout
caption = "Bailout Value"
default = *e**
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic-m"
bailot = balout
p* = #pixel
fn* = fn*
}mt-bifunctional-m { ; Mark Townsend, ** Jun ****
init:
z = *
c = #pixel
float x = *
float y = *
loop:
x = real(z)
y = imag(z)
z = @fn*(x) + flip(@fn*(y))
z = z^@n + c
bailout:
|z| < @bailout
default:
title = "Bifunctional Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "Real function"
default = sinh()
endfunc
func fn*
caption = "Imaginary function"
default = ident()
endfunc
switch:
type = "mt-bifunctional-j"
bailout = bailout
c = #pixel
fn* = fn*
fn* = fn*
n = n
}
Fractal 136 B - Big Bang - Part of OUTER SPACE series - 09.2023
Layers {
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=**.*******/**.******** magn=*.**********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh
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=******* index=-** color=*******
index=-** color=***** index=-* color=******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=addition
mapping:
center=**.*******/**.******** magn=*.**********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh
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=lighten
mapping:
center=**.********/*.******** magn=*.*********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh
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="Layer *" opacity=*** mergemode=lighten
mapping:
center=**.**********/-*.*********** magn=***.***** angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=****.* f_fn*=tan f_fn*=ident
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=***
mapping:
center=**.*********/-*.********** magn=**.****** angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*.*
p_bailout=****.* f_fn*=tan f_fn*=ident
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=***
}mt-rudys-cubic {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + @c
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Julia)"
param c
caption = "Julia Seed"
default = (*.*, *.*)
endparam
param p*
caption = "Coefficient"
default = (*.**, *.**)
endparam
param bailout
caption = "Bailout Value"
default = *e**
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic-m"
bailot = balout
p* = #pixel
fn* = fn*
}mt-bifunctional-m { ; Mark Townsend, ** Jun ****
init:
z = *
c = #pixel
float x = *
float y = *
loop:
x = real(z)
y = imag(z)
z = @fn*(x) + flip(@fn*(y))
z = z^@n + c
bailout:
|z| < @bailout
default:
title = "Bifunctional Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "Real function"
default = sinh()
endfunc
func fn*
caption = "Imaginary function"
default = ident()
endfunc
switch:
type = "mt-bifunctional-j"
bailout = bailout
c = #pixel
fn* = fn*
fn* = fn*
n = n
}
Fractal 135 D - Map of the Universe - Part of OUTER SPACE series - 11.2023
Layers {
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=-*.*********/*.********* magn=*.******** angle=**.****
formula:
maxiter=** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/*.* p_cd=*/*.* p_epsilon=*.*
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=******** index=*** color=*
index=*** color=*
opacity:
smooth=no index=* opacity=*** index=* opacity=* index=*** opacity=*
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=-*.*********/*.********* magn=*.******** angle=**.****
formula:
maxiter=** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/* p_cd=*/*.* p_epsilon=*.*
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=******* index=*
color=******* index=*** color=******* index=*** color=*
opacity:
smooth=no index=* opacity=*** index=** opacity=* index=*** opacity=*
layer:
caption="Background" opacity=** mergemode=subtraction
transparent=yes
mapping:
center=-*.*********/-*.********* magn=*.******** angle=**.****
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/* p_cd=*.*/* p_epsilon=*.*
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=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=difference
mapping:
center=*.*************/*.******** magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=****
p_e*=**** p_bailout=* f_fn*=floor f_fn*=ident
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=overlay
mapping:
center=*.*************/*.******** magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=****
p_e*=**** p_bailout=* f_fn*=floor f_fn*=ident
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=multiply transparent=yes
mapping:
center=*.*************/*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*****
p_e*=*** p_bailout=*** f_fn*=floor f_fn*=ident
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=*** mergemode=darken
mapping:
center=*.*************/*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=***
p_e*=**** p_bailout=* f_fn*=floor f_fn*=ident
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=overlay
mapping:
center=*.*************/*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=****
p_e*=**** p_bailout=* f_fn*=floor f_fn*=ident
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=*** transparent=yes
mapping:
center=*.*************/*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*****
p_e*=*** p_bailout=*** f_fn*=floor f_fn*=ident
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=****** index=*** color=***
index=-*** color=******* index=-** color=********
opacity:
smooth=no index=* opacity=***
}mt-latoocarfian-ii { ; Mark Townsend ** Dec ****
init:
float xnew = *
float ynew = *
float a = real(@ab)
float b = imag(@ab)
float c = real(@cd)
float d = imag(@cd)
float x = real(#pixel)
float y = imag(#pixel)
loop:
xnew = sin(y * b) + c * sin(x * b)
ynew = sin(x * a) + d * sin(y * a)
x = xnew
y = ynew
#z = x + flip(y)
bailout:
|#z - #pixel| > @epsilon
default:
title = "Latööcarfian II"
magn = *.*
param ab
caption = "(a, b)"
default = (-*.******, *.******)
endparam
param cd
caption = "(c, d)"
default = (*.******, *.******)
endparam
param epsilon
caption = "Epsilon"
default = *.*
endparam
}mt-******b-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(-c*z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 134 D - Rock - Part of ELEMENTS series - 08.2023
Layers {
layer:
caption="Background" opacity=*** mergemode=multiply
mapping:
center=*.***********/-*.*********** magn=*.****** angle=**
formula:
maxiter=** percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=*/* p_scale=* p_jscale=**
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=red
mapping:
center=*.***********/-*.*********** magn=*.****** angle=**
formula:
maxiter=** percheck=off filename="dmj.ufm" entry="dmj-ManyNova"
p_power=*/**** p_bailout=** p_relax=*/* p_scale=* p_jscale=**
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 method=multipass
mapping:
center=*/* magn=*.*** angle=-**
formula:
maxiter=*** filename="dmj.ufm" entry="dmj-ManyNova" p_power=*/***
p_bailout=** p_relax=*/* p_scale=* p_jscale=**
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=****** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=-**
color=******** index=-** color=******* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=difference method=multipass
mapping:
center=*/* magn=*.*** angle=**
formula:
maxiter=*** filename="dmj.ufm" entry="dmj-ManyNova" p_power=*/***
p_bailout=** p_relax=*/* p_scale=* p_jscale=**
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=******** index=-*** color=*******
index=-*** color=******** index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=*******
index=-*** color=******** index=-*** color=******* index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=****** index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=*******
index=-*** color=******** index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******* index=-*** color=*******
index=-*** color=******** index=-*** color=******* index=-***
color=****** index=-*** color=******* index=-*** color=*******
index=-*** color=******** index=-*** color=******** index=-***
color=******** index=-*** color=******* index=-*** color=******
index=-*** color=******* index=-*** color=******* index=-***
color=******* index=-*** color=******** index=-*** color=*******
index=-*** color=******** index=-*** color=******** index=-***
color=******* index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=****** index=-***
color=******** index=-*** color=******* index=-*** color=*******
index=-*** color=******** index=-*** color=******** index=-***
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=subtraction method=multipass
mapping:
center=*/*.*********************************************************\
**********************e-* magn=*.***
formula:
maxiter=*** filename="dmj.ufm" entry="dmj-ManyNova" p_power=*/***
p_bailout=** p_relax=*/* p_scale=* p_jscale=***
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=******** index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=******
index=-*** color=******** index=-*** color=******* index=-***
color=******* index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=* index=-***
color=******** index=-*** color=******** index=-*** color=*******
index=-*** color=******** index=-*** color=******** index=-***
color=******* index=-*** color=******* index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******* index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=******* index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=****** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=******* index=-***
color=******** index=-*** color=******** index=-*** color=*******
index=-*** color=******* index=-*** color=******** index=-***
color=******* index=-*** color=****** index=-*** color=*******
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** method=multipass
mapping:
center=*/* magn=*.*** angle=***
formula:
maxiter=*** filename="dmj.ufm" entry="dmj-ManyNova" p_power=*/***
p_bailout=** p_relax=*/* p_scale=* p_jscale=**
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=****** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=-**
color=******** index=-** color=******* index=-* color=********
opacity:
smooth=no index=* opacity=***
}dmj-ManyNova {
;
; This formula breaks the image up into a grid of
; squares, each square containing a small Nova Julia set
; using the c value from the center of the square.
;
init:
float iscale = * / @scale
c = round(#pixel * @scale) * iscale
z = (#pixel - c) * @scale * @jscalecomplex zsquared = (*,*)
complex zcubed = (*,*)
complex zold = (*,*)loop:
IF (@power == (*,*)); special optimized routine for power *
zsquared = sqr(z)
zcubed = zsquared * z
zold = z
z = z - @relax * (zcubed-*) / (**zsquared) + c
ELSE
zold = z
z = z - @relax * (z^@power-*) / (@power * z^(@power-*)) + c
ENDIFbailout:
|z-zold| > @bailoutdefault:
title = "ManyNova"
helpfile = "dmj-pub\dmj-pub-uf-manynova.htm"
maxiter = ****
periodicity = *
center = (*,*)
magn = *.*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 scale
caption = "Julia Density"
default = *.*
hint = "Specifies the density of separate Julia sets; higher \
numbers will produce more divisions."
endparam
param jscale
caption = "Julia Zoom"
default = *.*
hint = "Specifies the zoom level of Julia sets within each division."
endparam
}
Fractal 132 C - Pure Light - Part of ELEMENTS series - 08.2023
Layers {
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=**********/*.*******e** magn=*.*******E-**
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-j" p_c=*/* p_epsilon=*E-*
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=screen
mapping:
center=*.********/*.********* magn=*.********* angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/*
p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation="***@#*SS***@#*****" index=*** color=*
index="**@#*SS***@#*****" color=* index="***@#*SS***@#*****"
color=*** index="***@#*SS***@#*****" color=******
index="***@#*SS***@#*****" color=***** index="***@#*SS***@#*****"
color=****** index="***@#*SS***@#*****" color=*****
index="***@#*SS***@#*****" color=****** index="***@#*SS***@#*****"
color=***** index="***@#*SS***@#*****" color=******
index="***@#*SS***@#*****" color=***** index="***@#*SS***@#*****"
color=****** index="***@#*SS***@#*****" color=*****
index="***@#*SS***@#*****" color=******* index="***@#*SS***@#*****"
color=******* index="***@#*SS***@#*****" color=*******
index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****"
color=******** index="***@#*SS***@#*****" color=********
index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****"
color=******** index="***@#*SS***@#*****" color=********
index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****"
color=******** index="***@#*SS***@#*****" color=********
index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****"
color=******** index="***@#*SS***@#*****" color=********
index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****"
color=******** index="***@#*SS***@#*****" color=********
index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****"
color=******** index="***@#*SS***@#*****" color=*******
index="***@#*SS***@#*****" color=******* index="***@#*SS***@#*****"
color=******* index="***@#*SS***@#*****" color=*******
index="***@#*SS***@#*****" color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=screen
mapping:
center=*.********/*.******* magn=*.********* angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/*
p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation="-***@#*SS**@#*****" index="-***@#*SS**@#*****"
color=* index="-***@#*SS**@#*****" color=***
index="-***@#*SS**@#*****" color=****** index="-***@#*SS**@#*****"
color=***** index="-***@#*SS**@#*****" color=******
index="-***@#*SS**@#*****" color=***** index="-***@#*SS**@#*****"
color=****** index="-***@#*SS**@#*****" color=*****
index="-***@#*SS**@#*****" color=****** index="-***@#*SS**@#*****"
color=***** index="-***@#*SS**@#*****" color=******
index="-***@#*SS**@#*****" color=***** index="-***@#*SS**@#*****"
color=******* index="-***@#*SS**@#*****" color=*******
index="-***@#*SS**@#*****" color=******* index="-***@#*SS***@#*****"
color=******** index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******** index="-**@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******** index="-**@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******** index="-**@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******* index="-**@#*SS***@#*****" color=*******
index="-**@#*SS***@#*****" color=******* index="-**@#*SS***@#*****"
color=******* index="-**@#*SS***@#*****" color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=*.********/*.******** magn=*.********** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/*
p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation="-***@#*SS**@#*****" index="-***@#*SS**@#*****"
color=* index="-***@#*SS**@#*****" color=***
index="-***@#*SS**@#*****" color=****** index="-***@#*SS**@#*****"
color=***** index="-***@#*SS**@#*****" color=******
index="-***@#*SS**@#*****" color=***** index="-***@#*SS**@#*****"
color=****** index="-***@#*SS**@#*****" color=*****
index="-***@#*SS**@#*****" color=****** index="-***@#*SS**@#*****"
color=***** index="-***@#*SS**@#*****" color=******
index="-***@#*SS**@#*****" color=***** index="-***@#*SS**@#*****"
color=******* index="-***@#*SS**@#*****" color=*******
index="-***@#*SS**@#*****" color=******* index="-***@#*SS***@#*****"
color=******** index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-***@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******** index="-**@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******** index="-**@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******** index="-**@#*SS***@#*****" color=********
index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****"
color=******* index="-**@#*SS***@#*****" color=*******
index="-**@#*SS***@#*****" color=******* index="-**@#*SS***@#*****"
color=******* index="-**@#*SS***@#*****" color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=-*.********/*.******** magn=*.********
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/* p_cd=*.*/* p_epsilon=*.*
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
mapping:
center=-*.********e**/*.********e** magn=*.*******E-**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-newton-twist"
p_c=*/*.* p_n=*.* p_epsilon=*.********
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=addition
mapping:
center=-*.********e**/*.********e** magn=*.*******E-**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-newton-twist"
p_c=*/*.* p_n=*.* p_epsilon=*.********
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=difference
mapping:
center=-*.********e**/*.********e** magn=*.*******E-**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-newton-twist"
p_c=*/*.* p_n=*.* p_epsilon=*.********
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=red transparent=yes
mapping:
center=*.***********/*.*********** magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=*.*
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=multiply transparent=yes
mapping:
center=*.***********/*.************ magn=**.****** angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=*.**
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=hardlight transparent=yes
mapping:
center=*.***********/*.************ magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=*.*
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=*.***********/*.************ magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=*.*
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=*** color=******** index=***
color=******** index=-** color=********
opacity:
smooth=no index=* opacity=***
}mt-newton-error-j { ; Mark Townsend, * Mar ****
;
; This formula is the result of an error while
; trying to implement Newton's method for
; z+(z*c-*)^*
;
init:
z = #pixel
float h = *.****
fz = fzd = oldz = *
loop:
oldz = z
fz = z + (z * @c - *)^*
fzd = * / h * (z + ((z + h) * @c - *)^* - fz)
z = z - fz / fzd
bailout:
|z - oldz| > @epsilon
default:
title = "Newton Error Julia"
maxiter = ****
periodicity = *
param c
caption = "Julia seed"
default = (-*.*,*)
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-newton-error-m"
epsilon = epsilon
}mt-gen-celtic-j { ; Mark Townsend, ** Jun ****
;
; From a formula by Paul Carlson
;
init:
z = #pixel
loop:
z = z^@n
z = z - @fn*(real(z)) + @fn*(real(z)) - @c
bailout:
|z| < @bailout
default:
title = "Generalized Celtic Julia"
param @c
caption = "Julia seed"
default = (*,*)
endparam
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First function"
default = ident()
endfunc
func fn*
caption = "Second function"
default = abs()
endfunc
switch:
type = "mt-gen-celtic-m"
bailout = bailout
n = n
fn* = fn*
fn* = fn*
}mt-latoocarfian-ii { ; Mark Townsend ** Dec ****
init:
float xnew = *
float ynew = *
float a = real(@ab)
float b = imag(@ab)
float c = real(@cd)
float d = imag(@cd)
float x = real(#pixel)
float y = imag(#pixel)
loop:
xnew = sin(y * b) + c * sin(x * b)
ynew = sin(x * a) + d * sin(y * a)
x = xnew
y = ynew
#z = x + flip(y)
bailout:
|#z - #pixel| > @epsilon
default:
title = "Latööcarfian II"
magn = *.*
param ab
caption = "(a, b)"
default = (-*.******, *.******)
endparam
param cd
caption = "(c, d)"
default = (*.******, *.******)
endparam
param epsilon
caption = "Epsilon"
default = *.*
endparam
}mt-newton-twist { ; Mark Townsend, ** Mar ****
;
; Modified Newton's method for z^n-z. I've
; allowed the "s" parameter from the Bof
; Newton formulas to become complex and
; used it as the seed for the Julia sets.
;
init:
z = #pixel
float h = *.****
fz = oldz = zh = *
loop:
oldz = z
zh = z + h
fz = z^@n - z
z = z - fz / (* / h * ((zh^@n - zh) - fz) + @c)
bailout:
|z - oldz| > @epsilon
default:
title = "Newton Twist"
periodicity = *
param c
caption = "Disturbance"
default = (*,*)
hint = "The best way to set this value is with \
the Switch feature."
endparam
param n
caption = "Exponent"
default = *.*
hint = "The practical effect of this parameter is \
to change the number of spiral arms."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-newton-twist"
n = n
c = #pixel
epsilon = epsilon
}mt-******a { ; Mark Townsend ** Jul ****
init:
z = *
int iter = *
loop:
z = z^iter + iter * #pixel
iter = iter + *
bailout:
|z| < @bailout
default:
title = "******a"
param bailout
caption = "Bailout value"
default = ****.*
endparam
}
Fractal 131 F - Neural Networks - Part of LIFE series - 08.2023
Layers { layer: caption="Layer *" opacity=*** mergemode=difference mapping: center=-*.**********/-*.********* magn=*.******* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=* p_bailout=** f_fn*=abs inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes rotation=** index=** color=* index=*** color=* index=*** color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=overlay mapping: center=*.**************/*.****************** magn=****.**** angle=-***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc inside: transfer=none outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=*** color=******** index=*** color=******* index=*** color=******** index=-*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=** mergemode=overlay mapping: center=*.*************/-*.****************** magn=****.**** angle=-**.**** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc inside: transfer=none outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=** color=******** index=*** color=******* index=*** color=******** index=-*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=lighten mapping: center=*.**************/*.************* magn=***.***** angle=-***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*.* p_bailout=****.* f_fn*=ident f_fn*=abs 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=******* index=*** color=***** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=lighten mapping: center=*.*************/*.************** magn=***.***** angle=-**.*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*.* p_bailout=****.* f_fn*=ident f_fn*=abs 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=******* index=*** color=***** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=screen mapping: center=*.**************/*.*************** magn=***.***** angle=**.*** stretch=*.**** skew=*.**** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*.* p_bailout=****.* f_fn*=ident f_fn*=abs 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=******* 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="mt.ufm" entry="mt-gen-celtic-m" p_n=*.* p_bailout=****.* f_fn*=ident f_fn*=abs 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=******* index=*** color=***** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** } mt-barnsleyish-m { ; Mark Townsend, ** May **** init: z = * loop: if real(z) >= @threshold z = @fn*(z + *) * -#pixel else z = @fn*(z - *) * #pixel endif bailout: |z| < @bailout default: title = "Barnsleyish Mset" param threshold caption = "Threshold" default = *.* endparam param bailout caption = "Bailout Value" default = *.* endparam func fn* caption = "Function" default = cos() endfunc switch: type = "mt-barnsleyish-j" bailout = bailout threshold = threshold c = #pixel fn* = fn* } mt-gen-celtic-m { ; Mark Townsend, ** Jun **** ; ; From a formula by Paul Carlson ; init: c = #pixel z = * loop: z = z^@n z = z - @fn*(real(z)) + @fn*(real(z)) - c bailout: |z| < @bailout default: title = "Generalized Celtic Mset" param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First function" default = ident() endfunc func fn* caption = "Second function" default = abs() endfunc switch: type = "mt-gen-celtic-j" c = #pixel n = n bailout = bailout fn* = fn* fn* = fn* }
Fractal 130 D - Multiverse - Part of OUTER SPACE series - 08.2023
Layers { layer: caption="Layer *" opacity=*** mergemode=multiply method=multipass mapping: center=-*.************/-*.************ magn=**.****** angle=** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.* p_epsilon=*E-* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=** color=******** index=** color=******** index=*** color=******** index=-*** color=******* index=*** color=***** index=-*** color=******** index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=multiply method=multipass mapping: center=-*.************/-*.************ magn=**.****** angle=** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.* p_epsilon=*E-* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=** color=******** index=** color=******* index=** color=******** index=-*** color=******* index=*** color=***** index=-*** color=******** index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mergemode=screen method=multipass mapping: center=-*.************/-*.************ magn=**.****** angle=** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.* p_epsilon=*E-* 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=darken method=multipass mapping: center=-*.*************/-*.************** magn=**.****** angle=**.**** stretch=*.**** skew=**.**** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.* p_epsilon=*E-* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=** color=******** index=** color=******* index=*** color=******** index=-*** color=******* index=*** color=***** index=-*** color=******** index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=darken method=multipass mapping: center=-*.***********/*.************* magn=**.***** angle=**.*** stretch=*.**** skew=-**.*** formula: maxiter=**** percheck=off filename="mt.ufm" entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.* p_epsilon=*E-* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=** color=******** index=** color=***** index=** color=******** index=-*** color=******* index=*** color=***** index=-*** color=******** index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=hsladd mapping: center=**.********/***.******* magn=*.********** formula: maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/** p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh inside: transfer=none solid=********** outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-*** index=** color=***** index=** color=******** index=-*** color=******** index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer **" opacity=*** mergemode=overlay transparent=yes mapping: center=-*.************/*.************* magn=**.***** angle=***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.* p_bailout=***.* f_fn*=ident inside: transfer=none solid=* outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=*** color=******** opacity: smooth=no index=* opacity=* index=*** opacity=* index=*** opacity=*** index=*** opacity=** layer: caption="Layer *" opacity=*** mergemode=overlay transparent=yes mapping: center=-*.***********/*.************* magn=**.***** angle=***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.* p_bailout=***.* f_fn*=ident inside: transfer=none solid=* outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=*** color=******** opacity: smooth=no index=* opacity=*** index=*** opacity=* index=*** opacity=*** index=*** opacity=** layer: caption="Layer *" opacity=*** mergemode=overlay transparent=yes mapping: center=-*.**********/*.************* magn=**.***** angle=***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.* p_bailout=***.* f_fn*=ident inside: transfer=none solid=* outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=*** color=******* opacity: smooth=no index=* opacity=*** index=*** opacity=* index=*** opacity=*** index=*** opacity=** layer: caption="Layer *" opacity=*** mergemode=overlay transparent=yes mapping: center=-*.************/*.************* magn=**.***** angle=***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.* p_bailout=***.* f_fn*=ident inside: transfer=none solid=* outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=*** color=******* opacity: smooth=no index=* opacity=** index=*** opacity=* index=*** opacity=*** index=*** opacity=** layer: caption="Layer *" opacity=*** mergemode=overlay transparent=yes mapping: center=-*.************/*.************* magn=**.***** angle=***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.* p_bailout=***.* f_fn*=ident inside: transfer=none solid=* outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=*** color=******* opacity: smooth=no index=*** opacity=* index=*** opacity=*** index=*** opacity=** layer: caption="Background" opacity=*** mergemode=multiply transparent=yes mapping: center=-*.************/*.************* magn=**.***** angle=***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.* p_bailout=***.* f_fn*=ident inside: transfer=none solid=* outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-** index=* color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=-*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mapping: center=**.********/***.******* magn=*.********** formula: maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/** p_p*=*.**/*.** p_bailout=*E** f_fn*=asinh inside: transfer=none solid=********** outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-*** index=*** color=******** index=** color=******** index=*** color=******** index=-*** color=******** opacity: smooth=no index=* opacity=*** } mt-pseudo-magnet-j { ; Mark Townsend, * Apr **** ; ; This started out as an attempt to write a ; Newton method fractal from memory. The ; result seems more like a Magnet fractal ; init: z = #pixel oldz = * loop: oldz = z z = z - (z^@n - @c) / (@n * z) bailout: |z - oldz| > @epsilon && |z| < @bailout default: title = "Pseudo Magnet Julia" magn = *.* center = (*.*,*) periodicity = * maxiter = **** param c caption = "Julia seed" default = (*,*) endparam param n caption = "Power" default = *.* endparam param bailout caption = "Bailout value" default = ****.* hint = "This is the bailout value for divergent orbits." endparam param epsilon caption = "Epsilon" default = *e-* hint = "This is the bailout value for convergent orbits." endparam switch: type = "mt-pseudo-magnet" n = n bailout = bailout epsilon = epsilon } mt-rudys-cubic { ; Mark Townsend, ** May **** ; From a Fractint formula that I wrote in January **** init: #z = #pixel k* = @p* * * loop: #z = @fn*(#z^*) - k* * #z + @c bailout: |#z|< @bailout default: title = "Rudy's Cubic (Julia)" param c caption = "Julia Seed" default = (*.*, *.*) endparam param p* caption = "Coefficient" default = (*.**, *.**) endparam param bailout caption = "Bailout Value" default = *e** endparam func fn* caption = "Function" default = ident() endfunc switch: type = "mt-rudys-cubic-m" bailot = balout p* = #pixel fn* = fn* } mt-******b-m { ; Mark Townsend, ** Jun **** init: z = #pixel c = #pixel loop: z = z^@n + @fn*(real(z) / imag(z)) - c bailout: |z| < @bailout default: title = "******b Mset" param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ***.* endparam func fn* caption = "Function" default = ident() endfunc switch: type = "mt-******b-j" bailout = bailout n = n c = #pixel fn* = fn* }
Fractal 129 A - Virus - Part of LIFE series - 07.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=*.*********/-*.********** magn=*.******** angle=*.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=*** p_epsilon=*E-*
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=********
index=* color=******** index=* color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=****** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=*** color=*
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=screen
mapping:
center=-*.*********/-*.******** magn=*.*********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/*
p_p*=*.**/*.** p_bailout=*E** f_fn*=ceil
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=hardlight
method=multipass
mapping:
center=*.*********/-*.********** magn=*.*******
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.*
p_epsilon=*E-*
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=*** method=multipass
mapping:
center=*.**********/-*.********** magn=*.******
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-pseudo-magnet-j" p_c=*/* p_n=*** p_bailout=****.*
p_epsilon=*E-*
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=******* index=-** color=*******
index=-** color=***** index=-* color=******
opacity:
smooth=no index=* opacity=***
}mt-bof-newton-I-m { ; Mark Townsend, ** Mar ****
;
; Modified Newton's method for
; (z-*)*(z+c)*(z^*+*), from "The Beauty of
; Fractals".
;
init:
z = *
c = #pixel
float h = *.****
fz = zh = oldz = *
loop:
oldz = z
zh = z + h
fz = (z - *) * (z + c) * (z^* + *)
fzd = * / h *((zh - *) * (zh + c) *(zh^* + *) - fz)
z = z - fz /(fzd + flip(@s))
bailout:
|z - oldz| > @epsilon
default:
title = "Bof Newton I"
magn = *.**
maxiter = ****
periodicity = *
param s
caption = "Parameter (s)"
default = *.*
hint = "The suggested range is *<s<*."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-bof-newton-I-j"
s = s
c = #pixel
bailout = bailout
}mt-rudys-cubic {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + @c
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Julia)"
param c
caption = "Julia Seed"
default = (*.*, *.*)
endparam
param p*
caption = "Coefficient"
default = (*.**, *.**)
endparam
param bailout
caption = "Bailout Value"
default = *e**
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic-m"
bailot = balout
p* = #pixel
fn* = fn*
}mt-pseudo-magnet-j { ; Mark Townsend, * Apr ****
;
; This started out as an attempt to write a
; Newton method fractal from memory. The
; result seems more like a Magnet fractal
;
init:
z = #pixel
oldz = *
loop:
oldz = z
z = z - (z^@n - @c) / (@n * z)
bailout:
|z - oldz| > @epsilon && |z| < @bailout
default:
title = "Pseudo Magnet Julia"
magn = *.*
center = (*.*,*)
periodicity = *
maxiter = ****
param c
caption = "Julia seed"
default = (*,*)
endparam
param n
caption = "Power"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
hint = "This is the bailout value for divergent orbits."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value for convergent orbits."
endparam
switch:
type = "mt-pseudo-magnet"
n = n
bailout = bailout
epsilon = epsilon
}
Fractal 128 A - L’Origine du Monde - Part of LIFE series - 07.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=* frame=**
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=** mergemode=hsladd precision=*
mapping:
center=*.*********/-*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=sin f_function*=abs
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=*** mergemode=screen precision=*
mapping:
center=*.*********/-*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=sin f_function*=abs
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=multiply precision=*
mapping:
center=*.*********/-*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=sqrt f_function*=sin
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=*** mergemode=darken precision=*
mapping:
center=*.*********/*.********** magn=*.******* angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=no
f_function*=sqrt f_function*=sin
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=*** precision=*
mapping:
center=*.*********/*.********** magn=*.******* angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.*/-*.* p_base*=*.*/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=sqrt f_function*=sin
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=***
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}
Fractal 127 B - Cancer - Part of LIFE series - 07.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Background" opacity=*** mergemode=screen precision=*
mapping:
center=*.********/*.******* magn=*.********* angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=tan f_function*=ident
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=screen precision=*
mapping:
center=*.********/*.********* magn=*.********* angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=yes p_zc_inverse=yes p_ztype=Real p_scatter=yes
f_function*=sqrt f_function*=sin
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="Layer *" opacity=** mergemode=red
mapping:
center=-*.**********/-*.********* magn=*.********
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.***
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=*****
index=** color=******* index=** color=******** index=** color=*****
index=** color=***** index=** color=***** index=** color=*******
index=** color=******* index=** color=***** index=** color=******
index=** color=******* index=** color=******* index=** color=*******
index=** color=******* index=** color=******* index=** color=*****
index=** color=******** index=** color=******* index=**
color=******* index=** color=******* index=** color=***** index=**
color=******** index=** color=******* index=** color=***** index=**
color=******* index=** color=******* index=** color=***** index=**
color=***** index=** color=***** index=** color=******** index=**
color=******** index=** color=******* index=** color=*******
index=** color=***** index=** color=***** index=** color=*******
index=** color=******* index=** color=******* index=** color=*******
index=** color=***** index=** color=******* index=** color=*****
index=*** color=******** index=*** color=***** index=*** color=*****
index=*** color=******* index=*** color=******** index=***
color=***** index=*** color=******** index=*** color=********
index=*** color=***** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=***** index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=***** index=*** color=****** index=***
color=******** index=*** color=***** index=*** color=***** index=***
color=***** index=*** color=******** index=*** color=***** index=***
color=***** index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=***** index=*** color=******* index=*** color=*****
index=*** color=***** index=*** color=***** index=*** color=*****
index=*** color=****** index=*** color=***** index=*** color=****
index=*** color=***** index=*** color=******* index=***
color=******* index=*** color=***** index=*** color=***** index=***
color=******* index=*** color=***** index=*** color=***** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=***** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*****
index=*** color=***** index=*** color=**** index=*** color=*****
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=***** index=*** color=****** index=***
color=******* index=*** color=***** index=*** color=***** index=***
color=****** index=*** color=***** index=*** color=***** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=***** index=*** color=******* index=*** color=***** index=***
color=******* index=*** color=****** index=*** color=***** index=***
color=******* index=*** color=******* index=*** color=*****
index=*** color=***** index=*** color=***** index=*** color=*****
index=*** color=******* index=*** color=**** index=***
color=******** index=*** color=******** index=*** color=*****
index=*** color=***** index=*** color=******* index=*** color=*****
index=*** color=****** index=*** color=******* index=*** color=****
index=*** color=***** index=*** color=****** index=*** color=*******
index=*** color=****** index=*** color=***** index=***
color=******** index=*** color=******* index=*** color=*****
index=*** color=****** index=*** color=***** index=*** color=*****
index=-** color=******* index=-** color=***** index=-** color=******
index=-** color=******* index=-** color=***** index=-** color=*****
index=-** color=***** index=-** color=***** index=-** color=*******
index=-** color=******** index=-** color=******* index=-**
color=******* index=-** color=***** index=-** color=****** index=-**
color=***** index=-** color=******* index=-** color=********
index=-** color=****** index=-** color=***** index=-** color=*****
index=-** color=***** index=-** color=******* index=-** color=*****
index=-** color=***** index=-** color=******* index=-** color=*****
index=-** color=***** index=-** color=***** index=-** color=******
index=-** color=***** index=-** color=******* index=-** color=******
index=-** color=******** index=-** color=******** index=-**
color=***** index=-** color=***** index=-** color=***** index=-**
color=******** index=-** color=***** index=-** color=******
index=-** color=***** index=-** color=****** index=-** color=*******
index=-** color=***** index=-** color=***** index=-** color=********
index=-** color=******* index=-** color=******** index=-*
color=****** index=-* color=******** index=-* color=******* index=-*
color=******* index=-* color=*****
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=multiply
mapping:
center=**.********/*.******** magn=*.**********
formula:
maxiter=*** filename="mt.ufm" entry="mt-rudys-cubic" p_c=**/**
p_p*=*.**/*.** p_bailout=*E** f_fn*=asin
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=*.********
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.********
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=******* index=*** color=******* index=-***
color=******** index=-** color=******** index=-** color=*******
index=-** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=hsladd
mapping:
center=-*.**********/-*.********* magn=*.********
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.***********
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=*.******
formula:
maxiter=**** percheck=off filename="mt.ufm" entry="mt-magnet-II-j"
p_q=*/* p_bailout=****.* p_epsilon=*.***********
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=***
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}mt-rudys-cubic {
; Mark Townsend, ** May ****
; From a Fractint formula that I wrote in January ****
init:
#z = #pixel
k* = @p* * *
loop:
#z = @fn*(#z^*) - k* * #z + @c
bailout:
|#z|< @bailout
default:
title = "Rudy's Cubic (Julia)"
param c
caption = "Julia Seed"
default = (*.*, *.*)
endparam
param p*
caption = "Coefficient"
default = (*.**, *.**)
endparam
param bailout
caption = "Bailout Value"
default = *e**
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-rudys-cubic-m"
bailot = balout
p* = #pixel
fn* = fn*
}mt-magnet-II-j { ; Mark Townsend, ** Mar ****
;
; Magnetism Model II from "The Beauty of
; Fractals"
;
init:
z = #pixel
oldz = *
loop:
oldz = z
z = ((z^*+**(@q-*)*z+(@q-*)*(@q-*))/(**z^*+**(@q-*)*z+@q^*-**@q+*))^*
bailout:
|z| < @bailout && |z - oldz| > @epsilon
default:
title = "Magnetism Model II Julia"
maxiter = ****
magn = *.***
center = (-*.*,*)
periodicity = *
param q
caption = "Julia seed"
default = (*,*)
endparam
param bailout
caption = "Bailout value"
default = ****.*
hint = "This is the bailout value for divergent orbits."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value for convergent orbits."
endparam
switch:
type = "mt-magnet-II-m"
bailout = bailout
epsilon = epsilon
}
Fractal 126 D - Soul - Part of BEYOND series - 06.2023
Fractal_***_D {
fractal:
title="Fractal_***_D" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=****.*******/-****.****** magn=*.********* angle=***.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.**************************
f_fn=asinh
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=**
color=******** index=** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=-**
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=****.*******/-****.******* magn=*.********* angle=***.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.**************************
f_fn=asinh
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=-** color=******* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=***.*******/****.******* magn=*.******* angle=-***.***
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.*************************
f_fn=asinh
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes index=* color=******** index=* color=******* index=*
color=****** index=* color=******* index=* color=******* index=*
color=******* index=* color=******* index=* color=******* index=*
color=******* index=* color=******** index=** color=********
index=** color=******** index=** color=******* index=** color=******
index=** color=******* index=** color=******** index=**
color=******** index=** color=****** index=** color=******* index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=****** index=** color=*******
index=** color=******** index=** color=****** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=****** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=** color=*******
index=** color=******** index=** color=******** index=**
color=******* index=** color=****** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** transparent=yes mask=yes
mapping:
center=****.******/-****.******* magn=*.********* angle=***.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.**************************
f_fn=asinh
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
smooth=yes index=* color=******* index=*** color=******** index=***
color=***** index=*** color=***
opacity:
smooth=no index=** opacity=***
layer:
caption="Background" opacity=*** mergemode=hardlight
mapping:
center=***.*******/****.******* magn=*.******* angle=-***.***
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.*************************
f_fn=asinh
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="Layer *" opacity=***
mapping:
center=***.*******/****.******* magn=*.******* angle=-***.***
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.*************************
f_fn=asinh
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=*******
index=* color=******** index=* color=******** index=**
color=******** index=** color=******* index=** color=****** index=**
color=******* index=** color=******** index=** color=********
index=** color=****** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=** color=*******
index=** color=****** index=** color=******* index=** color=********
index=** color=****** index=** color=******** index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=****** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
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=***
}mt-newton-error-m { ; Mark Townsend, * Mar ****
;
; This formula is the result of an error while
; trying to implement Newton's method for
; z+(z*c-*)^*
;
init:
z = @fn(* - #pixel)
c = #pixel
float h = *.****
fz = fzd = oldz = *
loop:
oldz = z
fz = z + (z * c - *)^*
fzd = * / h * (z + ((z + h) * c - *)^* - fz)
z = z - fz / fzd
bailout:
|z - oldz| > @epsilon
default:
title = "Newton Error"
maxiter = ****
periodicity = *
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
func fn
caption = "Transform"
default = sqr()
hint = "This determines the starting point for z."
endfunc
switch:
type = "mt-newton-error-j"
c = #pixel
epsilon = epsilon
}
Fractal 125 A - Brain - Part of LIFE series - 06.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=** mergemode=overlay transparent=yes
mapping:
center=*.*********/*.********* magn=*.******** angle=*.****
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/-** p_cd=*/-* p_epsilon=*.*
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=******* index=** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=-** color=******** index=-** color=********
index=-** color=******* index=-** color=******** index=-**
color=******* index=-** color=******** index=-** color=********
index=-** color=******** index=-** color=******** index=-**
color=******* index=-** color=******* index=-** color=********
index=-** color=******** index=-* color=******** index=-*
color=******** index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=screen
mapping:
center=-**********/*.********e** magn=*.*******E-** angle=**.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-j" p_c=*/* p_epsilon=*.***
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=******* index=**
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=*.*********/*.********** magn=*.******** angle=-**.****
formula:
maxiter=**** filename="mt.ufm" entry="mt-magnet-II-m" p_v="Sqr(*-q)"
p_bailout=****.* p_epsilon=*
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=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=*.*********/*.********** magn=*.******** angle=-**.****
formula:
maxiter=**** filename="mt.ufm" entry="mt-magnet-II-m" p_v="Sqr(*-q)"
p_bailout=****.* p_epsilon=*
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=******** 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=***
}mt-latoocarfian-ii { ; Mark Townsend ** Dec ****
init:
float xnew = *
float ynew = *
float a = real(@ab)
float b = imag(@ab)
float c = real(@cd)
float d = imag(@cd)
float x = real(#pixel)
float y = imag(#pixel)
loop:
xnew = sin(y * b) + c * sin(x * b)
ynew = sin(x * a) + d * sin(y * a)
x = xnew
y = ynew
#z = x + flip(y)
bailout:
|#z - #pixel| > @epsilon
default:
title = "Latööcarfian II"
magn = *.*
param ab
caption = "(a, b)"
default = (-*.******, *.******)
endparam
param cd
caption = "(c, d)"
default = (*.******, *.******)
endparam
param epsilon
caption = "Epsilon"
default = *.*
endparam
}mt-newton-error-j { ; Mark Townsend, * Mar ****
;
; This formula is the result of an error while
; trying to implement Newton's method for
; z+(z*c-*)^*
;
init:
z = #pixel
float h = *.****
fz = fzd = oldz = *
loop:
oldz = z
fz = z + (z * @c - *)^*
fzd = * / h * (z + ((z + h) * @c - *)^* - fz)
z = z - fz / fzd
bailout:
|z - oldz| > @epsilon
default:
title = "Newton Error Julia"
maxiter = ****
periodicity = *
param c
caption = "Julia seed"
default = (-*.*,*)
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-newton-error-m"
epsilon = epsilon
}mt-magnet-II-m { ; Mark Townsend, ** Mar ****
;
; Magnetism Model II from "The Beauty of
; Fractals". This implementation allows you
; to select the "critical value", in other
; words the starting point for z. When z
; starts at sqr(*-q) the resulting set seems
; to be a better "catalogue" of the Julia sets.
;
init:
q = #pixel
if @v == *
z = *
else
z = sqr(* - q)
endif
loop:
z = ((z^*+**(q-*)*z+(q-*)*(q-*))/(**z^*+**(q-*)*z+q^*-**q+*))^*
bailout:
|z| < @bailout && |z - *| > @epsilon
default:
title = "Magnetism Model II"
magn = *.**
center = (*,*)
maxiter = ****
param v
caption = "Critical value"
enum = "*" "Sqr(*-q)"
default = *
hint = "This determines the starting point for z."
endparam
param bailout
caption = "Bailout value"
default = ****.*
hint = "This is the bailout value for divergent orbits."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value for convergent orbits."
endparam
switch:
type = "mt-magnet-II-j"
q = #pixel
bailout = bailout
epsilon = epsilon
}
Fractal 124 B - Taking Refuge - Part of BEYOND series - 07.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Background" opacity=*** mergemode=addition method=multipass
precision=*
mapping:
center=-*.*************/*.************** magn=***.***** angle=**
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-newton-error-m" p_epsilon=*.**************************
f_fn=floor
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=-** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=hardlight method=multipass
mapping:
center=*.*******e**/*.********e** magn=*.*******E-**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-newton-twist"
p_c=*/*.* p_n=*.* p_epsilon=*.*****
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=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=addition
mapping:
center=*.*********/-*.********** magn=*.******** angle=**
formula:
maxiter=*** filename="mt.ufm" entry="mt-modulate-m" p_m=**
p_bailout=****.*
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=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=-*** color=******** index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-** color=******** index=-**
color=******* index=-** color=******* index=-** color=********
index=-** color=******** index=-** color=******** index=-**
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** method=multipass
mapping:
center=*.*******e**/*.********e** magn=*.*******E-**
formula:
maxiter=*** percheck=off filename="mt.ufm" entry="mt-newton-twist"
p_c=*/*.* p_n=*.* p_epsilon=*.*****
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=******* index=***
color=******** index=*** color=***** index=*** color=***
opacity:
smooth=no index=* opacity=***
}mt-newton-error-m { ; Mark Townsend, * Mar ****
;
; This formula is the result of an error while
; trying to implement Newton's method for
; z+(z*c-*)^*
;
init:
z = @fn(* - #pixel)
c = #pixel
float h = *.****
fz = fzd = oldz = *
loop:
oldz = z
fz = z + (z * c - *)^*
fzd = * / h * (z + ((z + h) * c - *)^* - fz)
z = z - fz / fzd
bailout:
|z - oldz| > @epsilon
default:
title = "Newton Error"
maxiter = ****
periodicity = *
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
func fn
caption = "Transform"
default = sqr()
hint = "This determines the starting point for z."
endfunc
switch:
type = "mt-newton-error-j"
c = #pixel
epsilon = epsilon
}mt-newton-twist { ; Mark Townsend, ** Mar ****
;
; Modified Newton's method for z^n-z. I've
; allowed the "s" parameter from the Bof
; Newton formulas to become complex and
; used it as the seed for the Julia sets.
;
init:
z = #pixel
float h = *.****
fz = oldz = zh = *
loop:
oldz = z
zh = z + h
fz = z^@n - z
z = z - fz / (* / h * ((zh^@n - zh) - fz) + @c)
bailout:
|z - oldz| > @epsilon
default:
title = "Newton Twist"
periodicity = *
param c
caption = "Disturbance"
default = (*,*)
hint = "The best way to set this value is with \
the Switch feature."
endparam
param n
caption = "Exponent"
default = *.*
hint = "The practical effect of this parameter is \
to change the number of spiral arms."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-newton-twist"
n = n
c = #pixel
epsilon = epsilon
}mt-modulate-m { ; Mark Townsend, ** Jul ****
init:
z = *
int iter = *
loop:
iter = iter + *
z = z^* + ((iter % @m)* #pixel)
bailout:
|z| < @bailout
default:
title = "Modulate Mset"
param m
caption = "Modulate"
default = *
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
switch:
type = "mt-modulate-j"
m = m
c = #pixel
bailout = bailout
}
Fractal 123 F - Rembrandt’s Rich Woman Portrait - Part of ENCOUNTER series - 06.2023
Fractal_***_F { fractal: title="Fractal_***_F" width=**** height=**** layers=* credits="Philoxerax;*/**/****" antialiasing=yes layer: caption="Layer *" opacity=** mergemode=red mapping: center=-*.**************/*.************* magn=****.*** angle=***.**** formula: maxiter=*** filename="lkm*.ufm" entry="mixed-up-multiplication-mandelbrot" p_power=* p_bailout=**** p_shape_type=square p_q*_type=out p_q*_type=out p_q*_type=out p_q*_type=out p_freq=* p_amp=*.* p_nteeth=* p_rsmall=*.* p_inrad=*.** 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=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=overlay mapping: center=-*.********/*.********* magn=*.******** angle=** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=**/* p_coeff*=**/* p_coeff*=-*.*/* p_induct=-*.***/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=linear 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=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******** index=** color=****** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******** index=** color=******* index=** color=* index=** color=****** index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=addition mapping: center=-*.********/*.********* magn=*.******** angle=** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=**/* p_coeff*=**/* p_coeff*=-*.*/* p_induct=-*.***/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=linear 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=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******** index=** color=****** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******* index=** color=* index=** color=****** index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mapping: center=-*.*********/*.********* magn=*.******** angle=** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=**/* p_coeff*=**/* p_coeff*=-*.*/* p_induct=-*.***/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=linear 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=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******** index=** color=****** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******* index=** color=* index=** color=****** index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** } mixed-up-multiplication-mandelbrot { ; Kerry Mitchell **Nov**** ; ; Instead of using regular complex multiplication, this method uses a base ; shape (= unit circle normally). Use the polar angle of z to reach back ; to the base shape and find its coordinates. Then, use the actual and base ; magnitudes to determine a scale factor, and the arc length to determine ; the angle (angle = arc length / base magnitude). From there, the magnitude ; of z^power = scale factor ^ power, and angle of z^power = power * angle. ; $define debug global: complex corner[**] float pitch_s=* float pitch_trad=* float smax=* float tdegmax[**] float twopi=**#pi int gi=* ; ; cruciform settings: central square side & four other squares, one ; on each side of central square ; if(@shape_type=="cruciform") corner[*]=(*,*) corner[*]=(*,*) corner[*]=(*,*) corner[*]=(*,*) corner[*]=(-*,*) corner[*]=(-*,*) corner[*]=(-*,*) corner[*]=(-*,-*) corner[*]=(-*,-*) corner[*]=(-*,-*) corner[**]=(*,-*) corner[**]=(*,-*) corner[**]=(*,-*) corner[**]=(*,*) ; ; rescale so that corner[*] = (*,*) ; find degree measures of corners ; gi=-* while(gi<**) gi=gi+* corner[gi]=corner[gi]/* tdegmax[gi]=(atan*(corner[gi])/#pi****+***)%*** endwhile elseif(@shape_type=="triangle") corner[*]=(*,*) corner[*]=(-*+flip(sqrt(*)))/* corner[*]=(-*-flip(sqrt(*)))/* tdegmax[*]=* tdegmax[*]=*** tdegmax[*]=*** tdegmax[*]=*** elseif(@shape_type=="star") corner[*]=(*,*) corner[*]=@inrad*(*,*)/sqrt(*) corner[*]=(*,*) corner[*]=@inrad*(-*,*)/sqrt(*) corner[*]=(-*,*) corner[*]=@inrad*(-*,-*)/sqrt(*) corner[*]=(*,-*) corner[*]=@inrad*(*,-*)/sqrt(*) corner[*]=(*,*) tdegmax[*]=* tdegmax[*]=** tdegmax[*]=** tdegmax[*]=*** tdegmax[*]=*** tdegmax[*]=*** tdegmax[*]=*** tdegmax[*]=*** tdegmax[*]=*** endif ; ; gear settings ; if(@shape_type=="gear") pitch_trad=twopi/@nteeth smax=#pi*(*+@rsmall) pitch_s=smax/@nteeth endif init: complex arccenter=(*,*) complex c=#pixel complex compk=(*,*) complex w=(*,*) complex z=#pixel float afac=* float bfac=* float cfac=* float dcrit=*/(*+@rsmall) float dtooth=* float h*=* float k*=* float k=* float phi=* float phimax=* float r=* float s=* float slope=* float tdeg=* float third=*/* float trad=* float x=* float xb=* float x*=* float y=* float yb=* float y*=* int itooth=* loop: ; ; decompose z ; x=real(z), y=imag(z) ; ; square ; if(@shape_type=="square") ; ; determine arc length from basis shape ; phimax=* ; ; find scale factor k ; k=abs(x) if(abs(y)>k) k=abs(y) endif ; ; find standard polar angle ; trad=atan*(z) if(trad<*) trad=trad+**#pi endif tdeg=trad/#pi**** ; ; use polar angle to find coordinates of point on base shape ; and base shape arc length ; if(tdeg<**) ; upper right side xb=*, yb=y/k, s=yb elseif(tdeg<***) ; top xb=x/k, yb=*, s=*-xb elseif(tdeg<***) ; left side xb=-*, yb=y/k, s=*-yb elseif(tdeg<***) ; bottom xb=x/k, yb=-*, s=*+xb else ; lower right side xb=*, yb=y/k, s=*+yb endif phi=s ; ; raise z to power ; k=k^@power, phi=(@power*phi)%phimax ; ; use phi and k to return new x & y and add c ; if(phi<*) ; upper right side xb=*, yb=phi elseif(phi<*) ; top xb=*-phi, yb=* elseif(phi<*) ; left side xb=-*, yb=*-phi elseif(phi<*) ; bottom xb=phi-*, yb=-* else ; lower right side xb=*, yb=phi-* endif x=xb*k, y=yb*k z=x+flip(y)+c ; ; triangle ; elseif(@shape_type=="triangle") ; ; determine arc length from basis shape ; third=sqrt(*) phimax=**third ; ; find standard magnitude and polar angle ; r=cabs(z) trad=atan*(z) tdeg=(trad/#pi****+***)%*** trad=tdeg/****#pi ; ; use polar angle to find coordinates of point on base shape ; and base shape arc length ; if(tdeg<tdegmax[*]) ; side * top xb=third/(third+**tan(trad)), yb=third/**(*-xb), s=cabs(xb+flip(yb)-corner[*]) elseif(tdeg<tdegmax[*]) ; side * left xb=-*.*, yb=xb*tan(trad), s=third+cabs(xb+flip(yb)-corner[*]) else ; side * bottom xb=third/(third-**tan(trad)), yb=third/**(xb-*), s=**third+cabs(xb+flip(yb)-corner[*]) endif k=r/cabs(xb+flip(yb)) phi=s ; ; raise z to power ; k=k^@power, phi=(@power*phi)%phimax ; ; use phi and k to return new x & y and add c ; if(phi<third) ; side * top w=phi/third*(corner[*]-corner[*])+corner[*] elseif(phi<(**third)) ; side * left w=(phi/third-*)*(corner[*]-corner[*])+corner[*] else ; side * bottom w=(phi/third-*)*(corner[*]-corner[*])+corner[*] endif w=w*k, z=w+c ; ; quarter-circle arcs in quadrants ; elseif(@shape_type=="quarter-circle") phimax=**#pi ; ; z: find standard magnitude and polar angle ; r=cabs(z) trad=(atan*(z)+**phimax)%phimax tdeg=trad/#pi**** ; ; z: find coordinates of point on base shape and base shape arc length ; equate angle of base point with angle of field point ; if(x==*) xb=*, yb=* s=#pi/* if(y<*) yb=-* s=**#pi/* endif else if(tdeg<**) ; quadrant * if(@q*_type=="in") arccenter=(*,*), x*=real(arccenter), y*=imag(arccenter) afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*) yb=bfac*bfac-**afac*cfac xb=(-bfac-sqrt(yb))/(**afac) yb=xb*y/x s=#pi/*-atan*((*-xb)+flip(*-yb)) else xb=cos(trad), yb=sin(trad), s=trad endif elseif(tdeg<***) ; quadrant * if(@q*_type=="in") arccenter=(-*,*), x*=real(arccenter), y*=imag(arccenter) afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*) yb=bfac*bfac-**afac*cfac xb=(-bfac+sqrt(yb))/(**afac) yb=xb*y/x s=**#pi/*-atan*((-*-xb)+flip(*-yb)) else xb=cos(trad), yb=sin(trad), s=trad endif elseif(tdeg<***) ; quadrant * if(@q*_type=="in") arccenter=(-*,-*), x*=real(arccenter), y*=imag(arccenter) afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*) yb=bfac*bfac-**afac*cfac xb=(-bfac+sqrt(yb))/(**afac) yb=xb*y/x s=#pi/*-atan*((-*-xb)+flip(-*-yb)) else xb=cos(trad), yb=sin(trad), s=trad endif else ; quadrant * if(@q*_type=="in") arccenter=(*,-*), x*=real(arccenter), y*=imag(arccenter) afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*) yb=bfac*bfac-**afac*cfac xb=(-bfac-sqrt(yb))/(**afac) yb=xb*y/x s=**#pi/*-atan*((*-xb)+flip(-*-yb)) else xb=cos(trad), yb=sin(trad), s=trad endif endif endif phi=s k=r/cabs(xb+flip(yb)) ; ; raise z to power ; k=k^@power, phi=(@power*phi)%phimax ; ; use phi and k to return new x & y and add c ; tdeg=phi/#pi**** if(tdeg<**) ; quadrant * if(@q*_type=="in") xb=*-sin(phi), yb=*-cos(phi), w=xb+flip(yb) else xb=cos(phi), yb=sin(phi), w=xb+flip(yb) endif elseif(tdeg<***) ; quadrant * if(@q*_type=="in") xb=-*+sin(phi), yb=*+cos(phi), w=xb+flip(yb) else xb=cos(phi), yb=sin(phi), w=xb+flip(yb) endif elseif(tdeg<***) ; quadrant * if(@q*_type=="in") xb=-*-sin(phi), yb=-*-cos(phi), w=xb+flip(yb) else xb=cos(phi), yb=sin(phi), w=xb+flip(yb) endif else ; quadrant * if(@q*_type=="in") xb=*+sin(phi), yb=-*+cos(phi), w=xb+flip(yb) else xb=cos(phi), yb=sin(phi), w=xb+flip(yb) endif endif z=k*w+c ; ; cruciform ; elseif(@shape_type=="cruciform") ; ; determine arc length from basis shape ; phimax=* ; ; find standard magnitude and polar angle ; r=cabs(z) trad=atan*(z) tdeg=(trad/#pi****+***)%*** trad=tdeg/****#pi ; ; use polar angle to find coordinates of point on base shape ; and base shape arc length ; if(tdeg<tdegmax[*]) ; side * (far right) upper xb=*, yb=xb*tan(trad), s=yb elseif(tdeg<tdegmax[*]) ; side * yb=third, xb=yb/tan(trad), s=(*-xb)+third elseif(tdeg<tdegmax[*]) ; side * xb=third, yb=xb*tan(trad), s=*+(yb-third) elseif(tdeg<tdegmax[*]) ; side * yb=*, xb=yb/tan(trad), s=*-xb elseif(tdeg<tdegmax[*]) ; side * xb=-third, yb=xb*tan(trad), s=**third+(*-yb) elseif(tdeg<tdegmax[*]) ; side * yb=third, xb=yb/tan(trad), s=*-(xb+third) elseif(tdeg<tdegmax[*]) ; side * xb=-*, yb=xb*tan(trad), s=*-yb elseif(tdeg<tdegmax[*]) ; side * yb=-third, xb=yb/tan(trad), s=***third+xb elseif(tdeg<tdegmax[*]) ; side * xb=-third, yb=xb*tan(trad), s=***third-yb elseif(tdeg<tdegmax[**]) ; side ** yb=-*, xb=yb/tan(trad), s=*+xb elseif(tdeg<tdegmax[**]) ; side ** xb=third, yb=xb*tan(trad), s=***third+yb elseif(tdeg<tdegmax[**]) ; side ** yb=-third, xb=yb/tan(trad), s=*+(xb-third) else ; side * lower xb=*, yb=xb*tan(trad), s=*+yb endif k=r/cabs(xb+flip(yb)) phi=s ; ; raise z to power ; k=k^@power, phi=(@power*phi)%phimax ; ; use phi and k to return new x & y and add c ; if(phi<(*/*)) ; side * (far right) upper xb=*, yb=phi elseif(phi<*) ; side * xb=third+*-phi, yb=third elseif(phi<(*/*)) ; side * xb=third, yb=phi-**third elseif(phi<(*/*)) ; side * xb=*-phi, yb=* elseif(phi<*) ; side * xb=-third, yb=***third-phi elseif(phi<(**/*)) ; side * xb=*/*-phi, yb=third elseif(phi<(**/*)) ; side * xb=-*, yb=*-phi elseif(phi<*) ; side * xb=-**/*+phi, yb=-third elseif(phi<(**/*)) ; side * xb=-third, yb=**/*-phi elseif(phi<(**/*)) ; side ** xb=phi-*, yb=-* elseif(phi<*) ; side ** xb=third, yb=phi-**/* elseif(phi<(**/*)) ; side ** xb=phi-**/*, yb=-third else ; side * lower xb=*, yb=phi-* endif x=xb*k, y=yb*k z=x+flip(y)+c ; ; rose curve ; elseif(@shape_type=="rose curve") trad=atan*(z) r=*+@amp*sin(@freq*trad) xb=r*cos(trad), yb=r*sin(trad), w=xb+flip(yb) phi=trad, compk=z/w compk=compk^@power, phi=@power*phi r=*+@amp*sin(@freq*phi) xb=r*cos(phi), yb=r*sin(phi), w=xb+flip(yb) z=compk*w+c ; ; gear ; elseif(@shape_type=="gear") ; ; z: find theta, which tooth z projects to, and radius (* or rsmall) ; itooth from * to nteeth-*, dtooth = fractional tooth, * to * ; trad=(atan*(z)+**twopi)%twopi dtooth=trad/pitch_trad itooth=trunc(dtooth), dtooth=dtooth-itooth if(dtooth<*.*) ; radius = * k=cabs(z) s=itooth*pitch_s+dtooth*pitch_trad else ; radius = rsmall k=cabs(z)/@rsmall s=itooth*pitch_s+*.**pitch_trad+(dtooth-*.*)*pitch_trad*@rsmall endif phi=s ; ; raise z to power ; k=k^@power, phi=(@power*phi)%smax ; ; use arc length to find which tooth, radius, and project to new z and add c ; dtooth=phi/pitch_s itooth=trunc(dtooth), dtooth=dtooth-itooth if(dtooth<dcrit) ; radius = * r=k trad=itooth*pitch_trad+dtooth/dcrit*pitch_trad/* else ; radius = rsmall r=k*@rsmall trad=itooth*pitch_trad+(*+(dtooth-dcrit)/(*-dcrit))*pitch_trad/* endif z=r*(cos(trad)+flip(sin(trad)))+c ; ; star ; elseif(@shape_type=="star") ; ; determine arc length from basis shape ; phimax=cabs(corner[*]-corner[*]) ; ; find standard magnitude and polar angle ; r=cabs(z) trad=(atan*(z)+**twopi)%twopi tdeg=trad/#pi**** ; ; use polar angle to find coordinates of point on base shape ; and base shape arc length ; if(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*]) elseif(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+phimax elseif(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+**phimax elseif(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+**phimax elseif(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+**phimax elseif(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+**phimax elseif(tdeg<tdegmax[*]) ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+**phimax else ; side * k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/* slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*]) xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad) w=xb+flip(yb), s=cabs(w-corner[*])+**phimax endif k=r/cabs(w) phi=s ; ; raise z to power ; k=k^@power, phi=(@power*phi)%(**phimax) phi=phi/phimax ; ; use phi and k to return new x & y and add c ; if(phi<*) ; side * w=phi*(corner[*]-corner[*])+corner[*] elseif(phi<*) ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] elseif(phi<*) ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] elseif(phi<*) ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] elseif(phi<*) ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] elseif(phi<*) ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] elseif(phi<*) ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] else ; side * w=(phi-*)*(corner[*]-corner[*])+corner[*] endif z=k*w+c ; ; unit circle (standard) ; elseif(@shape_type=="unit circle") z=z^@power+c endif bailout: (|z|<@bailout) default: title="Mixed-Up Multiplication Mandelbrot" ; ; iteration parameters ; heading caption="Iteration Parameters" endheading float param power caption="power" default=* endparam float param bailout caption="bailout" default=**** endparam ; ; base shape parameters ; heading caption="Base Shape Parameters" endheading param shape_type caption="shape type" default=* enum="unit circle" "square" "triangle" "quarter-circle" "cruciform" \ "rose curve" "gear" "star" endparam param q*_type caption="quadrant *" default=* enum="in" "out" visible=(@shape_type=="quarter-circle") endparam param q*_type caption="quadrant *" default=* enum="in" "out" visible=(@shape_type=="quarter-circle") endparam param q*_type caption="quadrant *" default=* enum="in" "out" visible=(@shape_type=="quarter-circle") endparam param q*_type caption="quadrant *" default=* enum="in" "out" visible=(@shape_type=="quarter-circle") endparam int param freq caption="frequency" default=* visible=(@shape_type=="rose curve") endparam float param amp caption="amplitude" default=*.* max=* visible=(@shape_type=="rose curve") endparam int param nteeth caption="# teeth" default=* min=* visible=(@shape_type=="gear") endparam float param rsmall caption="small radius" default=*.* min=* visible=(@shape_type=="gear") endparam float param inrad caption="inner radius" default=*.** min=* visible=(@shape_type=="star") endparam switch: type="mixed-up-multiplication-julia" julparam=pixel power=power bailout=bailout shape_type=shape_type q*_type=q*_type q*_type=q*_type q*_type=q*_type q*_type=q*_type freq=freq amp=amp nteeth=nteeth rsmall=rsmall inrad=inrad } dmj-PhoenixDNovaMandel { ; ; This is the DoubleNova fractal (Mandelbrot form), ; a modified Newtonian-style fractal. ; ; This variant includes an inductive component similar ; to the Phoenix fractal. ; init: complex zold = (*,*) complex y = (*,*) z = @start IF (@usecritical) z = ( -((@power*-*)*@power**@coeff*) / \ ((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*)) ENDIF loop: y = zold zold = z z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \ (@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*y bailout: |z - zold| > @bailout default: title = "PhoenixDoubleNova (Mandelbrot)" helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent" default = (*,*) hint = "Defines the primary exponent for the equation." endparam param power* caption = "Secondary Exponent" default = (*,*) hint = "Defines the secondary exponent for the equation." endparam param coeff* caption = "Primary Scale" default = (*,*) hint = "Defines the coefficient (multiplier) for the \ primary exponent term." endparam param coeff* caption = "Secondary Scale" default = (-*,*) hint = "Defines the coefficient (multiplier) for the \ secondary exponent term." endparam param induct caption = "Phoenix Distortion" default = (-*.*,*) hint = "Sets how 'strong' the previous iteration's effect should be \ on the fractal." endparam param bailout caption = "Bailout" default = *.***** hint = "Bailout value; smaller values will cause more \ iterations to be done for each point." endparam param usecritical caption = "Use Critical Point" default = false hint = "If set, a critical point for the function will \ be used in place of the Start Value." endparam param relax caption = "Relaxation" default = (*,*) hint = "This can be used to slow down the convergence of \ the formula." endparam switch: type = "dmj-PhoenixDNovaJulia" seed = #pixel power* = @power* power* = @power* coeff* = @coeff* coeff* = @coeff* bailout = @bailout relax = @relax }
Fractal 122 B - Phenomenon Into Vacuity - Part of OUTER SPACE series - 06.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=subtraction
mapping:
center=*.*********/*.******* magn=*.********* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-ifs-gills-j" p_c=-**/*
p_bailout=*****.*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=******** index=***
color=******* index=*** color=***** index=*** color=*******
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=*.*********/*.******* magn=*.********* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-ifs-gills-j" p_c=-**/*
p_bailout=*****.*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=********
opacity:
smooth=no index=* opacity=***
}mt-ifs-gills-j { ; Mark Townsend, ** May ****
init:
a* = -*.*****, b* = -*.*****, c* = -*.*****, d* = *.*****
a* = *.*****, b* = -*.*****, d*=*.*****, al* = -*.*****
k* = -*.*****, l* = -*.*****, al* = *.*****, k* = -*.*****
l* = -*.*****
z = #pixel
loop:
x = real(z)
y = imag(z)
o* = (d* * x - b* * y + k*) / al* + flip((-c* * x + a* * y + l*) / al*)
op* = |o* - @c|
o* = (d* * x - b* * y + k*) / al* + flip((a* * y + l*) / al*)
op* = |o* - @c|
if (op* <= op*)
z = o*
else
z = o*
endif
bailout:
|z| <= @bailout
default:
title = "IFS Gills Julia"
center = (-*,*)
magn = *.*
param c
caption = "Julia seed"
default = (*,*)
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
switch:
type = "mt-ifs-**-m"
bailout = bailout
}
Fractal 121 B - Bonnard’s Light Trap - Part of ENCOUNTER series - 05.2023
Fractal_***_B { fractal: title="Fractal_***_B" width=**** height=**** layers=* credits="Philoxerax;*/**/****" layer: caption="Background" opacity=*** mergemode=hardlight mapping: center=*.*********/**.******** magn=*.********* angle=-***.*** formula: maxiter=*** filename="mt.ufm" entry="mt-ifs-gills-j" p_c=*/* p_bailout=****.* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-** index=** color=******** index=*** color=******* index=*** color=******** index=-** color=******** index=-** color=******* index=-** color=******** index=-* color=******* opacity: smooth=no layer: caption="Background" opacity=*** mergemode=lighten transparent=yes mapping: center=-*.**********/-*.********** magn=*.******* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=**/* p_cd=*.*/* p_epsilon=*.* 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=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mergemode=screen transparent=yes mapping: center=-*.*********/*.********* magn=*.********* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=*.*/** p_cd=*/** p_epsilon=** 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=******** index=** color=******** index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******* index=** color=****** index=** color=****** index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=****** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=****** index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=***** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=***** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=***** index=*** color=******** index=*** color=***** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** transparent=yes mapping: center=-*.********/-*.******** magn=*.********* angle=** formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=*.*/** p_cd=*/** p_epsilon=** 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=***** opacity: smooth=no index=* opacity=*** } mt-ifs-gills-j { ; Mark Townsend, ** May **** init: a* = -*.*****, b* = -*.*****, c* = -*.*****, d* = *.***** a* = *.*****, b* = -*.*****, d*=*.*****, al* = -*.***** k* = -*.*****, l* = -*.*****, al* = *.*****, k* = -*.***** l* = -*.***** z = #pixel loop: x = real(z) y = imag(z) o* = (d* * x - b* * y + k*) / al* + flip((-c* * x + a* * y + l*) / al*) op* = |o* - @c| o* = (d* * x - b* * y + k*) / al* + flip((a* * y + l*) / al*) op* = |o* - @c| if (op* <= op*) z = o* else z = o* endif bailout: |z| <= @bailout default: title = "IFS Gills Julia" center = (-*,*) magn = *.* param c caption = "Julia seed" default = (*,*) endparam param bailout caption = "Bailout value" default = ****.* endparam switch: type = "mt-ifs-**-m" bailout = bailout } mt-latoocarfian-ii { ; Mark Townsend ** Dec **** init: float xnew = * float ynew = * float a = real(@ab) float b = imag(@ab) float c = real(@cd) float d = imag(@cd) float x = real(#pixel) float y = imag(#pixel) loop: xnew = sin(y * b) + c * sin(x * b) ynew = sin(x * a) + d * sin(y * a) x = xnew y = ynew #z = x + flip(y) bailout: |#z - #pixel| > @epsilon default: title = "Latööcarfian II" magn = *.* param ab caption = "(a, b)" default = (-*.******, *.******) endparam param cd caption = "(c, d)" default = (*.******, *.******) endparam param epsilon caption = "Epsilon" default = *.* endparam }
Fractal 120 B - Simple Seed - Part of LIFE series - 05.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=overlay transparent=yes
mapping:
center=*.********/*.******** magn=*.********
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/* p_cd=*/* p_epsilon=*.*
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=*****
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=multiply transparent=yes
mapping:
center=*.********/*.******** magn=*.********
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/* p_cd=*/* p_epsilon=*.*
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=*****
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=*.********/*.******** magn=*.********
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=**/* p_cd=*/* p_epsilon=*.*
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=*
index=*** color=******* index=*** color=******* index=***
color=******* index=-** color=******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=hsladd
mapping:
center=-*.*********/*.********* magn=*.********
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=*.**/** p_cd=*/** p_epsilon=**
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=****** index=*** color=******* index=***
color=******* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.**********/-*.********** magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sinh f_fn*=trunc
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=***
}mt-latoocarfian-ii { ; Mark Townsend ** Dec ****
init:
float xnew = *
float ynew = *
float a = real(@ab)
float b = imag(@ab)
float c = real(@cd)
float d = imag(@cd)
float x = real(#pixel)
float y = imag(#pixel)
loop:
xnew = sin(y * b) + c * sin(x * b)
ynew = sin(x * a) + d * sin(y * a)
x = xnew
y = ynew
#z = x + flip(y)
bailout:
|#z - #pixel| > @epsilon
default:
title = "Latööcarfian II"
magn = *.*
param ab
caption = "(a, b)"
default = (-*.******, *.******)
endparam
param cd
caption = "(c, d)"
default = (*.******, *.******)
endparam
param epsilon
caption = "Epsilon"
default = *.*
endparam
}mt-gen-celtic-m { ; Mark Townsend, ** Jun ****
;
; From a formula by Paul Carlson
;
init:
c = #pixel
z = *
loop:
z = z^@n
z = z - @fn*(real(z)) + @fn*(real(z)) - c
bailout:
|z| < @bailout
default:
title = "Generalized Celtic Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First function"
default = ident()
endfunc
func fn*
caption = "Second function"
default = abs()
endfunc
switch:
type = "mt-gen-celtic-j"
c = #pixel
n = n
bailout = bailout
fn* = fn*
fn* = fn*
}
Fractal 119 A - Civilization - Part of ENCOUNTER series - 05.2023
Fractal_***_A { fractal: title="Fractal_***_A" width=**** height=**** layers=* credits="Philoxerax;*/**/****" layer: caption="Layer *" opacity=*** mergemode=luminance transparent=yes mapping: center=*/* magn=*.* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=**/* p_cd=*/-* p_epsilon=*.* 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=* index=** color=* index=** color=* index=** color=******* index=** color=******** index=** color=* index=** color=****** index=** color=* index=** color=***** index=** color=* index=** color=******* index=** color=****** index=** color=* index=** color=******** index=** color=******** index=** color=* index=** color=****** index=** color=* index=** color=****** index=** color=* index=** color=****** index=** color=* index=** color=******** index=** color=* index=** color=******* index=** color=* index=** color=* index=** color=****** index=** color=****** index=** color=* index=** color=******** index=** color=******** index=** color=* index=** color=****** index=** color=* index=** color=****** index=** color=******* index=** color=* index=** color=******* index=** color=****** index=** color=* index=** color=****** index=** color=* index=** color=****** index=** color=******* index=** color=* index=** color=* index=** color=* index=** color=* index=** color=* index=*** color=* index=*** color=* index=*** color=***** index=*** color=* index=*** color=****** index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=***** index=*** color=* index=*** color=* index=*** color=* index=*** color=***** index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=***** index=*** color=* index=*** color=* index=*** color=* index=*** color=* index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=***** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=****** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** transparent=yes mapping: center=*/* magn=*.* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=**/* p_cd=*/-* p_epsilon=*.* 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=******* index=** color=******* index=** color=****** index=** color=****** index=** color=****** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=***** index=** color=******* index=** color=***** index=*** color=******* index=*** color=****** index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=***** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=***** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=****** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=overlay transparent=yes mapping: center=-*.*********/*.********* magn=*.******** formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=**/* p_cd=*/-* p_epsilon=*.* 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=****** index=** color=****** index=** color=****** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=***** index=** color=******* index=** color=***** index=** color=******* index=** color=****** index=** color=***** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=***** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=***** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=** mergemode=overlay mapping: center=*/* magn=*.* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=**/* p_cd=*.*/* p_epsilon=*.* 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=multiply mapping: center=-*.********/-*.********* magn=*.******** formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=-**/** p_cd=*/-* p_epsilon=*.* 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=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=****** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=****** index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=** color=* index=** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=****** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=****** index=*** color=* index=*** color=******* index=*** color=* index=*** color=****** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=***** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=* index=*** color=****** index=*** color=* index=*** color=****** index=*** color=* index=*** color=******* index=*** color=* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=** mapping: center=*/* magn=*.* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=-**/** p_cd=*/-* p_epsilon=*.* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=** index=*** color=******** index=** color=******* index=*** color=******** index=*** color=******* opacity: smooth=no rotation=-** index=-** opacity=*** layer: caption="Background" opacity=*** mapping: center=*/* magn=*.* formula: maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii" p_ab=**/* p_cd=*/-* p_epsilon=*.* 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=******* index=** color=******** index=** color=****** index=** color=***** index=** color=******* index=** color=****** index=** color=******** index=** color=******** index=** color=****** index=** color=****** index=** color=****** index=** color=******** index=** color=******* index=** color=****** index=** color=****** index=** color=******** index=** color=******** index=** color=****** index=** color=****** index=** color=******* index=** color=******* index=** color=****** index=** color=****** index=** color=****** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=***** index=** color=******* index=** color=***** index=*** color=******* index=*** color=****** index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=****** index=*** color=***** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=***** index=*** color=****** index=*** color=****** index=*** color=***** index=*** color=******* index=*** color=****** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=***** index=*** color=****** index=*** color=******* index=*** color=***** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=****** opacity: smooth=no index=* opacity=*** } mt-latoocarfian-ii { ; Mark Townsend ** Dec **** init: float xnew = * float ynew = * float a = real(@ab) float b = imag(@ab) float c = real(@cd) float d = imag(@cd) float x = real(#pixel) float y = imag(#pixel) loop: xnew = sin(y * b) + c * sin(x * b) ynew = sin(x * a) + d * sin(y * a) x = xnew y = ynew #z = x + flip(y) bailout: |#z - #pixel| > @epsilon default: title = "Latööcarfian II" magn = *.* param ab caption = "(a, b)" default = (-*.******, *.******) endparam param cd caption = "(c, d)" default = (*.******, *.******) endparam param epsilon caption = "Epsilon" default = *.* endparam }
Fractal 118 C - Opposite Multiverse Dimensions - Part of OUTER SPACE series - 05.2023
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=**
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=multiply
mapping:
center=-*.*************/-*.************** magn=****.****
angle=***.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=*** color=******** index=***
color=******** index=*** color=* index=*** color=******* index=***
color=******** index=-** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=**.**********/*.******** magn=*.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=floor f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=*
opacity:
smooth=no index=* opacity=*
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=**.*********/-*.******** magn=*.*** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=floor f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=*
opacity:
smooth=no index=* opacity=*
layer:
caption="Layer *" opacity=** mergemode=addition
mapping:
center=*.************/-*.************* magn=***.*****
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=* index=*** color=* index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=screen
mapping:
center=-*.*************/-*.************** magn=****.****
angle=***.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=-** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=screen
mapping:
center=**.**********/*.******** magn=*.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=floor f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=* index=** color=********
index=*** color=******** index=*** color=******** index=***
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=screen
mapping:
center=**.*********/-*.******** magn=*.*** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=floor f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=* index=** color=********
index=*** color=******** index=*** color=******** index=***
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=screen
mapping:
center=*.************/-*.************ magn=***.***** angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sqr f_fn*=trunc
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=*.*************/*.*************** magn=*****.***
angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*.*
p_bailout=****.* f_fn*=ident f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=hsladd
mapping:
center=*.**************/*.**************** magn=*****.***
angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*.*
p_bailout=****.* f_fn*=ident f_fn*=abs
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=***
mapping:
center=*.**************/*.**************** magn=*****.***
angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*.*
p_bailout=****.* f_fn*=ident f_fn*=abs
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=* index=** color=******** index=***
color=******** index=*** color=******** index=-* color=*******
opacity:
smooth=no index=* opacity=***
}dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}
dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 117 A - Quantic Event - Part of OUTER SPACE series - 05.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=*** mergemode=multiply
mapping:
center=*.**********/***.******** magn=*.******** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-biomorph-I-m"
p_bailout=****.* f_fn*=ident
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=*** visible=no mergemode=multiply
mapping:
center=-*.*************/*.************** magn=****.****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.*
p_bailout=***.* f_fn*=ident
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=*** mergemode=overlay
mapping:
center=-*.*************/*.*************** 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=****** index=* color=********
index=* color=******** index=* color=****** index=* color=******
index=* color=******* index=* color=******** index=** color=*******
index=** color=****** index=** color=****** index=** color=*******
index=** color=****** index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=** color=********
index=** color=******* index=** color=****** index=** color=*******
index=** color=******** index=** color=***** index=** color=********
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=****** index=** color=******** index=** color=******* index=**
color=******* index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=****** index=** color=*******
index=** color=******* index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=****** index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=*****
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=***** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=****** index=*** color=******* index=*** color=*****
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=****** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=****** index=*** color=***** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=-* color=*******
index=-* color=******** index=-* color=******* index=-*
color=******** index=-* color=******* index=-* color=*******
index=-* color=******** index=-* color=******** index=-*
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** transparent=yes mask=yes
mapping:
center=*.**************/-*.************ magn=***.*****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sqr f_fn*=trunc
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=* 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 rotation=-** index=** opacity=** index=-*** opacity=**
index=-** opacity=** index=-** opacity=**
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=*.*************/-*.************** magn=***.*****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sqr f_fn*=trunc
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=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=***** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=***** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=***** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=***** index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=***** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=***** index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=screen
mapping:
center=*.*************/-*.************** magn=***.*****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sqr f_fn*=trunc
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=******** index=** color=******** index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=****** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=** color=******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=***** index=***
color=******** index=*** color=******** index=*** color=*****
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=***** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*****
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=*****
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=****** index=*** color=***** index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=***** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=*****
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=*.**************/-*.************ magn=***.*****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=*
p_bailout=****.* f_fn*=sqr f_fn*=trunc
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=******* index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******* index=** color=******* index=**
color=****** index=** color=******** index=** color=********
index=** color=****** index=** color=****** index=** color=*******
index=** color=******** index=** color=******* index=** color=******
index=** color=****** index=** color=******* index=** color=******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=****** index=** color=******** index=** color=*******
index=** color=****** index=** color=******* index=** color=********
index=** color=***** index=** color=******** index=** color=*******
index=** color=******* index=** color=******** index=** color=******
index=** color=******* index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=****** index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=****** index=** color=*******
index=** color=******* index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=*****
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=***** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=******
index=*** color=******** index=*** color=****** index=***
color=******* index=*** color=***** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=********
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=***
}mt-biomorph-I-m { ; Mark Townsend, ** Jul ****
init:
z = *
loop:
z = @fn*(z) + e^z + #pixel
bailout:
|real(z)| < @bailout
default:
title = "Biomorph I Mset"
param bailout
caption = "Bailout value"
default = ****.*
endparam
switch:
type = "mt-biomorph-I-j"
fn* = fn*
c = #pixel
bailout = bailout
}mt-******b-m { ; Mark Townsend, ** Jun ****
init:
z = #pixel
c = #pixel
loop:
z = z^@n + @fn*(real(z) / imag(z)) - c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ***.*
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
bailout = bailout
n = n
c = #pixel
fn* = fn*
}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
ENDIFbailout:
|z - zold| > @bailoutdefault:
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."
endparamswitch:
type = "dmj-NovaJulia"
seed = #pixel
power = @power
bailout = @bailout
relax = @relax
}mt-gen-celtic-m { ; Mark Townsend, ** Jun ****
;
; From a formula by Paul Carlson
;
init:
c = #pixel
z = *
loop:
z = z^@n
z = z - @fn*(real(z)) + @fn*(real(z)) - c
bailout:
|z| < @bailout
default:
title = "Generalized Celtic Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First function"
default = ident()
endfunc
func fn*
caption = "Second function"
default = abs()
endfunc
switch:
type = "mt-gen-celtic-j"
c = #pixel
n = n
bailout = bailout
fn* = fn*
fn* = fn*
}
Fractal 116 A - DNA - Part of LIFE series - 04.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=*** mergemode=multiply
mapping:
center=-***.********/**.********* magn=*.*********
formula:
maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*
p_bailout=****.* f_fn*=atanh f_fn*=abs
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=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******* index=-*** color=******* index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=******** index=-***
color=******** index=-*** color=******* index=-*** color=*******
index=-*** color=******* index=-*** color=******** index=-***
color=******** index=-*** color=******** index=-*** color=********
index=-*** color=******** index=-*** color=******** index=-***
color=******* index=-*** color=******** index=-*** color=*******
index=-*** color=******* index=-*** color=******* index=-***
color=******** index=-*** color=******* index=-*** color=********
index=-*** color=******** index=-*** color=******** index=-**
color=******* index=-** color=******* index=-** color=*******
index=-** color=****** index=-** color=******* index=-**
color=******** index=-** color=******* index=-** color=*******
index=-** color=******** index=-** color=******* index=-**
color=******** index=-** color=******** index=-** color=********
index=-** color=******** index=-** color=******** index=-**
color=******** index=-** color=******* index=-** color=********
index=-** color=******** index=-** color=******** index=-**
color=******* index=-** color=******* index=-** color=********
index=-** color=******** index=-** color=******** index=-**
color=******** index=-* color=******** index=-* color=********
index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=hardlight 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=*******
index=*** color=******** index=-*** color=******** index=-**
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=lighten 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=*******
index=*** color=******** index=-*** color=******** index=-**
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=overlay
mapping:
center=-*.****************/*.**************** magn=****.****
angle=-***.****
formula:
maxiter=*** percheck=off filename="lkm.ufm" entry="mitch-mandelbrot"
p_manparam=*/* p_bailout=****.* p_bailtype="|z|"
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=****** index=-** color=******* index=-** color=*******
opacity:
smooth=no index=* opacity=***
}mt-gen-celtic-j { ; Mark Townsend, ** Jun ****
;
; From a formula by Paul Carlson
;
init:
z = #pixel
loop:
z = z^@n
z = z - @fn*(real(z)) + @fn*(real(z)) - @c
bailout:
|z| < @bailout
default:
title = "Generalized Celtic Julia"
param @c
caption = "Julia seed"
default = (*,*)
endparam
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First function"
default = ident()
endfunc
func fn*
caption = "Second function"
default = abs()
endfunc
switch:
type = "mt-gen-celtic-m"
bailout = bailout
n = n
fn* = fn*
fn* = fn*
}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*)&&(tempr<radsqr*))
done=*
tempr=(tempr-radsqr*)/gap
z=tempr*z/cabs(z)
endif
endif
if((done==*)&&(|z|>rmax))
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*
}mitch-mandelbrot { ; Kerry Mitchell **mar**
;
; c*(z^*+*/z^*) Mandelbrot
;
; updated **feb** to change bailout variable
;
init:
bool done=false
z=@manparam
c=#pixel
loop:
z*=sqr(z)
z=c*(z*+*/z*)
if((@bailtype==*)&&(|z|>@bailout))
done=true
elseif((@bailtype==*)&&(|z*c|>@bailout))
done=true
endif
bailout:
done==false
default:
title="Mitch's Mandelbrot"
periodicity=*
magn=*
param manparam
caption="Mandelbrot start"
default=(*,*)
hint="use (*,*) for standard set"
endparam
param bailout
caption="bailout value"
default=****.*
endparam
param bailtype
caption="bailout type"
default=*
enum="|z|" "|z*c|"
endparam
switch:
type="mitch-julia"
julparam=#pixel
bailout=bailout
bailtype=bailtype
}
Fractal 115 K - Bodhicitta - Part of ENCOUNTER series - 06.2023
Fractal_***_K { fractal: title="Fractal_***_K" width=**** height=**** layers=* credits="Philoxerax;**/*/****" layer: caption="Layer *" opacity=*** mergemode=difference mapping: center=*.*************/-*.************* magn=****.**** angle=**.*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=* color=******* index=** color=* index=-** color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=screen mapping: center=*.**************/-*.************** magn=****.**** angle=**.*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=* color=******* index=** color=* index=-** color=****** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=lighten mapping: center=-*.********/-*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=round f_fn*=trunc 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=softlight mapping: center=-*.********/-*.********* magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=round f_fn*=trunc 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=****** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mergemode=darken mapping: center=*.**************/-*.************** magn=****.**** angle=**.*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=*** index=*** color=*** index=*** color=******** index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=screen mapping: center=*.***********/*.*********** magn=*.******* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*.*** p_bailout=*** f_fn*=sqr f_fn*=abs 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=multiply mapping: center=*.************/*.***********e-* magn=****.**** angle=** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc 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=***** index=-** color=******* index=-** color=******* index=-** color=***** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mapping: center=*.**************/-*.************** magn=****.**** angle=-**.**** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-m" p_n=* p_bailout=****.* f_fn*=sqr f_fn*=trunc inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=*** index=*** color=******** index=*** color=***** index=*** color=******** index=*** color=***** opacity: smooth=no index=* opacity=*** } mt-gen-celtic-m { ; Mark Townsend, ** Jun **** ; ; From a formula by Paul Carlson ; init: c = #pixel z = * loop: z = z^@n z = z - @fn*(real(z)) + @fn*(real(z)) - c bailout: |z| < @bailout default: title = "Generalized Celtic Mset" param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First function" default = ident() endfunc func fn* caption = "Second function" default = abs() endfunc switch: type = "mt-gen-celtic-j" c = #pixel n = n bailout = bailout fn* = fn* fn* = fn* } mt-gen-celtic-j { ; Mark Townsend, ** Jun **** ; ; From a formula by Paul Carlson ; init: z = #pixel loop: z = z^@n z = z - @fn*(real(z)) + @fn*(real(z)) - @c bailout: |z| < @bailout default: title = "Generalized Celtic Julia" param @c caption = "Julia seed" default = (*,*) endparam param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First function" default = ident() endfunc func fn* caption = "Second function" default = abs() endfunc switch: type = "mt-gen-celtic-m" bailout = bailout n = n fn* = fn* fn* = fn* }
Fractal 114 G - Angel Egg - Part of BEYOND series - 04.2023
Layers {
layer:
caption="Layer *" opacity=*** mergemode=screen transparent=yes
mapping:
center=*.*********/*.********* magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m"
p_threshold=*.* p_bailout=* f_fn*=sqrt
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=*** transparent=yes
mapping:
center=*.**********/*.********** magn=*.******* angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*
p_bailout=* f_fn*=sqrt
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=difference
mapping:
center=-*.********/**.********** magn=*.******** angle=-*.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-ifs-dragon-j"
p_bailout=****.* p_c=*/*
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=***
mapping:
center=-*.**********/**.********** magn=*.******** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-ifs-dragon-j"
p_bailout=****.* p_c=*/*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=***** index=*** color=***
index=*** color=******** index=-*** color=******* index=-**
color=********
opacity:
smooth=no index=* opacity=***
}mt-barnsleyish-m { ; Mark Townsend, ** May ****
init:
z = *
loop:
if real(z) >= @threshold
z = @fn*(z + *) * -#pixel
else
z = @fn*(z - *) * #pixel
endif
bailout:
|z| < @bailout
default:
title = "Barnsleyish Mset"
param threshold
caption = "Threshold"
default = *.*
endparam
param bailout
caption = "Bailout Value"
default = *.*
endparam
func fn*
caption = "Function"
default = cos()
endfunc
switch:
type = "mt-barnsleyish-j"
bailout = bailout
threshold = threshold
c = #pixel
fn* = fn*
}mt-ifs-dragon-j { ; Mark Townsend, * Jun ****
;
; Escape time IFS fractal - this one is from
; Fractint.ifs. Modified from a Fractint formula
; created with IfsInv (program by Ramiro Perez).
;
init:
a* = *.*****, b* = *.*****, c* = -*.*****, d* = *.*****
a* = *.*****, b* = *.*****, c* = -*.*****, d* = -*.*****
al* = *.*****, k* = *.*****, l* = *.*****
al* = *.*****, k* = *.*****, l* = -*.*****
float op* = *
float op* = *
z = #pixel
loop:
x = real(z)
y = imag(z)
o* = (d* *x - b* * y + k*) / al* + flip((-c* * x + a* * y + l*) / al*)
op* = |o* - @c|
o* = (d* * x - b* * y + k*) / al* + flip((-c* * x + a* * y + l*) / al*)
op* = |o* - @c|
if (op* <= op*)
z = o*
else
z = o*
endif
bailout:
|z| <= @bailout
default:
title = "IFS Dragon Julia"
center = (*,*)
magn = *.*
param bailout
caption = "Bailout value"
default = ****.*
endparam
param c
caption = "Julia seed"
default = (*,*)
endparam
switch:
type = "mt-ifs-dragon-m"
bailout = bailout
}
Fractal 113 B - Pixels Earth - Part of ENCOUNTER series - 03.2023
Fractal_***_B { fractal: title="Fractal_***_B" width=**** height=**** layers=* credits="Philoxerax;*/*/****" layer: caption="Background" opacity=*** mergemode=lighten mapping: center=*.*********/*.********* magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=ident f_fn*=ceil 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 mapping: center=*.********/-*.******** magn=*.********* formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=ident f_fn*=cotan 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=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=****** index=** color=******* index=** color=******** index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******* index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-* color=******* index=-* color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=addition mapping: center=*.********/*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=* p_bailout=****.* f_fn*=acos f_fn*=cotan 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=addition mapping: center=*.********/*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=* p_bailout=****.* f_fn*=acos f_fn*=cotan 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=overlay mapping: center=*.********/*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=asinh f_fn*=cotan 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=screen mapping: center=*.********/*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=* p_bailout=****.* f_fn*=atan f_fn*=cotan 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=******* index=*** color=***** index=*** color=****** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mapping: center=*.********/*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=* p_bailout=****.* f_fn*=atan f_fn*=cotan inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=** index=** color=* index=*** color=******** index=*** color=******* index=*** color=*** opacity: smooth=no index=* opacity=*** } mt-gen-celtic-j { ; Mark Townsend, ** Jun **** ; ; From a formula by Paul Carlson ; init: z = #pixel loop: z = z^@n z = z - @fn*(real(z)) + @fn*(real(z)) - @c bailout: |z| < @bailout default: title = "Generalized Celtic Julia" param @c caption = "Julia seed" default = (*,*) endparam param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First function" default = ident() endfunc func fn* caption = "Second function" default = abs() endfunc switch: type = "mt-gen-celtic-m" bailout = bailout n = n fn* = fn* fn* = fn* }
Fractal 112 B - Computer Emotion - Part of ENCOUNTER series - 12.2023
Layers { layer: caption="Background" opacity=** mergemode=screen mapping: center=*.***/**.********** magn=*.*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.**/* p_n=*.** p_bailout=****.* f_fn*=sinh f_fn*=abs 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=lighten mapping: center=*.*********/-*.******** magn=*.********* angle=** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=ceil 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 mapping: center=*.*********/-*.******** magn=*.********* angle=** formula: maxiter=**** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=ceil 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=hardlight mapping: center=*.*********/*.********* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=ident 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=luminance mapping: center=*.*********/*.********* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=ident 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=difference mapping: center=*.*********/*.********* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=ident f_fn*=cotan 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=******* index=*** color=******** index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mapping: center=*.*********/-*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=ident f_fn*=cotan 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=******** 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=*** } mt-gen-celtic-j { ; Mark Townsend, ** Jun **** ; ; From a formula by Paul Carlson ; init: z = #pixel loop: z = z^@n z = z - @fn*(real(z)) + @fn*(real(z)) - @c bailout: |z| < @bailout default: title = "Generalized Celtic Julia" param @c caption = "Julia seed" default = (*,*) endparam param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First function" default = ident() endfunc func fn* caption = "Second function" default = abs() endfunc switch: type = "mt-gen-celtic-m" bailout = bailout n = n fn* = fn* fn* = fn* }
Fractal 111 B - Black Datas - Part of ENCOUNTER series - 03.2023
Fractal_***_B { fractal: title="Fractal_***_B" width=**** height=**** layers=* credits="Philoxerax;*/**/****" layer: caption="Background" opacity=*** mergemode=luminance mapping: center=*.*********/*.********* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*/* p_n=*.** p_bailout=****.* f_fn*=ident f_fn*=ident 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=difference mapping: center=*.*********/*.********* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=ident f_fn*=cotan 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=******* index=*** color=******** index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mapping: center=*.*********/-*.******** magn=*.********* angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-gen-celtic-j" p_c=*.*/* p_n=* p_bailout=****.* f_fn*=ident f_fn*=cotan 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=******** 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=*** } mt-gen-celtic-j { ; Mark Townsend, ** Jun **** ; ; From a formula by Paul Carlson ; init: z = #pixel loop: z = z^@n z = z - @fn*(real(z)) + @fn*(real(z)) - @c bailout: |z| < @bailout default: title = "Generalized Celtic Julia" param @c caption = "Julia seed" default = (*,*) endparam param n caption = "Exponent" default = *.* endparam param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First function" default = ident() endfunc func fn* caption = "Second function" default = abs() endfunc switch: type = "mt-gen-celtic-m" bailout = bailout n = n fn* = fn* fn* = fn* }
Fractal 110 B - Fate - Part of BEYOND series - 02.2023
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=* mergemode=overlay
mapping:
center=-*.**********/-*.********** magn=*.******* angle=*.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-*
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=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=****** index=** color=******* index=** color=******
index=** color=******* index=** color=******* index=** color=*******
index=** color=******* index=** color=******** index=**
color=******** index=** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=***** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=***** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*****
index=*** color=******** index=*** color=***** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.**********/-*.********** magn=*.******* angle=*.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-*
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=********
index=* color=******** index=* color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=****** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=*** color=*
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.*********/-*.********* magn=*.*******
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-*
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes index=** color=******* index=*** color=******** index=***
color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** transparent=yes mask=yes
mapping:
center=-*.*********/-*.********* magn=*.*******
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-*
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
smooth=yes index=** color=******* index=*** color=******** index=***
color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.************/*.*********** magn=*.******* angle=**.****
formula:
maxiter=**** percheck=off filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=***.* p_epsilon=*E-*
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=*** color=******** index=**
color=******* index=*** color=******** index=*** color=*******
opacity:
smooth=no index=* opacity=***
}mt-bof-newton-I-m { ; Mark Townsend, ** Mar ****
;
; Modified Newton's method for
; (z-*)*(z+c)*(z^*+*), from "The Beauty of
; Fractals".
;
init:
z = *
c = #pixel
float h = *.****
fz = zh = oldz = *
loop:
oldz = z
zh = z + h
fz = (z - *) * (z + c) * (z^* + *)
fzd = * / h *((zh - *) * (zh + c) *(zh^* + *) - fz)
z = z - fz /(fzd + flip(@s))
bailout:
|z - oldz| > @epsilon
default:
title = "Bof Newton I"
magn = *.**
maxiter = ****
periodicity = *
param s
caption = "Parameter (s)"
default = *.*
hint = "The suggested range is *<s<*."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-bof-newton-I-j"
s = s
c = #pixel
bailout = bailout
}
Fractal 109 B - Black Diamond - Part of ELEMENTS series - 02.2023
Fractal_***_B { fractal: title="Fractal_***_B" width=**** height=**** layers=* credits="Philoxerax;*/**/****" layer: caption="Layer *" opacity=** mergemode=green mapping: center=*/* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=* p_bailout=* f_fn*=round inside: transfer=none outside: transfer=linear gradient: comments="Default Ultra Fractal gradient." smooth=yes rotation=-*** index=** color=***** index=*** color=*** index=-*** color=******* index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=** mergemode=screen mapping: center=*/* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=* p_bailout=* f_fn*=round inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-*** index=* color=***** index=* color=***** index=** color=******** index=-*** color=******** index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=lighten mapping: center=*.************/*.************* magn=***.***** angle=-***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*.* p_bailout=* f_fn*=cos inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation="-***@#*SS**@#*****" index="*@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=***** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******* index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="-***@#*SS**@#*****" color=* index="-***@#*SS**@#*****" color=******** index="-***@#*SS**@#*****" color=* index="-***@#*SS**@#*****" color=******** index="-***@#*SS**@#*****" color=* index="-***@#*SS***@#*****" color=******** index="-***@#*SS***@#*****" color=* index="-***@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******* index="-**@#*SS***@#*****" color=* index="-*@#*SS***@#*****" color=*** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=green transparent=yes mask=yes mapping: center=*/* magn=*.******** angle=*** formula: maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=* p_bailout=* f_fn*=round inside: transfer=none solid=* outside: transfer=linear gradient: comments="Default Ultra Fractal gradient." smooth=yes rotation=-*** index=** color=***** index=*** color=*** index=-*** color=******* index=-** color=******** opacity: smooth=no layer: caption="Background" opacity=*** mapping: center=*.*************/*.************ magn=***.***** angle=-***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*.* p_bailout=* f_fn*=cos inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation="-***@#*SS**@#*****" index="*@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="**@#*SS***@#*****" color=* index="**@#*SS***@#*****" color=***** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=***** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******* index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="***@#*SS***@#*****" color=* index="***@#*SS***@#*****" color=******** index="-***@#*SS**@#*****" color=* index="-***@#*SS**@#*****" color=******** index="-***@#*SS**@#*****" color=* index="-***@#*SS**@#*****" color=******** index="-***@#*SS**@#*****" color=* index="-***@#*SS***@#*****" color=******** index="-***@#*SS***@#*****" color=* index="-***@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******** index="-**@#*SS***@#*****" color=* index="-**@#*SS***@#*****" color=******* index="-**@#*SS***@#*****" color=* index="-*@#*SS***@#*****" color=*** opacity: smooth=no index=* opacity=*** } mt-barnsleyish-m { ; Mark Townsend, ** May **** init: z = * loop: if real(z) >= @threshold z = @fn*(z + *) * -#pixel else z = @fn*(z - *) * #pixel endif bailout: |z| < @bailout default: title = "Barnsleyish Mset" param threshold caption = "Threshold" default = *.* endparam param bailout caption = "Bailout Value" default = *.* endparam func fn* caption = "Function" default = cos() endfunc switch: type = "mt-barnsleyish-j" bailout = bailout threshold = threshold c = #pixel fn* = fn* }
Fractal 108 U - Retina - Part of LIFE series - 08.2023
Layers {
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=*.*********/*.********* magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*
p_bailout=* f_fn*=conj
inside:
transfer=none
outside:
transfer=linear
gradient:
comments="Use with Lighting coloring algorithm." smooth=yes
rotation=** index=*** color=******** index=*** color=*******
index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=multiply
mapping:
center=*.**********/-*.********** magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*
p_bailout=* f_fn*=conj
inside:
transfer=none
outside:
transfer=linear
gradient:
comments="Use with Lighting coloring algorithm." smooth=yes
rotation=** index=*** color=******** index=** color=*******
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** visible=no mergemode=saturation
mapping:
center=*.*********/*.********* magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*
p_bailout=* f_fn*=conj
inside:
transfer=none
outside:
transfer=linear
gradient:
comments="Use with Lighting coloring algorithm." smooth=yes
rotation=** index=*** color=******** index=** color=********
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=difference
mapping:
center=*.*********/-*.********* magn=*.******** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-m" p_threshold=*
p_bailout=* f_fn*=conj
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=******** index=** color=*******
index=** color=******* index=** color=******* index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=*** color=******** index=*** color=* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=*** color=*
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=-** color=********
index=-* color=******* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=softlight
mapping:
center=*.***********/-*.*********** magn=*.******* angle=-***.***
stretch=*.**** skew=**.****
formula:
maxiter=**** percheck=conservative filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=* p_epsilon=*E-*
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=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=-** color=******** index=-** color=******* index=-**
color=******** index=-** color=******** index=-** color=*******
index=-** color=******* index=-** color=******** index=-**
color=******* index=-** color=******** index=-** color=********
index=-** color=******** index=-** color=******* index=-**
color=******* index=-** color=******* index=-* color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=*.**************/-*.************ magn=*.*******
angle=-**.****
formula:
maxiter=**** percheck=conservative filename="mt.ufm"
entry="mt-bof-newton-I-m" p_s=* p_epsilon=*E-*
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=******** index=** color=******** index=** color=*******
index=** color=****** index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=-** color=******** index=-** color=******* index=-**
color=******** index=-** color=******** index=-** color=* index=-**
color=******* index=-** color=******** index=-** color=*******
index=-** color=******** index=-** color=******** index=-**
color=******** index=-** color=******* index=-* color=*******
index=-* color=*******
opacity:
smooth=no index=* opacity=***
}mt-barnsleyish-m { ; Mark Townsend, ** May ****
init:
z = *
loop:
if real(z) >= @threshold
z = @fn*(z + *) * -#pixel
else
z = @fn*(z - *) * #pixel
endif
bailout:
|z| < @bailout
default:
title = "Barnsleyish Mset"
param threshold
caption = "Threshold"
default = *.*
endparam
param bailout
caption = "Bailout Value"
default = *.*
endparam
func fn*
caption = "Function"
default = cos()
endfunc
switch:
type = "mt-barnsleyish-j"
bailout = bailout
threshold = threshold
c = #pixel
fn* = fn*
}mt-bof-newton-I-m { ; Mark Townsend, ** Mar ****
;
; Modified Newton's method for
; (z-*)*(z+c)*(z^*+*), from "The Beauty of
; Fractals".
;
init:
z = *
c = #pixel
float h = *.****
fz = zh = oldz = *
loop:
oldz = z
zh = z + h
fz = (z - *) * (z + c) * (z^* + *)
fzd = * / h *((zh - *) * (zh + c) *(zh^* + *) - fz)
z = z - fz /(fzd + flip(@s))
bailout:
|z - oldz| > @epsilon
default:
title = "Bof Newton I"
magn = *.**
maxiter = ****
periodicity = *
param s
caption = "Parameter (s)"
default = *.*
hint = "The suggested range is *<s<*."
endparam
param epsilon
caption = "Epsilon"
default = *e-*
hint = "This is the bailout value."
endparam
switch:
type = "mt-bof-newton-I-j"
s = s
c = #pixel
bailout = bailout
}
Fractal 107 C - Electricity - Part of ELEMENTS series - 02.2023
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=red
mapping:
center=*.**********/-*.********* magn=*.******** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=atanh f_fn*=round
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=hardlight
mapping:
center=*.**********/-*.********** magn=*.******** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=atanh f_fn*=round
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=*.**********/-*.********** magn=*.******* angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=atanh f_fn*=round
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=*******
opacity:
smooth=no index=* opacity=***
}mt-bifunctional-m { ; Mark Townsend, ** Jun ****
init:
z = *
c = #pixel
float x = *
float y = *
loop:
x = real(z)
y = imag(z)
z = @fn*(x) + flip(@fn*(y))
z = z^@n + c
bailout:
|z| < @bailout
default:
title = "Bifunctional Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "Real function"
default = sinh()
endfunc
func fn*
caption = "Imaginary function"
default = ident()
endfunc
switch:
type = "mt-bifunctional-j"
bailout = bailout
c = #pixel
fn* = fn*
fn* = fn*
n = n
}
Fractal 106 A - Big Bang - Part of OUTER SPACE series - 02.2023
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=*.*********/*.******** magn=*.*********
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=********
index=*** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=multiply
mapping:
center=-*.********/-*.********* magn=*.********
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=tan f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear solid=**********
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=***
layer:
caption="Layer *" opacity=*** mergemode=hardlight
mapping:
center=*.********/-*.******** magn=*.********
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=tan f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear solid=**********
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=******** index=*** color=*** index=-* color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.********/-*.********* magn=*.********
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=tan f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear solid=**********
gradient:
smooth=yes rotation=-* 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 = zcomplex c = @distcenter
IF (@centermove)
c = #center
ENDIFcomplex r = (*,*) ^ (@angle / **.*)
complex r* = (*,*) ^ (@anglestep / **.*)
complex r* = (*,*) ^ (@distangle / **.*)float fiter = @noisestart
BOOL noise = falseloop:
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
ENDIFIF (@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
ENDIFIF (@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 - *
ENDWHILEIF (@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
ENDIFIF (@coloronly == false); not just using fBm on coloring
oz = z; value for bailout is fBm'ed z
ENDIFbailout:
|oz - zold| > @bailoutdefault:
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."
endparamparam 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."
endparamparam 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."
endparamswitch:
type = "dmj-fBmNovaJulia"
seed = #pixel
power = @power
bailout = @bailout
relax = @relaxdistortion = @distortion
style = @style
distangle = @distangle
distcenter = @distcenter
centermove = @centermove
offset = @offset
scale = @scale
angle = @angle
step = @step
anglestep = @anglestep
octaves = @octaves
npower = @npowernoisestart = @noisestart
noiseiter = @noiseiter
noiseskip = @noiseskip
coloronly = @coloronly
}mt-bifunctional-m { ; Mark Townsend, ** Jun ****
init:
z = *
c = #pixel
float x = *
float y = *
loop:
x = real(z)
y = imag(z)
z = @fn*(x) + flip(@fn*(y))
z = z^@n + c
bailout:
|z| < @bailout
default:
title = "Bifunctional Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "Real function"
default = sinh()
endfunc
func fn*
caption = "Imaginary function"
default = ident()
endfunc
switch:
type = "mt-bifunctional-j"
bailout = bailout
c = #pixel
fn* = fn*
fn* = fn*
n = n
}
Fractal 105 E - Scanning Mankind - Part of ENCOUNTER series - 01.2023
Fractal_***_E { fractal: title="Fractal_***_E" width=**** height=**** layers=* credits="Philoxerax;*/*/****" layer: caption="Layer *" opacity=** mergemode=overlay mapping: center=*.**********/***.******* magn=*.******* angle=-** formula: maxiter=*** filename="mt.ufm" entry="mt-biomorph-I-m" p_bailout=*****.* f_fn*=ceil 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=*** mapping: center=*.*********/***.******* magn=*.******* angle=-** formula: maxiter=*** filename="mt.ufm" entry="mt-biomorph-I-m" p_bailout=*****.* f_fn*=ceil 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=****** index=*** color=****** index=*** color=******* opacity: smooth=no index=* opacity=*** } mt-biomorph-I-m { ; Mark Townsend, ** Jul **** init: z = * loop: z = @fn*(z) + e^z + #pixel bailout: |real(z)| < @bailout default: title = "Biomorph I Mset" param bailout caption = "Bailout value" default = ****.* endparam switch: type = "mt-biomorph-I-j" fn* = fn* c = #pixel bailout = bailout } mt-biomorph-II-j { ; Mark Townsend, ** Jul **** init: z = #pixel loop: z = z^z + z^(@n) + @c bailout: |real(z)| < @bailout default: title = "Biomorph II Julia" param c caption = "Julia seed" default = (*,*) endparam param n caption = "Coefficient" default = *.* endparam param bailout caption = "Bailout value" default = **.* endparam switch: type = "mt-biomorph-II-m" n = n bailout = bailout }
Fractal 104 A - Turner's Mirroring of Lights - Part of ELEMENTS series - 12.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;**/**/****"
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-**.*********/-*.********* magn=*.******** angle=-**.***
formula:
maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.*/*
p_functypeall="sin general" p_powerall=*/* p_ntermall=**
p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
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=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-**.*********/-*.********* magn=*.******** angle=**.****
formula:
maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.*/*
p_functypeall="sin general" p_powerall=*/* p_ntermall=**
p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
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=******* index=-** color=******** index=-**
color=******** index=-** color=*******
opacity:
smooth=no index=* opacity=***
}fourier-popcorn { ; Kerry Mitchell **May****
;
; This is a complex-valued implementation and generalization
; of Cliff Pickover's "popcorn" algorithm. His method iterates
; * real variables like this:
;
; xnew = xold - h * sin(a*y + tan(b*y))
; ynew = yold - h * sin(a*x + tan(b*x))
;
; where a = *. The current method generalizes the above by:
; using truncated Fourier series instead of just single sin or tan function
; allowing for complex values of a (slope)
; having the same Fourier series parameters (basic controls) or
; having different parameters for the * series (x inner, x outer,
; y inner, and y outer)
;
init:
complex temp=(*,*)
complex tempx=(*,*)
complex tempy=(*,*)
complex temp*=(*,*)
complex temp*x=(*,*)
complex temp*y=(*,*)
complex tempin=(*,*)
complex tempinx=(*,*)
complex tempiny=(*,*)
complex tempout=(*,*)
complex tempoutx=(*,*)
complex tempouty=(*,*)
complex x=real(#pixel)
complex y=imag(#pixel)
complex xnew=(*,*)
complex ynew=(*,*)
complex z=#pixel
int iterm=*
int jterm=*
int parity=*
loop:
;
; basic controls
;
if(@control_type=="basic")
;
; choose what inner variable to use
;
tempinx=y
tempiny=x
;
; compute the inner Fourier series
;
tempx=*
tempy=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
tempx=tempx+@funcall(jterm)*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
tempx=tempx+@funcall(jterm)*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*cos(tempiny*jterm)/(jterm^@powerall)
endif
endwhile
;
; choose what outer variable to use
;
tempoutx=y
tempouty=x
;
; compute the outer Fourier series
;
temp*x=*
temp*y=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
endif
endwhile
xnew=x+@hall*temp*x
ynew=y+@hall*temp*y
x=xnew
y=ynew
z=x+flip(y)
;
; advanced controls
;
else
;
; x equation
;
; choose what inner variable to use
;
if(@vartypexin=="x")
tempin=x
elseif(@vartypexin=="y")
tempin=y
elseif(@vartypexin=="x+y")
tempin=x+y
elseif(@vartypexin=="y-x")
tempin=y-x
elseif(@vartypexin=="x*y")
tempin=x*y
elseif(@vartypexin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermxin)
iterm=iterm+*
if(@functypexin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin general")
jterm=iterm
temp=temp+@funcxin(jterm)*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos general")
jterm=iterm
temp=temp+@funcxin(jterm)*cos(tempin*jterm)/(jterm^@powerxin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypexout=="x")
tempout=x
elseif(@vartypexout=="y")
tempout=y
elseif(@vartypexout=="x+y")
tempout=x+y
elseif(@vartypexout=="y-x")
tempout=y-x
elseif(@vartypexout=="x*y")
tempout=x*y
elseif(@vartypexout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermxout)
iterm=iterm+*
if(@functypexout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
endif
endwhile
xnew=x+@hx*temp*
;
; y equation
;
; choose what inner variable to use
;
if(@vartypeyin=="x")
tempin=x
elseif(@vartypeyin=="y")
tempin=y
elseif(@vartypeyin=="x+y")
tempin=x+y
elseif(@vartypeyin=="y-x")
tempin=y-x
elseif(@vartypeyin=="x*y")
tempin=x*y
elseif(@vartypeyin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermyin)
iterm=iterm+*
if(@functypeyin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin general")
jterm=iterm
temp=temp+@funcyin(jterm)*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos general")
jterm=iterm
temp=temp+@funcyin(jterm)*cos(tempin*jterm)/(jterm^@poweryin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypeyout=="x")
tempout=x
elseif(@vartypeyout=="y")
tempout=y
elseif(@vartypeyout=="x+y")
tempout=x+y
elseif(@vartypeyout=="y-x")
tempout=y-x
elseif(@vartypeyout=="x*y")
tempout=x*y
elseif(@vartypeyout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermyout)
iterm=iterm+*
if(@functypeyout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
endif
endwhile
ynew=y+@hy*temp*
x=xnew
y=ynew
z=x+flip(y)
endif
bailout:
|z|<@bailout
default:
title="Fourier Popcorn"
heading
text="Uses Cliff Pickover's Popcorn routine, substituting Fourier \
series for the sine and tangent functions."
endheading
;
; general parameters
;
heading
caption="General parameters"
endheading
param control_type
caption="control type"
default=*
enum="basic" "advanced"
endparam
float param bailout
caption="bailout value"
default=****
endparam
;
; basic parameters
;
heading
caption="Fourier series parameters"
visible=(@control_type=="basic")
endheading
complex param hall
caption="step size"
default=*.*
visible=(@control_type=="basic")
endparam
param functypeall
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="basic")
endparam
complex param powerall
caption="power"
default=*
visible=(@control_type=="basic")
endparam
int param ntermall
caption="# terms"
default=**
min=*
visible=(@control_type=="basic")
endparam
complex param slopeall
caption="slope"
default=*
visible=(@control_type=="basic")
endparam
func funcall
caption="function"
default=tan()
visible=((@control_type=="basic")&&((@functypeall=="sin general")\
||(@functypeall=="cos general")))
endfunc
;
; advanced parameters
;
; x inner parameters
;
heading
caption="x inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hx
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypexin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcxin
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexin=="sin general")\
||(@functypexin=="cos general")))
endfunc
;
; x outer parameters
;
heading
caption="x outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypexout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopexout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcxout
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexout=="sin general")\
||(@functypexout=="cos general")))
endfunc
;
; y inner parameters
;
heading
caption="y inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hy
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypeyin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcyin
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyin=="sin general")\
||(@functypeyin=="cos general")))
endfunc
;
; y outer parameters
;
heading
caption="y outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypeyout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopeyout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcyout
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyout=="sin general")\
||(@functypeyout=="cos general")))
endfunc
}
Fractal 102 B - L’Origine du Monde - Part of LIFE series - 12.2022
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=** visible=no mergemode=lighten
mapping:
center=-*.**************/*.************ magn=*.******* angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-barnsleyish-j" p_c=*/*.**
p_threshold=* p_bailout=*.* f_fn*=cos
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=****** index=** color=******* index=** color=******** index=**
color=******* index=** color=****** index=** color=******* index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=** color=******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=-*** color=******** index=-** color=******* index=-**
color=******** index=-** color=******** index=-** color=******
index=-** color=******* index=-** color=******** index=-**
color=******* index=-** color=******** index=-** color=********
index=-** color=******** index=-** color=******* index=-**
color=******* index=-** color=******* index=-** color=*******
index=-** color=******* index=-* color=******* index=-*
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-**.*********/**.********* magn=*.******** angle=*.****
formula:
maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.***/*
p_functypeall="sin general" p_powerall=*/* p_ntermall=**
p_slopeall=*/* f_funcall=tanh p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
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=***
mapping:
center=-**.**********/**.********* magn=*.******** angle=***
formula:
maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.***/*
p_functypeall="sin general" p_powerall=*/* p_ntermall=**
p_slopeall=*/* f_funcall=tanh p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=******* index=*** color=***
index=-*** color=******* index=-** color=********
opacity:
smooth=no index=* opacity=***
}mt-barnsleyish-j { ; Mark Townsend, ** May ****
init:
z = #pixel
loop:
if real(z) >= @threshold
z = @fn*(z + *) * -@c
else
z = @fn*(z - *) * @c
endif
bailout:
|z| < @bailout
default:
title = "Barnsleyish Julia"
param c
caption = "Julia Seed"
default = (*.*, *.**)
endparam
param threshold
caption = "Threshold"
default = *.*
endparam
param bailout
caption = "Bailout Value"
default = *.*
endparam
func fn*
caption = "Function"
default = cos()
endfunc
switch:
type = "mt-barnsleyish-m"
bailout = bailout
threshold = threshold
fn* = fn*
}fourier-popcorn { ; Kerry Mitchell **May****
;
; This is a complex-valued implementation and generalization
; of Cliff Pickover's "popcorn" algorithm. His method iterates
; * real variables like this:
;
; xnew = xold - h * sin(a*y + tan(b*y))
; ynew = yold - h * sin(a*x + tan(b*x))
;
; where a = *. The current method generalizes the above by:
; using truncated Fourier series instead of just single sin or tan function
; allowing for complex values of a (slope)
; having the same Fourier series parameters (basic controls) or
; having different parameters for the * series (x inner, x outer,
; y inner, and y outer)
;
init:
complex temp=(*,*)
complex tempx=(*,*)
complex tempy=(*,*)
complex temp*=(*,*)
complex temp*x=(*,*)
complex temp*y=(*,*)
complex tempin=(*,*)
complex tempinx=(*,*)
complex tempiny=(*,*)
complex tempout=(*,*)
complex tempoutx=(*,*)
complex tempouty=(*,*)
complex x=real(#pixel)
complex y=imag(#pixel)
complex xnew=(*,*)
complex ynew=(*,*)
complex z=#pixel
int iterm=*
int jterm=*
int parity=*
loop:
;
; basic controls
;
if(@control_type=="basic")
;
; choose what inner variable to use
;
tempinx=y
tempiny=x
;
; compute the inner Fourier series
;
tempx=*
tempy=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
tempx=tempx+@funcall(jterm)*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
tempx=tempx+@funcall(jterm)*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*cos(tempiny*jterm)/(jterm^@powerall)
endif
endwhile
;
; choose what outer variable to use
;
tempoutx=y
tempouty=x
;
; compute the outer Fourier series
;
temp*x=*
temp*y=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
endif
endwhile
xnew=x+@hall*temp*x
ynew=y+@hall*temp*y
x=xnew
y=ynew
z=x+flip(y)
;
; advanced controls
;
else
;
; x equation
;
; choose what inner variable to use
;
if(@vartypexin=="x")
tempin=x
elseif(@vartypexin=="y")
tempin=y
elseif(@vartypexin=="x+y")
tempin=x+y
elseif(@vartypexin=="y-x")
tempin=y-x
elseif(@vartypexin=="x*y")
tempin=x*y
elseif(@vartypexin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermxin)
iterm=iterm+*
if(@functypexin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin general")
jterm=iterm
temp=temp+@funcxin(jterm)*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos general")
jterm=iterm
temp=temp+@funcxin(jterm)*cos(tempin*jterm)/(jterm^@powerxin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypexout=="x")
tempout=x
elseif(@vartypexout=="y")
tempout=y
elseif(@vartypexout=="x+y")
tempout=x+y
elseif(@vartypexout=="y-x")
tempout=y-x
elseif(@vartypexout=="x*y")
tempout=x*y
elseif(@vartypexout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermxout)
iterm=iterm+*
if(@functypexout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
endif
endwhile
xnew=x+@hx*temp*
;
; y equation
;
; choose what inner variable to use
;
if(@vartypeyin=="x")
tempin=x
elseif(@vartypeyin=="y")
tempin=y
elseif(@vartypeyin=="x+y")
tempin=x+y
elseif(@vartypeyin=="y-x")
tempin=y-x
elseif(@vartypeyin=="x*y")
tempin=x*y
elseif(@vartypeyin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermyin)
iterm=iterm+*
if(@functypeyin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin general")
jterm=iterm
temp=temp+@funcyin(jterm)*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos general")
jterm=iterm
temp=temp+@funcyin(jterm)*cos(tempin*jterm)/(jterm^@poweryin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypeyout=="x")
tempout=x
elseif(@vartypeyout=="y")
tempout=y
elseif(@vartypeyout=="x+y")
tempout=x+y
elseif(@vartypeyout=="y-x")
tempout=y-x
elseif(@vartypeyout=="x*y")
tempout=x*y
elseif(@vartypeyout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermyout)
iterm=iterm+*
if(@functypeyout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
endif
endwhile
ynew=y+@hy*temp*
x=xnew
y=ynew
z=x+flip(y)
endif
bailout:
|z|<@bailout
default:
title="Fourier Popcorn"
heading
text="Uses Cliff Pickover's Popcorn routine, substituting Fourier \
series for the sine and tangent functions."
endheading
;
; general parameters
;
heading
caption="General parameters"
endheading
param control_type
caption="control type"
default=*
enum="basic" "advanced"
endparam
float param bailout
caption="bailout value"
default=****
endparam
;
; basic parameters
;
heading
caption="Fourier series parameters"
visible=(@control_type=="basic")
endheading
complex param hall
caption="step size"
default=*.*
visible=(@control_type=="basic")
endparam
param functypeall
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="basic")
endparam
complex param powerall
caption="power"
default=*
visible=(@control_type=="basic")
endparam
int param ntermall
caption="# terms"
default=**
min=*
visible=(@control_type=="basic")
endparam
complex param slopeall
caption="slope"
default=*
visible=(@control_type=="basic")
endparam
func funcall
caption="function"
default=tan()
visible=((@control_type=="basic")&&((@functypeall=="sin general")\
||(@functypeall=="cos general")))
endfunc
;
; advanced parameters
;
; x inner parameters
;
heading
caption="x inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hx
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypexin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcxin
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexin=="sin general")\
||(@functypexin=="cos general")))
endfunc
;
; x outer parameters
;
heading
caption="x outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypexout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopexout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcxout
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexout=="sin general")\
||(@functypexout=="cos general")))
endfunc
;
; y inner parameters
;
heading
caption="y inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hy
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypeyin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcyin
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyin=="sin general")\
||(@functypeyin=="cos general")))
endfunc
;
; y outer parameters
;
heading
caption="y outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypeyout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopeyout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcyout
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyout=="sin general")\
||(@functypeyout=="cos general")))
endfunc
}
Fractal 101 C - Angel Holding Darkness - Part of BEYOND series - 12.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=** mergemode=addition
mapping:
center=-*.*********/-**.********* magn=*.********
formula:
maxiter=*** filename="mt.ufm" entry="mt-bifunctional-m" p_n=*
p_bailout=**** f_fn*=tan f_fn*=exp
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=******** index=** color=*******
index=** color=******** index=** color=****** index=** color=*
index=** color=******** index=** color=* index=** color=********
index=** color=* index=** color=******** index=** color=* index=**
color=******** index=** color=* index=** color=******** index=**
color=* index=** color=******** index=** color=* index=**
color=******** index=** color=* index=** color=******** index=**
color=* index=** color=******** index=** color=* index=**
color=******** index=** color=* index=** color=******** index=**
color=* index=** color=******** index=** color=* index=**
color=******** index=** color=* index=** color=******* index=**
color=* index=** color=******* index=** color=* index=** color=*****
index=** color=* index=** color=******* index=** color=* index=**
color=******* index=** color=* index=** color=******* index=**
color=* index=*** color=******* index=*** color=* index=***
color=******** index=*** color=* index=*** color=******* index=***
color=* index=*** color=******** index=*** color=* index=***
color=******* index=*** color=* index=*** color=******* index=***
color=* index=*** color=******** index=*** color=* index=***
color=******* index=*** color=* index=*** color=******* index=***
color=* index=*** color=******* index=*** color=* index=***
color=******* index=*** color=* index=*** color=******* index=***
color=* index=*** color=******** index=*** color=* index=***
color=******** index=*** color=* index=*** color=******* index=***
color=* index=*** color=******* index=*** color=* index=***
color=******* index=*** color=* index=*** color=******** index=***
color=* index=*** color=******* index=*** color=* index=***
color=******* index=*** color=* index=*** color=****** index=***
color=* index=*** color=****** index=*** color=* index=***
color=******* index=*** color=* index=*** color=******* index=***
color=* index=*** color=******* index=*** color=* index=***
color=******* index=*** color=* index=*** color=******* index=***
color=* index=*** color=******* index=*** color=* index=***
color=******* index=*** color=* index=*** color=******* index=***
color=* index=*** color=******* index=*** color=* index=***
color=****** index=*** color=* index=*** color=******* index=***
color=* index=*** color=******* index=-*** color=* index=-***
color=******* index=-*** color=* index=-*** color=******* index=-***
color=* index=-*** color=******* index=-*** color=* index=-***
color=******* index=-*** color=* index=-*** color=******* index=-***
color=* index=-*** color=******* index=-*** color=* index=-***
color=****** index=-*** color=* index=-*** color=******* index=-***
color=* index=-*** color=******* index=-*** color=* index=-***
color=******* index=-*** color=* index=-*** color=******* index=-***
color=* index=-*** color=******* index=-*** color=* index=-***
color=******* index=-*** color=* index=-*** color=******* index=-***
color=* index=-*** color=******* index=-*** color=* index=-***
color=******* index=-*** color=* index=-*** color=******* index=-**
color=* index=-** color=******* index=-** color=* index=-**
color=******* index=-** color=* index=-** color=******* index=-**
color=* index=-** color=******* index=-** color=* index=-**
color=******* index=-** color=* index=-** color=******* index=-**
color=* index=-** color=******* index=-** color=* index=-**
color=******** index=-** color=* index=-** color=******* index=-**
color=* index=-** color=******* index=-** color=* index=-**
color=******* index=-** color=* index=-** color=******* index=-**
color=* index=-** color=******* index=-** color=* index=-**
color=******** index=-** color=* index=-** color=******* index=-**
color=* index=-** color=******** index=-** color=* index=-**
color=******* index=-** color=* index=-** color=******* index=-**
color=* index=-** color=******* index=-** color=* index=-** color=*
index=-** color=* index=-** color=******* index=-** color=*
index=-** color=******* index=-* color=* index=-* color=*******
index=-* color=* index=-* color=******* index=-* color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=*.***********/-*.*********** magn=**.****** angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
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=******* index=***
color=******** index=*** color=******* index=-** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=subtraction
mapping:
center=*.************/-*.************ magn=*.******* angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
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=* index=*** color=* index=*** color=* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=addition
mapping:
center=*.***********/-*.************ magn=*.******* angle=**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
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=* index=*** color=* index=*** color=* index=-**
color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=*.*************/*.************** magn=***.***** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=***
mapping:
center=**.*******/-**.******** magn=*.******** angle=***.****
formula:
maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn"
p_control_type=basic p_bailout=**** p_hall=*.*/*
p_functypeall="sin general" p_powerall=*/* p_ntermall=**
p_slopeall=*/* f_funcall=tanh p_hx=*.*/* p_vartypexin=y
p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=**
f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos"
p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos
p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/*
p_ntermyin=** f_funcyin=sin p_vartypeyout=x
p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=**
p_slopeyout=*/* f_funcyout=sin
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=********
opacity:
smooth=no index=* opacity=***
}mt-bifunctional-m { ; Mark Townsend, ** Jun ****
init:
z = *
c = #pixel
float x = *
float y = *
loop:
x = real(z)
y = imag(z)
z = @fn*(x) + flip(@fn*(y))
z = z^@n + c
bailout:
|z| < @bailout
default:
title = "Bifunctional Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "Real function"
default = sinh()
endfunc
func fn*
caption = "Imaginary function"
default = ident()
endfunc
switch:
type = "mt-bifunctional-j"
bailout = bailout
c = #pixel
fn* = fn*
fn* = fn*
n = n
}mt-******b-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(-c*z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}fourier-popcorn { ; Kerry Mitchell **May****
;
; This is a complex-valued implementation and generalization
; of Cliff Pickover's "popcorn" algorithm. His method iterates
; * real variables like this:
;
; xnew = xold - h * sin(a*y + tan(b*y))
; ynew = yold - h * sin(a*x + tan(b*x))
;
; where a = *. The current method generalizes the above by:
; using truncated Fourier series instead of just single sin or tan function
; allowing for complex values of a (slope)
; having the same Fourier series parameters (basic controls) or
; having different parameters for the * series (x inner, x outer,
; y inner, and y outer)
;
init:
complex temp=(*,*)
complex tempx=(*,*)
complex tempy=(*,*)
complex temp*=(*,*)
complex temp*x=(*,*)
complex temp*y=(*,*)
complex tempin=(*,*)
complex tempinx=(*,*)
complex tempiny=(*,*)
complex tempout=(*,*)
complex tempoutx=(*,*)
complex tempouty=(*,*)
complex x=real(#pixel)
complex y=imag(#pixel)
complex xnew=(*,*)
complex ynew=(*,*)
complex z=#pixel
int iterm=*
int jterm=*
int parity=*
loop:
;
; basic controls
;
if(@control_type=="basic")
;
; choose what inner variable to use
;
tempinx=y
tempiny=x
;
; compute the inner Fourier series
;
tempx=*
tempy=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
tempx=tempx+@funcall(jterm)*sin(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*sin(tempiny*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
tempx=tempx+@funcall(jterm)*cos(tempinx*jterm)/(jterm^@powerall)
tempy=tempy+@funcall(jterm)*cos(tempiny*jterm)/(jterm^@powerall)
endif
endwhile
;
; choose what outer variable to use
;
tempoutx=y
tempouty=x
;
; compute the outer Fourier series
;
temp*x=*
temp*y=*
iterm=*
while(iterm<@ntermall)
iterm=iterm+*
if(@functypeall=="sin odd pos")
jterm=**iterm-*
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd pos")
jterm=**iterm-*
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all pos")
jterm=iterm
temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all pos")
jterm=iterm
temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="sin general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
elseif(@functypeall=="cos general")
jterm=iterm
temp*x=temp*x+@funcall(jterm)*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall)
temp*y=temp*y+@funcall(jterm)*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall)
endif
endwhile
xnew=x+@hall*temp*x
ynew=y+@hall*temp*y
x=xnew
y=ynew
z=x+flip(y)
;
; advanced controls
;
else
;
; x equation
;
; choose what inner variable to use
;
if(@vartypexin=="x")
tempin=x
elseif(@vartypexin=="y")
tempin=y
elseif(@vartypexin=="x+y")
tempin=x+y
elseif(@vartypexin=="y-x")
tempin=y-x
elseif(@vartypexin=="x*y")
tempin=x*y
elseif(@vartypexin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermxin)
iterm=iterm+*
if(@functypexin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="sin general")
jterm=iterm
temp=temp+@funcxin(jterm)*sin(tempin*jterm)/(jterm^@powerxin)
elseif(@functypexin=="cos general")
jterm=iterm
temp=temp+@funcxin(jterm)*cos(tempin*jterm)/(jterm^@powerxin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypexout=="x")
tempout=x
elseif(@vartypexout=="y")
tempout=y
elseif(@vartypexout=="x+y")
tempout=x+y
elseif(@vartypexout=="y-x")
tempout=y-x
elseif(@vartypexout=="x*y")
tempout=x*y
elseif(@vartypexout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermxout)
iterm=iterm+*
if(@functypexout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="sin general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
elseif(@functypexout=="cos general")
jterm=iterm
temp*=temp*+@funcxout(jterm)*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout)
endif
endwhile
xnew=x+@hx*temp*
;
; y equation
;
; choose what inner variable to use
;
if(@vartypeyin=="x")
tempin=x
elseif(@vartypeyin=="y")
tempin=y
elseif(@vartypeyin=="x+y")
tempin=x+y
elseif(@vartypeyin=="y-x")
tempin=y-x
elseif(@vartypeyin=="x*y")
tempin=x*y
elseif(@vartypeyin=="y/x")
tempin=y/x
endif
;
; compute the inner Fourier series
;
temp=*
iterm=*
while(iterm<@ntermyin)
iterm=iterm+*
if(@functypeyin=="sin odd pos")
jterm=**iterm-*
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd pos")
jterm=**iterm-*
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all pos")
jterm=iterm
temp=temp+sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all pos")
jterm=iterm
temp=temp+cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="sin general")
jterm=iterm
temp=temp+@funcyin(jterm)*sin(tempin*jterm)/(jterm^@poweryin)
elseif(@functypeyin=="cos general")
jterm=iterm
temp=temp+@funcyin(jterm)*cos(tempin*jterm)/(jterm^@poweryin)
endif
endwhile
;
; choose what outer variable to use
;
if(@vartypeyout=="x")
tempout=x
elseif(@vartypeyout=="y")
tempout=y
elseif(@vartypeyout=="x+y")
tempout=x+y
elseif(@vartypeyout=="y-x")
tempout=y-x
elseif(@vartypeyout=="x*y")
tempout=x*y
elseif(@vartypeyout=="y/x")
tempout=y/x
endif
;
; compute the outer Fourier series
;
temp*=*
iterm=*
while(iterm<@ntermyout)
iterm=iterm+*
if(@functypeyout=="sin odd pos")
jterm=**iterm-*
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd pos")
jterm=**iterm-*
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all pos")
jterm=iterm
temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all pos")
jterm=iterm
temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos odd alt")
jterm=**iterm-*
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos all alt")
jterm=iterm
parity=(iterm%*)**-*
temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="sin general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
elseif(@functypeyout=="cos general")
jterm=iterm
temp*=temp*+@funcyout(jterm)*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout)
endif
endwhile
ynew=y+@hy*temp*
x=xnew
y=ynew
z=x+flip(y)
endif
bailout:
|z|<@bailout
default:
title="Fourier Popcorn"
heading
text="Uses Cliff Pickover's Popcorn routine, substituting Fourier \
series for the sine and tangent functions."
endheading
;
; general parameters
;
heading
caption="General parameters"
endheading
param control_type
caption="control type"
default=*
enum="basic" "advanced"
endparam
float param bailout
caption="bailout value"
default=****
endparam
;
; basic parameters
;
heading
caption="Fourier series parameters"
visible=(@control_type=="basic")
endheading
complex param hall
caption="step size"
default=*.*
visible=(@control_type=="basic")
endparam
param functypeall
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="basic")
endparam
complex param powerall
caption="power"
default=*
visible=(@control_type=="basic")
endparam
int param ntermall
caption="# terms"
default=**
min=*
visible=(@control_type=="basic")
endparam
complex param slopeall
caption="slope"
default=*
visible=(@control_type=="basic")
endparam
func funcall
caption="function"
default=tan()
visible=((@control_type=="basic")&&((@functypeall=="sin general")\
||(@functypeall=="cos general")))
endfunc
;
; advanced parameters
;
; x inner parameters
;
heading
caption="x inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hx
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypexin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcxin
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexin=="sin general")\
||(@functypexin=="cos general")))
endfunc
;
; x outer parameters
;
heading
caption="x outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypexout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypexout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param powerxout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermxout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopexout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcxout
caption="function"
default=cos()
visible=((@control_type=="advanced")&&((@functypexout=="sin general")\
||(@functypexout=="cos general")))
endfunc
;
; y inner parameters
;
heading
caption="y inner parameters"
visible=(@control_type=="advanced")
endheading
complex param hy
caption="step size"
default=*.*
visible=(@control_type=="advanced")
endparam
param vartypeyin
caption="inner variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyin
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryin
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyin
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
func funcyin
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyin=="sin general")\
||(@functypeyin=="cos general")))
endfunc
;
; y outer parameters
;
heading
caption="y outer parameters"
visible=(@control_type=="advanced")
endheading
param vartypeyout
caption="outer variable type"
default=*
enum="x" "y" "x+y" "y-x" "x*y" "y/x"
visible=(@control_type=="advanced")
endparam
param functypeyout
caption="function type"
default=*
enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \
"sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \
"sin general" "cos general"
visible=(@control_type=="advanced")
endparam
complex param poweryout
caption="power"
default=*
visible=(@control_type=="advanced")
endparam
int param ntermyout
caption="# terms"
default=**
min=*
visible=(@control_type=="advanced")
endparam
complex param slopeyout
caption="slope"
default=*
visible=(@control_type=="advanced")
endparam
func funcyout
caption="function"
default=sin()
visible=((@control_type=="advanced")&&((@functypeyout=="sin general")\
||(@functypeyout=="cos general")))
endfunc
}
Fractal 100 I - Chip - Part of ENCOUNTER series - 12.2022
Fractal_***_I { fractal: title="Fractal_***_I" width=**** height=**** layers=* credits="Philoxerax;**/**/****" layer: caption="Background" opacity=*** mergemode=screen mapping: center=*/* magn=*.********* formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/*.* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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="L*" opacity=*** mergemode=screen transparent=yes mapping: center=*/* magn=*.********* angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******* index=-* color=******** index=-* color=******** opacity: smooth=no index=* opacity=*** layer: caption="L*" opacity=** mergemode=hardlight mapping: center=*/* magn=*.** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin general" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes rotation=-** index=** color=******** index=*** color=******** index=*** color=******* index=*** color=*** index=-** color=******* opacity: smooth=no layer: caption="L*" opacity=*** mergemode=darken transparent=yes mapping: center=-*.********/*.******** magn=*.********* formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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="L*" opacity=*** transparent=yes mapping: center=*/* magn=*.********* formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******* index=-* color=******** index=-* color=******** opacity: smooth=no index=* opacity=*** layer: caption="L*" opacity=*** mapping: center=*/* magn=*.********* angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=*** p_hall=*.*/* p_functypeall="sin odd pos" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes rotation=-** index=* color=******** index=*** color=***** index=*** color=*** index=-** color=******* opacity: smooth=no index=* opacity=*** } fourier-popcorn { ; Kerry Mitchell **May**** ; ; This is a complex-valued implementation and generalization ; of Cliff Pickover's "popcorn" algorithm. His method iterates ; * real variables like this: ; ; xnew = xold - h * sin(a*y + tan(b*y)) ; ynew = yold - h * sin(a*x + tan(b*x)) ; ; where a = *. The current method generalizes the above by: ; using truncated Fourier series instead of just single sin or tan function ; allowing for complex values of a (slope) ; having the same Fourier series parameters (basic controls) or ; having different parameters for the * series (x inner, x outer, ; y inner, and y outer) ; init: complex temp=(*,*) complex tempx=(*,*) complex tempy=(*,*) complex temp*=(*,*) complex temp*x=(*,*) complex temp*y=(*,*) complex tempin=(*,*) complex tempinx=(*,*) complex tempiny=(*,*) complex tempout=(*,*) complex tempoutx=(*,*) complex tempouty=(*,*) complex x=real(#pixel) complex y=imag(#pixel) complex xnew=(*,*) complex ynew=(*,*) complex z=#pixel int iterm=* int jterm=* int parity=* loop: ; ; basic controls ; if(@control_type=="basic") ; ; choose what inner variable to use ; tempinx=y tempiny=x ; ; compute the inner Fourier series ; tempx=* tempy=* iterm=* while(iterm<@ntermall) iterm=iterm+* if(@functypeall=="sin odd pos") jterm=**iterm-* tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd pos") jterm=**iterm-* tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all pos") jterm=iterm tempx=tempx+sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all pos") jterm=iterm tempx=tempx+cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all alt") jterm=iterm parity=(iterm%*)**-* tempx=tempx+parity*sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all alt") jterm=iterm parity=(iterm%*)**-* tempx=tempx+parity*cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+parity*cos(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="sin general") jterm=iterm tempx=tempx+@funcall(jterm)*sin(tempinx*jterm)/(jterm^@powerall) tempy=tempy+@funcall(jterm)*sin(tempiny*jterm)/(jterm^@powerall) elseif(@functypeall=="cos general") jterm=iterm tempx=tempx+@funcall(jterm)*cos(tempinx*jterm)/(jterm^@powerall) tempy=tempy+@funcall(jterm)*cos(tempiny*jterm)/(jterm^@powerall) endif endwhile ; ; choose what outer variable to use ; tempoutx=y tempouty=x ; ; compute the outer Fourier series ; temp*x=* temp*y=* iterm=* while(iterm<@ntermall) iterm=iterm+* if(@functypeall=="sin odd pos") jterm=**iterm-* temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd pos") jterm=**iterm-* temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all pos") jterm=iterm temp*x=temp*x+sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all pos") jterm=iterm temp*x=temp*x+cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp*x=temp*x+parity*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp*x=temp*x+parity*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+parity*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="sin general") jterm=iterm temp*x=temp*x+@funcall(jterm)*sin((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+@funcall(jterm)*sin((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) elseif(@functypeall=="cos general") jterm=iterm temp*x=temp*x+@funcall(jterm)*cos((@slopeall*tempoutx+tempx)*jterm)/(jterm^@powerall) temp*y=temp*y+@funcall(jterm)*cos((@slopeall*tempouty+tempy)*jterm)/(jterm^@powerall) endif endwhile xnew=x+@hall*temp*x ynew=y+@hall*temp*y x=xnew y=ynew z=x+flip(y) ; ; advanced controls ; else ; ; x equation ; ; choose what inner variable to use ; if(@vartypexin=="x") tempin=x elseif(@vartypexin=="y") tempin=y elseif(@vartypexin=="x+y") tempin=x+y elseif(@vartypexin=="y-x") tempin=y-x elseif(@vartypexin=="x*y") tempin=x*y elseif(@vartypexin=="y/x") tempin=y/x endif ; ; compute the inner Fourier series ; temp=* iterm=* while(iterm<@ntermxin) iterm=iterm+* if(@functypexin=="sin odd pos") jterm=**iterm-* temp=temp+sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos odd pos") jterm=**iterm-* temp=temp+cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin all pos") jterm=iterm temp=temp+sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos all pos") jterm=iterm temp=temp+cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="sin general") jterm=iterm temp=temp+@funcxin(jterm)*sin(tempin*jterm)/(jterm^@powerxin) elseif(@functypexin=="cos general") jterm=iterm temp=temp+@funcxin(jterm)*cos(tempin*jterm)/(jterm^@powerxin) endif endwhile ; ; choose what outer variable to use ; if(@vartypexout=="x") tempout=x elseif(@vartypexout=="y") tempout=y elseif(@vartypexout=="x+y") tempout=x+y elseif(@vartypexout=="y-x") tempout=y-x elseif(@vartypexout=="x*y") tempout=x*y elseif(@vartypexout=="y/x") tempout=y/x endif ; ; compute the outer Fourier series ; temp*=* iterm=* while(iterm<@ntermxout) iterm=iterm+* if(@functypexout=="sin odd pos") jterm=**iterm-* temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos odd pos") jterm=**iterm-* temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin all pos") jterm=iterm temp*=temp*+sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos all pos") jterm=iterm temp*=temp*+cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="sin general") jterm=iterm temp*=temp*+@funcxout(jterm)*sin((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) elseif(@functypexout=="cos general") jterm=iterm temp*=temp*+@funcxout(jterm)*cos((@slopexout*tempout+temp)*jterm)/(jterm^@powerxout) endif endwhile xnew=x+@hx*temp* ; ; y equation ; ; choose what inner variable to use ; if(@vartypeyin=="x") tempin=x elseif(@vartypeyin=="y") tempin=y elseif(@vartypeyin=="x+y") tempin=x+y elseif(@vartypeyin=="y-x") tempin=y-x elseif(@vartypeyin=="x*y") tempin=x*y elseif(@vartypeyin=="y/x") tempin=y/x endif ; ; compute the inner Fourier series ; temp=* iterm=* while(iterm<@ntermyin) iterm=iterm+* if(@functypeyin=="sin odd pos") jterm=**iterm-* temp=temp+sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos odd pos") jterm=**iterm-* temp=temp+cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin all pos") jterm=iterm temp=temp+sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos all pos") jterm=iterm temp=temp+cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp=temp+parity*cos(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="sin general") jterm=iterm temp=temp+@funcyin(jterm)*sin(tempin*jterm)/(jterm^@poweryin) elseif(@functypeyin=="cos general") jterm=iterm temp=temp+@funcyin(jterm)*cos(tempin*jterm)/(jterm^@poweryin) endif endwhile ; ; choose what outer variable to use ; if(@vartypeyout=="x") tempout=x elseif(@vartypeyout=="y") tempout=y elseif(@vartypeyout=="x+y") tempout=x+y elseif(@vartypeyout=="y-x") tempout=y-x elseif(@vartypeyout=="x*y") tempout=x*y elseif(@vartypeyout=="y/x") tempout=y/x endif ; ; compute the outer Fourier series ; temp*=* iterm=* while(iterm<@ntermyout) iterm=iterm+* if(@functypeyout=="sin odd pos") jterm=**iterm-* temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos odd pos") jterm=**iterm-* temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin all pos") jterm=iterm temp*=temp*+sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos all pos") jterm=iterm temp*=temp*+cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos odd alt") jterm=**iterm-* parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos all alt") jterm=iterm parity=(iterm%*)**-* temp*=temp*+parity*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="sin general") jterm=iterm temp*=temp*+@funcyout(jterm)*sin((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) elseif(@functypeyout=="cos general") jterm=iterm temp*=temp*+@funcyout(jterm)*cos((@slopeyout*tempout+temp)*jterm)/(jterm^@poweryout) endif endwhile ynew=y+@hy*temp* x=xnew y=ynew z=x+flip(y) endif bailout: |z|<@bailout default: title="Fourier Popcorn" heading text="Uses Cliff Pickover's Popcorn routine, substituting Fourier \ series for the sine and tangent functions." endheading ; ; general parameters ; heading caption="General parameters" endheading param control_type caption="control type" default=* enum="basic" "advanced" endparam float param bailout caption="bailout value" default=**** endparam ; ; basic parameters ; heading caption="Fourier series parameters" visible=(@control_type=="basic") endheading complex param hall caption="step size" default=*.* visible=(@control_type=="basic") endparam param functypeall caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="basic") endparam complex param powerall caption="power" default=* visible=(@control_type=="basic") endparam int param ntermall caption="# terms" default=** min=* visible=(@control_type=="basic") endparam complex param slopeall caption="slope" default=* visible=(@control_type=="basic") endparam func funcall caption="function" default=tan() visible=((@control_type=="basic")&&((@functypeall=="sin general")\ ||(@functypeall=="cos general"))) endfunc ; ; advanced parameters ; ; x inner parameters ; heading caption="x inner parameters" visible=(@control_type=="advanced") endheading complex param hx caption="step size" default=*.* visible=(@control_type=="advanced") endparam param vartypexin caption="inner variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypexin caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param powerxin caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermxin caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam func funcxin caption="function" default=cos() visible=((@control_type=="advanced")&&((@functypexin=="sin general")\ ||(@functypexin=="cos general"))) endfunc ; ; x outer parameters ; heading caption="x outer parameters" visible=(@control_type=="advanced") endheading param vartypexout caption="outer variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypexout caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param powerxout caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermxout caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam complex param slopexout caption="slope" default=* visible=(@control_type=="advanced") endparam func funcxout caption="function" default=cos() visible=((@control_type=="advanced")&&((@functypexout=="sin general")\ ||(@functypexout=="cos general"))) endfunc ; ; y inner parameters ; heading caption="y inner parameters" visible=(@control_type=="advanced") endheading complex param hy caption="step size" default=*.* visible=(@control_type=="advanced") endparam param vartypeyin caption="inner variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypeyin caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param poweryin caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermyin caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam func funcyin caption="function" default=sin() visible=((@control_type=="advanced")&&((@functypeyin=="sin general")\ ||(@functypeyin=="cos general"))) endfunc ; ; y outer parameters ; heading caption="y outer parameters" visible=(@control_type=="advanced") endheading param vartypeyout caption="outer variable type" default=* enum="x" "y" "x+y" "y-x" "x*y" "y/x" visible=(@control_type=="advanced") endparam param functypeyout caption="function type" default=* enum="sin odd pos" "cos odd pos" "sin all pos" "cos all pos" \ "sin odd alt" "cos odd alt" "sin all alt" "cos all alt" \ "sin general" "cos general" visible=(@control_type=="advanced") endparam complex param poweryout caption="power" default=* visible=(@control_type=="advanced") endparam int param ntermyout caption="# terms" default=** min=* visible=(@control_type=="advanced") endparam complex param slopeyout caption="slope" default=* visible=(@control_type=="advanced") endparam func funcyout caption="function" default=sin() visible=((@control_type=="advanced")&&((@functypeyout=="sin general")\ ||(@functypeyout=="cos general"))) endfunc }
Fractal 100 E - Chip - Part of ENCOUNTER series - 11.2022
Fractal_***_E { fractal: title="Fractal_***_E" width=**** height=**** layers=* credits="Philoxerax;**/**/****" layer: caption="Background" opacity=*** mergemode=screen mapping: center=*/* magn=*.********* angle=***.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/*.**** p_functypeall="cos odd alt" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=****** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=lighten transparent=yes mapping: center=*/* magn=*.**** angle=-** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/*.*** p_functypeall="cos odd alt" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none solid=* outside: transfer=linear gradient: smooth=yes index=** color=******* index=** color=******* index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** transparent=yes mapping: center=*/* magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/*.**** p_functypeall="cos odd alt" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none solid=* outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mergemode=addition mapping: center=*.*********/*.********* magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="cos all alt" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=******* index=-** color=******** index=-** color=******** index=-** color=***** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=multiply mapping: center=-*.**/*.******** magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin all alt" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=*** mapping: center=*/* magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin all alt" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=** index=** color=******** index=*** color=******** index=*** color=*** index=*** color=******** opacity: smooth=no index=* opacity=*** } Fractal_***_E { fractal: title="Fractal_***_E" width=**** height=**** layers=* credits="Philoxerax;**/**/****" layer: caption="Background" opacity=*** mergemode=screen mapping: center=*/* magn=*.********* angle=***.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/*.**** p_functypeall="cos odd alt" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=****** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=lighten transparent=yes mapping: center=*/* magn=*.**** angle=-** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/*.*** p_functypeall="cos odd alt" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none solid=* outside: transfer=linear gradient: smooth=yes index=** color=******* index=** color=******* index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** transparent=yes mapping: center=*/* magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/*.**** p_functypeall="cos odd alt" p_powerall=*/*.** p_ntermall=* p_slopeall=*/*.****** f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none solid=* outside: transfer=linear gradient: smooth=yes index=** color=******* index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mergemode=addition mapping: center=*.*********/*.********* magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="cos all alt" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=******* index=-** color=******** index=-** color=******** index=-** color=***** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=multiply mapping: center=-*.**/*.******** magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin all alt" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin 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=*** mapping: center=*/* magn=*.** angle=**.**** formula: maxiter=*** filename="lkm*.ufm" entry="fourier-popcorn" p_control_type=basic p_bailout=**** p_hall=*.*/* p_functypeall="sin all alt" p_powerall=*/* p_ntermall=** p_slopeall=*/* f_funcall=tan p_hx=*.*/* p_vartypexin=y p_functypexin="cos odd pos" p_powerxin=*/* p_ntermxin=** f_funcxin=cos p_vartypexout=y p_functypexout="cos odd pos" p_powerxout=*/* p_ntermxout=** p_slopexout=*/* f_funcxout=cos p_hy=*.*/* p_vartypeyin=x p_functypeyin="sin odd pos" p_poweryin=*/* p_ntermyin=** f_funcyin=sin p_vartypeyout=x p_functypeyout="sin odd pos" p_poweryout=*/* p_ntermyout=** p_slopeyout=*/* f_funcyout=sin inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=** index=** color=******** index=*** color=******** index=*** color=*** index=*** color=******** opacity: smooth=no index=* opacity=*** }
Fractal 099 A - Ego - Part of ENCOUNTER series - 11.2022
Fractal_***_A { fractal: title="Fractal_***_A" width=**** height=**** layers=* credits="Philoxerax;**/*/****" antialiasing=yes layer: caption="Background" opacity=*** mergemode=screen mapping: center=-*.***********/-*.*********** magn=**.****** angle=-**.**** formula: maxiter=*** percheck=off filename="lkm.ufm" entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****. p_rtype=magnitude p_rottype=none p_rotamount=**.* p_rotunit=degrees inside: transfer=none outside: transfer=linear gradient: comments="Default Ultra Fractal gradient." smooth=yes index=** color=******* index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=** mergemode=screen mapping: center=-*.**********/-**.********* magn=*.******* angle=-**.**** formula: maxiter=*** percheck=off filename="lkm.ufm" entry="embossed-explog-newton" p_bailout=****.* p_parttype=iteration p_numsect=* p_lightangle=*.* p_sizefac=*.* inside: transfer=none outside: transfer=linear gradient: comments="Default Ultra Fractal gradient." smooth=yes rotation=** index=** color=* index=*** color=******* index=*** color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=hardlight transparent=yes mapping: center=*.******************/*.****************** magn=******** angle=-***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-DNovaMandel" p_start=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=none solid=********** outside: transfer=sqr gradient: smooth=yes rotation=*** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=****** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=***** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=* index=*** color=******** index=*** color=****** index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** transparent=yes mapping: center=*.*****************/*.****************** magn=******** angle=-***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-DNovaMandel" p_start=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=none solid=********** outside: transfer=sqr gradient: smooth=yes rotation=** 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=*** } general-tent-mandelbrot { ; Kerry Mitchell **oct**** ; ; Variation on the standard tent map ; init: z=@manparam c=pixel float r=*.* if(@rotunit==*) ; radians r=@rotamount else ; degrees r=@rotamount*#pi/*** endif rot*=cos(r)+flip(sin(r)) rot=rot* temp=(*,*) loop: ; ; rotate the map ; if(@rottype==*) ; constant rotation temp=rot**z elseif(@rottype==*) ; progressive rotation rot=rot*rot* temp=rot*z elseif(@rottype==*) ; oscillating rotation rot=rot*/rot temp=rot*z else ; no rotation temp=z endif ; ; choose the map variable ; if(@rtype==*) ; real part r=real(temp) elseif(@rtype==*) ; imag part r=imag(temp) elseif(@rtype==*) ; real*imag r=imag(temp)*real(temp) elseif(@rtype==*) ; imag/real r=imag(temp)/real(temp) else ; magnitude r=cabs(temp) endif ; ; execute tent map ; if(r<=*.*) z=c*temp else z=c*(*-temp) endif bailout: |z|<@bailout default: title="General Tent Mandelbrot" helpfile="lkm-help\lkm-tent.html" maxiter=*** periodicity=* center=(*,*) magn=*.* angle=* param manparam caption="initial z" default=(*,*) hint="Use (*,*) for the standard map." endparam param bailout caption="bailout" default=****. endparam param rtype caption="r type" default=* enum="magnitude" "real part" "imag part" "real*imag" "imag/real" hint="Determines the r value used in the tent map." endparam param rottype caption="rotation type" default=* enum="none" "constant" "progressive" "oscillating" hint="In 'constant' mode, the same angle is used every iteration. \ In 'progressive' mode, the angle is increased by the amount every \ iteration. In 'oscillating' mode, the map is rotated forward, then \ back, then forward, etc." endparam param rotamount caption="rotation amount" default=**.* hint="How much the map is rotated." endparam param rotunit caption="rotation units" default=* enum="degrees" "radians" hint="Units in which the rotation is expressed." endparam switch: type="general-tent-julia" julparam=#pixel bailout=bailout rtype=rtype rottype=rottype rotamount=rotamount rotunit=rotunit } embossed-explog-newton { ; Kerry Mitchell **sep** ; ; Newton's method for exp(z)=log(z). ; See comment block for more information ; about embossing effect. ; ; updates: ; **nov** to add more embossing types ; **dec** to add "angle" embossing type ; init: float theta=@lightangle*pi/***.* float size=@sizefac**.****/#magn dr=size*(cos(theta)+flip(sin(theta))) z*=#pixel-dr z*=#pixel+dr int iter*=* int iter*=* int iter=* float r=*.* float t=*.* float rmin=*e** float part*=*.* float part*=*.* loop: iter=iter+* if(iter*==*) fp=exp(z*) f=fp-log(z*) fp=fp-*/z* dz=f/fp z*=z*-dz dz=*.*/dz if(|dz|>@bailout) iter*=iter endif if(@parttype==*) if(real(dz)>*.*) part*=part*+*.* endif elseif(@parttype==*) if(imag(dz)>*.*) part*=part*+*.* endif elseif(@parttype==*) r=|dz| if(r<rmin) rmin=r part*=iter endif elseif(@parttype==*) part*=real(trunc(log(dz))) elseif(@parttype==*) t=*.**atan*(dz)/pi if(t<*.*) t=t+*.* endif t=t*@numsect part*=real(trunc(t)) else part*=iter* endif endif if(iter*==*) fp=exp(z*) f=fp-log(z*) fp=fp-*/z* dz=f/fp z*=z*-dz dz=*.*/dz if(|dz|>@bailout) iter*=iter endif if(@parttype==*) if(real(dz)>*.*) part*=part*+*.* endif elseif(@parttype==*) if(imag(dz)>*.*) part*=part*+*.* endif elseif(@parttype==*) r=|dz| if(r<rmin) rmin=r part*=iter endif elseif(@parttype==*) part*=real(trunc(log(dz))) elseif(@parttype==*) t=*.**atan*(dz)/pi if(t<*.*) t=t+*.* endif t=t*@numsect part*=real(trunc(t)) else part*=iter* endif endif z=part*+flip(part*) bailout: (iter*==*)||(iter*==*) default: title="Embossed Newton for Exp(z) = Log(z)" maxiter=*** periodicity=* center=(*.*,*.*) magn=*.* angle=* param bailout caption="bailout value" hint="make large" default=****.* min=*.* endparam param parttype caption="emboss type" default=* enum="iteration" "real(z)>*" "imag(z)>*" "smallest mag"\ "magnitude" "angle" endparam param numsect caption="# of sections" default=* min=* hint="for 'angle' embossing method" endparam param lightangle caption="light angle" default=*.* hint="Angle of apparant light source, in degrees" endparam param sizefac caption="contour size" default=*.* hint="relative size of contours bands" endparam } dmj-DNovaMandel { ; ; This is the DoubleNova fractal (Mandelbrot form), ; a modified Newtonian-style fractal. DoubleNova is ; like Nova, but with two terms instead of one. ; init: complex zold = (*,*) z = @start IF (@usecritical) z = ( -((@power*-*)*@power**@coeff*) / \ ((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*)) ENDIF loop: zold = z z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \ (@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel bailout: |z - zold| > @bailout default: title = "DoubleNova (Mandelbrot)" helpfile = "dmj-pub\dmj-pub-uf-dn.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 = "Primary Exponent" default = (*,*) hint = "Defines the primary exponent for the equation." endparam param power* caption = "Secondary Exponent" default = (*,*) hint = "Defines the secondary exponent for the equation." endparam param coeff* caption = "Primary Scale" default = (*,*) hint = "Defines the coefficient (multiplier) for the \ primary exponent term." endparam param coeff* caption = "Secondary Scale" default = (-*,*) hint = "Defines the coefficient (multiplier) for the \ secondary exponent term." endparam param bailout caption = "Bailout" default = *.***** hint = "Bailout value; smaller values will cause more \ iterations to be done for each point." endparam param usecritical caption = "Use Critical Point" default = false hint = "If set, a critical point for the function will \ be used in place of the Start Value." endparam param relax caption = "Relaxation" default = (*,*) hint = "This can be used to slow down the convergence of \ the formula." endparam switch: type = "dmj-DNovaJulia" seed = #pixel power* = @power* power* = @power* coeff* = @coeff* coeff* = @coeff* bailout = @bailout relax = @relax }
Fractal 098 E - Orgasm - Part of ENCOUNTER series - 04.2023
Fractal_***_E { fractal: title="Fractal_***_E" width=**** height=**** layers=* credits="Philoxerax;*/**/****" antialiasing=yes layer: caption="Layer *" opacity=*** transparent=yes mapping: center=*.*******************/*.******************* magn=*.*******E* angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaJulia" p_seed=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_relax=*/* 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="Layer *" opacity=*** mergemode=softlight mapping: center=*.****************/*.**************** magn=*******.* angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaJulia" p_seed=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_relax=*/* 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=******* index=*** color=******* index=*** color=******* index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=overlay mapping: center=*.******************/*.****************** magn=*.*******E* angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaJulia" p_seed=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_relax=*/* 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="Layer *" opacity=*** mergemode=luminance mapping: center=*.********************/*.******************* magn=*.*******E* angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaJulia" p_seed=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_relax=*/* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=** index=** color=*** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=*** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=blue mapping: center=*.***************/*.**************** magn=******* angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaJulia" p_seed=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_relax=*/* inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=* index=* color=***** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=*** opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mapping: center=*.********************/*.******************** magn=*.*****E* angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaJulia" p_seed=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_relax=*/* inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes rotation=** index=** color=***** index=** color=****** index=*** color=******** index=*** color=***** index=*** color=******** index=*** color=******* opacity: smooth=no index=* opacity=*** } dmj-PhoenixDNovaJulia { ; ; This is the DoubleNova fractal (Julia form), a ; modified Newtonian-style fractal. ; ; This variant includes an inductive component similar ; to the Phoenix fractal. ; init: complex zold = (*,*) complex y = (*,*) z = #pixel loop: y = zold zold = z z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \ (@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + @seed + @induct*y bailout: |z - zold| > @bailout default: title = "PhoenixDoubleNova (Julia)" helpfile = "dmj-pub\dmj-pub-uf-pdn.htm" maxiter = **** periodicity = * center = (*,*) magn = *.* param seed caption = "Julia Seed" default = (*,*) hint = "This is the Julia seed, a constant parameter which \ defines the shape of the fractal." endparam param power* caption = "Primary Exponent" default = (*,*) hint = "Defines the primary exponent for the equation." endparam param power* caption = "Secondary Exponent" default = (*,*) hint = "Defines the secondary exponent for the equation." endparam param coeff* caption = "Primary Scale" default = (*,*) hint = "Defines the coefficient (multiplier) for the \ primary exponent term." endparam param coeff* caption = "Secondary Scale" default = (-*,*) hint = "Defines the coefficient (multiplier) for the \ secondary exponent term." endparam param induct caption = "Phoenix Distortion" default = (-*.*,*) hint = "Sets how 'strong' the previous iteration's effect should be \ on the fractal." 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-PhoenixDNovaMandel" power* = @power* power* = @power* coeff* = @coeff* coeff* = @coeff* bailout = @bailout relax = @relax }
Fractal 096 C - Branch- Part of LIFE series - 09.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=-*.*************/-*.*************** magn=***.****
angle=**.****
formula:
maxiter=*** percheck=off filename="lkm*.ufm"
entry="rotated-mandelbrot" p_manparam=*/* p_power=*/* p_bailout=****
p_rottype="before iterating" p_rotfac=* p_angletype=z
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=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="Layer *" opacity=*** mergemode=multiply 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=******** index=**
color=******** index=** color=******** index=** color=******
index=** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=multiply 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 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=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=**
color=******** index=** color=***** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=** color=*******
index=** color=***** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" 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=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=**
color=******** index=** color=***** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=** color=*******
index=** color=***** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=****** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" 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=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=***** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=*******
index=*** color=***** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=****** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=***** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** 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=********
index=*** color=******* index=-** color=*******
opacity:
smooth=no index=* opacity=***
}rotated-mandelbrot { ; Kerry Mitchell **oct****
;
; Rotates the z variable in the standard Mandelbrot
; calculation each iteration.
;
; Use the 'rotation type' parameter to rotate before or
; after raising z to the desired power, or both before and
; after. The '+before, -after' setting rotates the opposite
; way after raising z to the power.
;
; The rotation angle is the 'rotation factor' times the angle
; of the pixel or z. The 'constant' setting in 'rotation type'
; makes the rotational angle a constant 'rotation factor'
; degrees.
;
init:
c=#pixel
z=c+@manparam
float t=*.*
float trad=@rotfac*#pi/***
rot=(*,*)
loop:
;
; set up the rotation angle
;
if(@angletype==*) ; pixel
t=@rotfac*atan*(#pixel)
elseif(@angletype==*) ; z
t=@rotfac*atan*(z)
else ; constant
t=trad
endif
rot=cos(t)+flip(sin(t))
;
; iterate z, taking into account the rotation type
;
if(@rottype==*) ; before
z=z*rot
z=z^@power+c
elseif(@rottype==*) ; after
z=z^@power+c
if(@angletype==*)
t=@rotfac*atan*(z)
rot=cos(t)+flip(sin(t))
endif
z=z*rot
elseif(@rottype==*) ; before & after
z=z*rot
z=z^@power+c
if(@angletype==*)
t=@rotfac*atan*(z)
rot=cos(t)+flip(sin(t))
endif
z=z*rot
elseif(@rottype==*) ; +before, -after
z=z*rot
z=z^@power+c
if(@angletype==*)
t=@rotfac*atan*(z)
rot=cos(t)+flip(sin(t))
endif
z=z/rot
else ; none
z=z^@power+c
endif
bailout:
|z|<@bailout
default:
title="Rotated Mandelbrot"
periodicity=*
param manparam
caption="perturbation"
default=(*,*)
endparam
param power
caption="power"
default=(*,*)
endparam
float param bailout
caption="bailout"
default=****.*
endparam
param rottype
caption="rotation type"
default=*
enum="none" "before iterating" "after iterating" \
"before & after" "+before, -after"
hint="How z is rotated each iteration."
endparam
float param rotfac
caption="rotation factor"
default=*.*
enabled=@rottype!="none"
hint="If 'angle type' is 'constant', then this is the \
rotation angle in degrees. Otherwise, it is the factor \
that multiples the pixel or z angle to make the rotation \
angle."
endparam
param angletype
caption="angle type"
default=*
enum="constant" "pixel" "z"
enabled=@rottype!="none"
hint="Use 'constant' to specify a constant angle in degrees. \
Otherwise, the rotation is based on the angle of the pixel \
or the angle of z."
endparam
switch:
type="rotated-julia"
julparam=#pixel
bailout=bailout
power=power
rottype=rottype
rotfac=rotfac
angletype=angletype
}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*)&&(tempr<radsqr*))
done=*
tempr=(tempr-radsqr*)/gap
z=tempr*z/cabs(z)
endif
endif
if((done==*)&&(|z|>rmax))
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*
}
Fractal 095 B - Hopelessness - Part of ENCOUNTER series - 09.2022
Fractal_***_B { fractal: title="Fractal_***_B" width=**** height=**** layers=* credits="Philoxerax;*/**/****" antialiasing=yes layer: caption="Layer *" opacity=** mergemode=overlay mapping: center=*.**************/-*.************** magn=***.***** angle=-**.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=sqr outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=-* color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=difference mapping: center=*.**************/-*.************** magn=***.***** angle=-**.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=sqr outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=-* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=-* color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=multiply mapping: center=*.**************/-*.************** magn=***.***** angle=-**.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=sqr outside: transfer=linear gradient: comments="Use with Emboss coloring algorithm." smooth=no rotation=*** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=darken method=multipass mapping: center=*.*********/-*.********** magn=*.******* angle=***.**** skew=*.**** formula: maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=sqrt 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=******* index=** color=******** index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=****** index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=-*** color=******** index=-*** color=******* index=-*** color=******** index=-*** color=******** index=-*** color=****** index=-*** color=******* index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******** index=-** color=******** index=-** color=******* index=-** color=******* index=-** color=******* index=-** color=******* index=-** color=******* index=-** color=******* index=-** color=******** index=-** color=******* index=-** color=******** index=-** color=******** index=-* color=* index=-* color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=multiply method=multipass mapping: center=*.**********/-*.********** magn=*.******** angle=***.**** skew=*.**** formula: maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=sqrt 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=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=*** color=******** index=*** color=******** index=*** color=* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=-** color=******** index=-* color=******* opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** method=multipass mapping: center=*.**********/-*.********* magn=*.******** angle=***.**** skew=*.**** formula: maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=sqrt 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=******* index=** color=******** index=** color=******* index=** color=******** index=** color=******** index=** color=******** index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******* index=** color=******** index=** color=******* index=*** color=******** index=*** color=******** index=*** color=* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=****** index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=****** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******* index=*** color=******* index=*** color=******** index=*** color=******* index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******** index=*** color=******* index=-** color=******** index=-* color=******* opacity: smooth=no index=* opacity=*** } dmj-PhoenixDNovaMandel { ; ; This is the DoubleNova fractal (Mandelbrot form), ; a modified Newtonian-style fractal. ; ; This variant includes an inductive component similar ; to the Phoenix fractal. ; init: complex zold = (*,*) complex y = (*,*) z = @start IF (@usecritical) z = ( -((@power*-*)*@power**@coeff*) / \ ((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*)) ENDIF loop: y = zold zold = z z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \ (@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*y bailout: |z - zold| > @bailout default: title = "PhoenixDoubleNova (Mandelbrot)" helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent" default = (*,*) hint = "Defines the primary exponent for the equation." endparam param power* caption = "Secondary Exponent" default = (*,*) hint = "Defines the secondary exponent for the equation." endparam param coeff* caption = "Primary Scale" default = (*,*) hint = "Defines the coefficient (multiplier) for the \ primary exponent term." endparam param coeff* caption = "Secondary Scale" default = (-*,*) hint = "Defines the coefficient (multiplier) for the \ secondary exponent term." endparam param induct caption = "Phoenix Distortion" default = (-*.*,*) hint = "Sets how 'strong' the previous iteration's effect should be \ on the fractal." endparam param bailout caption = "Bailout" default = *.***** hint = "Bailout value; smaller values will cause more \ iterations to be done for each point." endparam param usecritical caption = "Use Critical Point" default = false hint = "If set, a critical point for the function will \ be used in place of the Start Value." endparam param relax caption = "Relaxation" default = (*,*) hint = "This can be used to slow down the convergence of \ the formula." endparam switch: type = "dmj-PhoenixDNovaJulia" seed = #pixel power* = @power* power* = @power* coeff* = @coeff* coeff* = @coeff* bailout = @bailout relax = @relax } 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 }
Fractal 094 C - Star Gateway - Part of OUTER SPACE series - 09.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=subtraction
mapping:
center=-*.************/-*.************* magn=***.*****
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*** transparent=yes
mapping:
center=*.***************/-*.**************** magn=****.***
angle=-**.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr solid=**********
outside:
transfer=linear solid=**********
gradient:
smooth=yes rotation=-*** index=* color=******** index=-***
color=******* index=-*** color=******* index=-*** color=*******
index=*** color=******** index=-*** color=******** index=-***
color=********
opacity:
smooth=no index=* opacity=* index=** opacity=*** index=***
opacity=*** index=*** opacity=*
layer:
caption="Layer *" opacity=*** mergemode=blue
mapping:
center=*.************/*.*************** magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=floor f_fn*=ident
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 method=multipass
mapping:
center=-*.*************/*.************ magn=**.****** angle=***.****
stretch=*.**** skew=*.****
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=*******
index=** color=******* index=*** color=* index=-*** color=********
index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=*.*************/*.************** magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=floor f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******* index=**
color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** visible=no mergemode=multiply
mapping:
center=*.************/*.************** magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=floor f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=****** index=*** color=*******
index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** visible=no
mapping:
center=*.************/*.************** magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=floor f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=******** index=***
color=******* index=-*** color=****** index=*** color=*******
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}mt-******b-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(-c*z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}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*)&&(tempr<radsqr*))
done=*
tempr=(tempr-radsqr*)/gap
z=tempr*z/cabs(z)
endif
endif
if((done==*)&&(|z|>rmax))
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*
}
Fractal 093 B - Unperfect Clones - Part of LIFE series - 07.2022
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/**/****" antialiasing=yes
layer:
caption="Background" opacity=*** mergemode=hsladd
mapping:
center=*.********/-*.******** magn=*.********* angle=**
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=*.*/* p_cd=*/** p_epsilon=*
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=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=-*** color=******** index=-***
color=******* index=-*** color=******** index=-*** color=********
index=-*** color=****** index=-*** color=******* index=-***
color=******** index=-*** color=******* index=-*** color=********
index=-*** color=******** index=-*** color=******** index=-***
color=******* index=-*** color=******* index=-*** color=*******
index=-** color=******* index=-** color=******* index=-**
color=******* index=-** color=******** index=-** color=*******
index=-** color=******** index=-** color=******** index=-** color=*
index=-** color=******** index=-** color=******** index=-**
color=******** index=-** color=****** index=-** color=*******
index=-** color=******** index=-** color=******* index=-**
color=****** index=-** color=******* index=-* color=******* index=-*
color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=lighten method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
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=******* index=** color=*****
index=** color=***** index=** color=******* index=** color=*
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=*** color=* index=***
color=* index=*** color=****** index=*** color=****** index=***
color=* index=*** color=****** index=*** color=******** index=***
color=* index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=screen method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
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=******* index=** color=*****
index=** color=***** index=** color=******* index=** color=*
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=*** color=* index=***
color=* index=*** color=****** index=*** color=****** index=***
color=* index=*** color=****** index=*** color=******** index=***
color=* index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=screen method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
f_fn*=cos f_fn*=sin p_p*=*/*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=*** color=******* index=* color=*
index=-* color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=addition method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
f_fn*=cos f_fn*=sin p_p*=*.*/*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=*** color=******* index=* color=*
index=-* color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=softlight method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
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=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=* index=** color=******** index=**
color=******** index=** color=******** index=*** color=********
index=*** color=******* index=*** color=***** index=*** color=*****
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=****** index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=****** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=screen method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
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=******** index=**
color=****** index=** color=******** index=** color=****** index=**
color=******** index=** color=****** index=** color=********
index=** color=****** index=** color=******* index=** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=* index=-** color=******** index=-** color=********
index=-** color=******** index=-** color=******** index=-**
color=******* index=-** color=***** index=-** color=***** index=-**
color=******** index=-** color=******* index=-** color=*******
index=-* color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** method=multipass
mapping:
center=*****.******/*.********** magn=*.******** angle=***.****
skew=*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=conj
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=******* index=** color=*****
index=** color=***** index=** color=******* index=** color=*
index=** color=******* index=** color=******* index=**
color=******** index=** color=****** index=*** color=* index=***
color=* index=*** color=****** index=*** color=****** index=***
color=* index=*** color=****** index=*** color=******** index=***
color=* index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=****** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=* index=-* color=********
opacity:
smooth=no index=* opacity=***
}mt-latoocarfian-ii { ; Mark Townsend ** Dec ****
init:
float xnew = *
float ynew = *
float a = real(@ab)
float b = imag(@ab)
float c = real(@cd)
float d = imag(@cd)
float x = real(#pixel)
float y = imag(#pixel)
loop:
xnew = sin(y * b) + c * sin(x * b)
ynew = sin(x * a) + d * sin(y * a)
x = xnew
y = ynew
#z = x + flip(y)
bailout:
|#z - #pixel| > @epsilon
default:
title = "Latööcarfian II"
magn = *.*
param ab
caption = "(a, b)"
default = (-*.******, *.******)
endparam
param cd
caption = "(c, d)"
default = (*.******, *.******)
endparam
param epsilon
caption = "Epsilon"
default = *.*
endparam
}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=(.**,*)
endparamfunc fn*
default=cos()
endfunc
}
Fractal 092 C - Falling in Love - Part of ENCOUNTER series - 09.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;**/*/****" antialiasing=yes
layer:
caption="Background" opacity=** mergemode=addition method=multipass
mapping:
center=****.******/*.********** magn=*.******** angle=***.***
skew=-*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=sqrt
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=** visible=no mergemode=overlay
mapping:
center=-*.*************/*.************** magn=****.****
angle=**.****
formula:
maxiter=**** filename="dmj.ufm" entry="dmj-BoostMandel" p_start=*/*
p_power=*/* p_bailout=*.*E** p_boostcenter=*/* p_boostradius=*.*
p_boostmode=displace p_boostamount=*/*
inside:
transfer=cube
outside:
transfer=sqr
gradient:
smooth=yes index=* color=******* index=*** color=******** index=***
color=******** index=*** color=***
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=darken
mapping:
center=*.**********/*.********** magn=*.****** angle=-**.****
formula:
maxiter=** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=**/* p_power*=*/*
p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/*
p_bailout=*.****** p_usecritical=no p_relax=*/*.**
inside:
transfer=sqr
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=softlight
mapping:
center=-*.**********/*.********* magn=*.******* angle=-**.****
formula:
maxiter=** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=**/* p_power*=*/*
p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/*
p_bailout=*.****** p_usecritical=no p_relax=*/*.**
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******* index=**
color=******** index=*** color=******** index=*** color=*****
index=-** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.**********/*.********* magn=*.******* angle=-**.****
formula:
maxiter=** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=**/* p_power*=*/*
p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/*
p_bailout=*.****** p_usecritical=no p_relax=*/*.**
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes index=** color=******* index=** color=******* index=**
color=******** index=*** color=******** index=*** color=*****
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=*.***************/-*.*************** magn=******.**
angle=***.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****.
p_rtype="real part" p_rottype=none p_rotamount=**.*
p_rotunit=degrees
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=**
index=*** color=* index=*** color=*** index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=lighten
mapping:
center=*.****************/-*.************** magn=*****.*
angle=**.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****.
p_rtype="real part" p_rottype=none p_rotamount=**.*
p_rotunit=degrees
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Default Ultra Fractal gradient." smooth=yes rotation=**
index=*** color=* index=*** color=*** index=*** color=*** index=***
color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=screen
mapping:
center=-*.**********/*.********* magn=*.******* angle=-**.****
formula:
maxiter=** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=**/* p_power*=*/*
p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/*
p_bailout=*.****** p_usecritical=no p_relax=*/*.**
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=******* index=***
color=******** index=*** color=***** index=*** color=***
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.**********/*.********* magn=*.******* angle=-**.****
formula:
maxiter=** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=**/* p_power*=*/*
p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/*
p_bailout=*.****** p_usecritical=no p_relax=*/*.**
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=**
color=******** index=*** color=******** index=*** color=********
index=*** color=****** index=*** color=*** index=-** color=*******
opacity:
smooth=no index=* opacity=***
}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=(.**,*)
endparamfunc fn*
default=cos()
endfunc
}dmj-BoostMandel {
;
; This formula is an implementation of Orbit Boosting,
; an idea by Earl Hinrichs.
;
; The basic idea is that we perform a normal Mandelbrot
; iteration, but if the orbit enters a specified region
; of the complex plane (much like an orbit trap) we
; "boost" it in some fashion. A variety of boosting modes
; are included. Boost regions are ALWAYS circular in this
; implementation.
;
init:
float d = *; distance to boost area
float radius* = sqr(@boostradius); pre-calc this
float iradius = */@boostradius; pre-calc this
; complex c = *z = @start
loop:
z = z^@power + #pixel; calculate the M-setd = |z - @boostcenter|; distance to boost area
IF (d < radius*); within threshold
IF (@boostmode == *); displace (addition)
z = z + @boostamount
ELSEIF (@boostmode == *); orbit origin (multiply)
z = z * @boostamount
ELSEIF (@boostmode == *); orbit boost (multiply)
z = (z-@boostcenter) * @boostamount + @boostcenter
ELSEIF (@boostmode == *); flip out (reverse distance)
d = **@boostradius/sqrt(d)-*
z = @boostcenter + (z-@boostcenter)*d*@boostamount
ELSEIF (@boostmode == *); repel (reverse distance squared)
d = *-sqr(*-@boostradius/sqrt(d))
z = @boostcenter + (z-@boostcenter)*d*@boostamount
ELSEIF (@boostmode == *); exponentiate origin (exponent)
z = z ^ @boostamount
ELSEIF (@boostmode == *); exponentiate boost (exponent)
z = (z-@boostcenter) ^ @boostamount + @boostcenter
ELSEIF (@boostmode == *); invert
z = conj(iradius/(z-@boostcenter)) + @boostcenter
ELSEIF (@boostmode == *); pass through
z = z + **(z-@boostcenter)*@boostamount
ELSEIF (@boostmode == *); pass through *
z = z + **(@boostcenter-z)/cabs(@boostcenter-z)*@boostradius*@boostamount
ENDIF
ENDIFbailout:
|z| < @bailoutdefault:
title = "Orbit Boost (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-ob.htm"
center = (-*.*, *.*)
maxiter = ****param start
caption = "Starting Point"
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 Julia type."
endparam
param bailout
caption = "Bail-out Value"
default = *.*e**
min = *.*
hint = "Defines how soon an orbit bails out, i.e. doesn't belong \
to the Julia set anymore."
endparamparam boostcenter
caption = "Boost Center"
default = (*,*)
hint = "This is the location of the boost area in the complex plane."
endparam
param boostradius
caption = "Boost Radius"
default = *.*
hint = "This is the size of the boost area."
endparam
param boostmode
caption = "Boost Mode"
default = *
enum = "displace" "orbit origin" "orbit boost" "flip out" "repel" \
"exponentiate origin" "exponentiate boost" "invert" "pass through" \
"pass through *"
hint = "Sets the type of effect when the orbit enters the boost area."
endparam
param boostamount
caption = "Boost Amount"
default = (*,*)
hint = "This is the amount to boost."
endparamswitch:
type = "dmj-BoostJulia"
seed = #pixel
power = @power
bailout = @bailoutboostcenter = @boostcenter
boostradius = @boostradius
boostmode = @boostmode
boostamount = @boostamount
}dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}general-tent-mandelbrot { ; Kerry Mitchell **oct****
;
; Variation on the standard tent map
;
init:
z=@manparam
c=pixel
float r=*.*
if(@rotunit==*) ; radians
r=@rotamount
else ; degrees
r=@rotamount*#pi/***
endif
rot*=cos(r)+flip(sin(r))
rot=rot*
temp=(*,*)
loop:
;
; rotate the map
;
if(@rottype==*) ; constant rotation
temp=rot**z
elseif(@rottype==*) ; progressive rotation
rot=rot*rot*
temp=rot*z
elseif(@rottype==*) ; oscillating rotation
rot=rot*/rot
temp=rot*z
else ; no rotation
temp=z
endif
;
; choose the map variable
;
if(@rtype==*) ; real part
r=real(temp)
elseif(@rtype==*) ; imag part
r=imag(temp)
elseif(@rtype==*) ; real*imag
r=imag(temp)*real(temp)
elseif(@rtype==*) ; imag/real
r=imag(temp)/real(temp)
else ; magnitude
r=cabs(temp)
endif
;
; execute tent map
;
if(r<=*.*)
z=c*temp
else
z=c*(*-temp)
endif
bailout:
|z|<@bailout
default:
title="General Tent Mandelbrot"
helpfile="lkm-help\lkm-tent.html"
maxiter=***
periodicity=*
center=(*,*)
magn=*.*
angle=*
param manparam
caption="initial z"
default=(*,*)
hint="Use (*,*) for the standard map."
endparam
param bailout
caption="bailout"
default=****.
endparam
param rtype
caption="r type"
default=*
enum="magnitude" "real part" "imag part" "real*imag" "imag/real"
hint="Determines the r value used in the tent map."
endparam
param rottype
caption="rotation type"
default=*
enum="none" "constant" "progressive" "oscillating"
hint="In 'constant' mode, the same angle is used every iteration. \
In 'progressive' mode, the angle is increased by the amount every \
iteration. In 'oscillating' mode, the map is rotated forward, then \
back, then forward, etc."
endparam
param rotamount
caption="rotation amount"
default=**.*
hint="How much the map is rotated."
endparam
param rotunit
caption="rotation units"
default=*
enum="degrees" "radians"
hint="Units in which the rotation is expressed."
endparam
switch:
type="general-tent-julia"
julparam=#pixel
bailout=bailout
rtype=rtype
rottype=rottype
rotamount=rotamount
rotunit=rotunit
}
Fractal 091 A - Guard of the Underworld - Part of BEYOND series - 07.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=*.************/-*.************ magn=*.******* angle=**.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=***** index=-*** color=*****
index=*** color=*** index=-*** color=******* index=-***
color=******** index=-*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=** mergemode=hsladd
mapping:
center=-*.**************/*.**********e-* magn=***.*****
angle=-***.****
formula:
maxiter=*** percheck=rough filename="mt.ufm" entry="mt-******a-m"
p_e*=*.* p_e*=*.* p_bailout=* f_fn*=ident f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=* index=*** color=********
index=*** color=***** index=*** color=*** index=-** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=blue
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** percheck=rough filename="mt.ufm" entry="mt-******a-m"
p_e*=*.* p_e*=*.*** p_bailout=* f_fn*=ident f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=**
color=******** index=*** color=***** index=*** color=*** index=-**
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=-*.***********/-*.*********** magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=****.*
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes 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="mt.ufm" entry="mt-******a" p_bailout=****.*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes index=* color=******* index=*** color=******** index=***
color=***** index=*** color=***
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=softlight
mapping:
center=-*.************/*.*********** magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=****.*
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes index=* color=******* index=*** color=******** index=***
color=***** index=*** color=***
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=color
mapping:
center=*.***********/*.*********** magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=****.*
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=color
mapping:
center=*.***********/*.*********** magn=*.******* angle=-**.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=****.*
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes index=* color=******* index=** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.************/*.************** magn=***.*****
angle=-***.****
formula:
maxiter=*** percheck=rough filename="mt.ufm" entry="mt-******a-m"
p_e*=*.* p_e*=*.*** p_bailout=* f_fn*=ident f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=**
color=******** index=*** color=***** index=*** color=*** index=-**
color=*******
opacity:
smooth=no index=* opacity=***
}dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}mt-******a { ; Mark Townsend ** Jul ****
init:
z = *
int iter = *
loop:
z = z^iter + iter * #pixel
iter = iter + *
bailout:
|z| < @bailout
default:
title = "******a"
param bailout
caption = "Bailout value"
default = ****.*
endparam
}
Fractal 090 B - Hydrosphere - Part of ELEMENTS series - 07.2022
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=difference
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=*** color=* index=*** color=********
index=-** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=screen
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=-** color=* index=-** color=*****
index=-** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=blue
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.**************/*.************** magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
index=** color=******** index=** color=******** index=**
color=******** index=** color=******** index=** color=*******
index=** color=****** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=*******
index=** color=****** index=** color=******** index=** color=*******
index=** color=******* index=** color=******* index=** color=*******
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******* index=** color=******** index=** color=******
index=** color=******* index=** color=****** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******** index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******* index=** color=****** index=**
color=******** index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******* index=** color=******** index=** color=*******
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=* index=*** color=****** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=-* color=******* index=-* color=********
index=-* color=******** index=-* color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=******
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=****
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=******* index=*** color=****** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=****** index=*** color=****** index=*** color=******
index=*** color=****** index=*** color=****** index=***
color=******* index=*** color=****** index=*** color=* index=***
color=****** index=*** color=******* index=*** color=* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=****** index=*** color=****** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=****** index=***
color=****** index=*** color=******* index=*** color=******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=******
index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=*******
index=*** color=****** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=******** index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******** index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=****** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=*******
index=** color=******** index=** color=******* index=**
color=******** index=** color=******** index=** color=********
index=** color=******* index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******* index=**
color=******** index=** color=******* index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******** index=** color=********
index=** color=******** index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******** index=**
color=******* index=** color=******* index=** color=********
index=** color=******* index=** color=******* index=** color=*******
index=** color=******* index=** color=******* index=**
color=******** index=** color=***** index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******** index=*** color=***** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=* index=*** color=****** index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=****** index=***
color=******** index=*** color=******** index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******** index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******* index=*** color=*******
index=*** color=******** index=*** color=******** index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=******* index=*** color=*
index=*** color=* index=*** color=* index=*** color=* index=***
color=* index=*** color=****** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=******* index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=* index=***
color=******* index=*** color=******** index=*** color=********
index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=blue
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=******** index=**
color=******** index=** color=******** index=*** color=***
index=-*** color=******* index=-** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******* index=***
color=******* index=*** color=******** index=-* color=******
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 089 A - Mitosis - Part of LIFE series - 06.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****" antialiasing=yes
layer:
caption="Layer *" opacity=** mergemode=hardlight
mapping:
center=-*.*********/-*.********* magn=*.******* angle=***
formula:
maxiter=*** percheck=off adjust=yes 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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.*********/-*.********* magn=*.******* angle=***
formula:
maxiter=*** percheck=off adjust=yes 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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.*********/-*.********* magn=*.******* angle=***
formula:
maxiter=*** percheck=off adjust=yes 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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.**********/-*.********* magn=*.******* angle=**.****
formula:
maxiter=*** percheck=off adjust=yes 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=*******
index=*** color=******** index=*** color=******* index=***
color=******* index=*** color=******** index=*** color=*******
index=*** color=*******
opacity:
smooth=no index=* opacity=***
}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
ENDIFbailout:
|z - zold| > @bailoutdefault:
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."
endparamswitch:
type = "dmj-NovaJulia"
seed = #pixel
power = @power
bailout = @bailout
relax = @relax
}
Fractal 088 A - Storm - Part of ELEMENTS series - 06.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****" antialiasing=yes
layer:
caption="Background" opacity=*** transparent=yes
mapping:
center=-*.***********/-*.************ magn=**.****** angle=-*.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****.
p_rtype=magnitude p_rottype=none p_rotamount=**.* p_rotunit=degrees
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=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=-*.***********/-*.*********** magn=**.****** angle=-**.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****.
p_rtype=magnitude p_rottype=none p_rotamount=**.* p_rotunit=degrees
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** transparent=yes
mapping:
center=-*.************/-*.*********** magn=*.******* angle=-**.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****.
p_rtype=magnitude p_rottype=none p_rotamount=**.* p_rotunit=degrees
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=******* index=-** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** transparent=yes
mapping:
center=-*.************/-*.************ magn=**.****** angle=-**.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****.
p_rtype=magnitude p_rottype=none p_rotamount=**.* p_rotunit=degrees
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=*.***********/-*.************ magn=**.****** angle=**.****
formula:
maxiter=*** percheck=off filename="lkm.ufm"
entry="general-tent-mandelbrot" p_manparam=*/* p_bailout=****
p_rtype="real*imag" p_rottype=progressive p_rotamount=**.*
p_rotunit=degrees
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=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
}general-tent-mandelbrot { ; Kerry Mitchell **oct****
;
; Variation on the standard tent map
;
init:
z=@manparam
c=pixel
float r=*.*
if(@rotunit==*) ; radians
r=@rotamount
else ; degrees
r=@rotamount*#pi/***
endif
rot*=cos(r)+flip(sin(r))
rot=rot*
temp=(*,*)
loop:
;
; rotate the map
;
if(@rottype==*) ; constant rotation
temp=rot**z
elseif(@rottype==*) ; progressive rotation
rot=rot*rot*
temp=rot*z
elseif(@rottype==*) ; oscillating rotation
rot=rot*/rot
temp=rot*z
else ; no rotation
temp=z
endif
;
; choose the map variable
;
if(@rtype==*) ; real part
r=real(temp)
elseif(@rtype==*) ; imag part
r=imag(temp)
elseif(@rtype==*) ; real*imag
r=imag(temp)*real(temp)
elseif(@rtype==*) ; imag/real
r=imag(temp)/real(temp)
else ; magnitude
r=cabs(temp)
endif
;
; execute tent map
;
if(r<=*.*)
z=c*temp
else
z=c*(*-temp)
endif
bailout:
|z|<@bailout
default:
title="General Tent Mandelbrot"
helpfile="lkm-help\lkm-tent.html"
maxiter=***
periodicity=*
center=(*,*)
magn=*.*
angle=*
param manparam
caption="initial z"
default=(*,*)
hint="Use (*,*) for the standard map."
endparam
param bailout
caption="bailout"
default=****.
endparam
param rtype
caption="r type"
default=*
enum="magnitude" "real part" "imag part" "real*imag" "imag/real"
hint="Determines the r value used in the tent map."
endparam
param rottype
caption="rotation type"
default=*
enum="none" "constant" "progressive" "oscillating"
hint="In 'constant' mode, the same angle is used every iteration. \
In 'progressive' mode, the angle is increased by the amount every \
iteration. In 'oscillating' mode, the map is rotated forward, then \
back, then forward, etc."
endparam
param rotamount
caption="rotation amount"
default=**.*
hint="How much the map is rotated."
endparam
param rotunit
caption="rotation units"
default=*
enum="degrees" "radians"
hint="Units in which the rotation is expressed."
endparam
switch:
type="general-tent-julia"
julparam=#pixel
bailout=bailout
rtype=rtype
rottype=rottype
rotamount=rotamount
rotunit=rotunit
}
Fractal 087 D - Lust - Part of ENCOUNTER series - 07.2022
Fractal_***_D { fractal: title="Fractal_***_D" width=**** height=**** layers=* credits="Philoxerax;*/**/****" antialiasing=yes layer: caption="Background" opacity=*** mergemode=lighten mapping: center=-*.*************/-*.*********** magn=***.***** angle=***.**** formula: maxiter=**** percheck=off filename="dmj.ufm" entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/* p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.***** p_usecritical=no p_relax=*/* inside: transfer=sqr outside: transfer=linear gradient: smooth=yes rotation=-*** index=* color=* index=*** color=*** index=-*** color=******** index=-*** color=******** index=*** color=******** index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Red" opacity=** mergemode=red mapping: center=-*.************/*.********** 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=******** index=*** color=****** index=*** color=******** index=*** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=** mergemode=overlay method=multipass transparent=yes mapping: center=-*.**************/-*.************** magn=***.***** angle=-***.**** formula: maxiter=*** percheck=off filename="lkm.ufm" entry="compounding-tweaked-mandelbrot" p_manparam=*.*/*.* p_bailout=****.* p_nexp=*/* p_tweaktype="c; fn(c)" p_tweakage=*.**/*.* f_tweakfunction=recip inside: transfer=none solid=* outside: transfer=sqr gradient: comments="Default Ultra Fractal gradient." smooth=yes rotation=-*** index=** color=******** index=*** color=*** index=-*** color=******* index=-** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=multiply mapping: center=-*.************/*.********** 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=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mergemode=multiply mapping: center=-*.************/*.********** 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 index=** color=******* index=*** color=******** index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=*** mapping: center=-*.************/*.********** 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=******** index=*** color=******* index=*** color=*** index=*** color=******* index=*** color=******* index=*** color=* index=*** color=******* index=*** color=******* index=*** color=******* index=*** color=******* opacity: smooth=no index=* opacity=*** } dmj-PhoenixDNovaMandel { ; ; This is the DoubleNova fractal (Mandelbrot form), ; a modified Newtonian-style fractal. ; ; This variant includes an inductive component similar ; to the Phoenix fractal. ; init: complex zold = (*,*) complex y = (*,*) z = @start IF (@usecritical) z = ( -((@power*-*)*@power**@coeff*) / \ ((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*)) ENDIF loop: y = zold zold = z z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \ (@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*y bailout: |z - zold| > @bailout default: title = "PhoenixDoubleNova (Mandelbrot)" helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent" default = (*,*) hint = "Defines the primary exponent for the equation." endparam param power* caption = "Secondary Exponent" default = (*,*) hint = "Defines the secondary exponent for the equation." endparam param coeff* caption = "Primary Scale" default = (*,*) hint = "Defines the coefficient (multiplier) for the \ primary exponent term." endparam param coeff* caption = "Secondary Scale" default = (-*,*) hint = "Defines the coefficient (multiplier) for the \ secondary exponent term." endparam param induct caption = "Phoenix Distortion" default = (-*.*,*) hint = "Sets how 'strong' the previous iteration's effect should be \ on the fractal." endparam param bailout caption = "Bailout" default = *.***** hint = "Bailout value; smaller values will cause more \ iterations to be done for each point." endparam param usecritical caption = "Use Critical Point" default = false hint = "If set, a critical point for the function will \ be used in place of the Start Value." endparam param relax caption = "Relaxation" default = (*,*) hint = "This can be used to slow down the convergence of \ the formula." endparam switch: type = "dmj-PhoenixDNovaJulia" seed = #pixel power* = @power* power* = @power* coeff* = @coeff* coeff* = @coeff* bailout = @bailout relax = @relax } 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 } compounding-tweaked-mandelbrot { ; Kerry Mitchell **oct** ; ; Tweaks either c or z each iteration, so that the tweaking compounds ; init: z=@manparam c=#pixel loop: z=z^@nexp+c if(@tweaktype==*) c=c+@tweakage*@tweakfunction(z) elseif(@tweaktype==*) c=c+@tweakage*@tweakfunction(c*z) elseif(@tweaktype==*) c=c+@tweakage*@tweakfunction(z/c) elseif(@tweaktype==*) z=z+@tweakage*@tweakfunction(c) elseif(@tweaktype==*) z=z+@tweakage*@tweakfunction(z) elseif(@tweaktype==*) z=z+@tweakage*@tweakfunction(c*z) elseif(@tweaktype==*) z=z+@tweakage*@tweakfunction(z/c) else c=c+@tweakage*@tweakfunction(c) endif bailout: |z|<@bailout default: title="Compounding Tweaked Mandelbrot" helpfile="lkm-help\lkm-compounding.html" maxiter=*** periodicity=* center=(-*.*,*.*) magn=*.* angle=* method=multipass param manparam caption="initial z" default=(*.*,*.*) hint="Use (*,*) for something resembling the \ standard Mandelbrot set." endparam param bailout caption="bailout value" default=****.* endparam param nexp caption="exponent" default=(*,*) hint="Use *.* for something resembling the \ standard Mandelbrot set." endparam param tweaktype caption="tweaking type" default=* enum="c; fn(c)" "c; fn(z)" "c; fn(c*z)" "c; fn(z/c)" \ "z; fn(c)" "z; fn(z)" "z; fn(c*z)" "z; fn(z/c)" hint="Sets what gets tweaked, and how." endparam param tweakage caption="tweaking amount" default=(*.**,*.*) hint="Make small for something resembling the \ standard Mandelbrot set." endparam func tweakfunction caption="tweaking function" default=recip() hint="Function of the tweaking variable." endfunc switch: type="compounding-tweaked-julia" julparam=#pixel nexp=nexp bailout=bailout tweaktype=tweaktype tweakage=tweakage }
Fractal 086 D - Star Gateway - Part of OUTER SPACE series - 06.2022
Fractal_***_D {
fractal:
title="Fractal_***_D" width=**** height=**** layers=**
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=*.***********/*.************ magn=**.***** angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
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=addition
mapping:
center=*.***********/-*.*********** magn=**.****** angle=**
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=* index=*** color=********
index=-*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=overlay
mapping:
center=-*.***********/*.************ magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=****** index=*** color=********
index=*** color=******** index=*** color=******** index=-*
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer **" opacity=*** mergemode=addition
mapping:
center=*.**********/-*.********** magn=*.******* angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=* index=** color=****
index=-*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer **" opacity=*** mergemode=addition
mapping:
center=*.***********/*.********** magn=*.******* angle=***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=cabs f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=* index=*** color=*******
index=-*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.***********/*.************ magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=******** index=-* color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer **" opacity=** mergemode=lighten
mapping:
center=-*.*************/-*.************** magn=**.******
angle=-**.****
formula:
maxiter=*** filename="lkm*.ufm" entry="unit-vector-tweak-mandelbrot"
p_initial_z=*/* p_power=*/* p_bailout=**** p_tweak_type=after
p_fac_pre=-*.*/*.* f_func_pre=cos p_fac_post=*.**/*
f_func_post=ident
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=saturation
mapping:
center=-*.************/*.************ magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=******** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=********
index=-** color=******* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.************/*.************ magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=******** index=*** color=******* index=***
color=******* index=*** color=****** index=*** color=********
index=-** color=******* index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=luminance
mapping:
center=-*.************/*.************ magn=**.****** angle=***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=******** 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="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=*** index=*** color=***** index=***
color=******* index=*** color=******** index=*** color=*****
opacity:
smooth=no index=* opacity=***
}mt-******b-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(-c*z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}unit-vector-tweak-mandelbrot { ; Kerry Mitchell **dec****
;
; Add a tweak of the unit vector for z at each iteation.
; Either add before the z^power+c step, after, or both.
;
; Based on Asdam's Mandelbrot variation, posted to Fractal Forums **/**/****
; http://www.fractalforums.com/new-theories-and-research/
; is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-*d/
; msg*****/#newinit:
;
complex c=#pixel
complex unit_vector=(*,*)
complex z=@initial_z
loop:
if((@tweak_type=="before")||(@tweak_type=="both"))
if(cabs(z)==*)
unit_vector=*
else
unit_vector=z/cabs(z)
endif
z=z+@fac_pre*@func_pre(unit_vector)
endif
z=z^@power+c
if((@tweak_type=="after")||(@tweak_type=="both"))
if(cabs(z)==*)
unit_vector=*
else
unit_vector=z/cabs(z)
endif
z=z+@fac_post*@func_post(unit_vector)
endif
bailout:
|z|<@bailout
default:
title="Unit Vector Tweak Mandelbrot"
complex param initial_z
caption="initial z"
default=(*,*)
endparam
complex param power
caption="power"
default=*
endparam
float param bailout
caption="bailout"
default=****
endparam
param tweak_type
caption="tweak type"
default=*
enum="before" "after" "both"
endparam
complex param fac_pre
caption="before factor"
default=(-*.*,*.*)
visible=((@tweak_type=="before")||(@tweak_type=="both"))
endparam
func func_pre
caption="before function"
default=cos()
visible=((@tweak_type=="before")||(@tweak_type=="both"))
endfunc
complex param fac_post
caption="after factor"
default=*.**
visible=((@tweak_type=="after")||(@tweak_type=="both"))
endparam
func func_post
caption="after function"
default=ident()
visible=((@tweak_type=="after")||(@tweak_type=="both"))
endfunc
switch:
type="unit-vector-tweak-julia"
julparam=#pixel
power=power
bailout=bailout
tweak_type=tweak_type
fac_pre=fac_pre
func_pre=func_pre
fac_post=fac_post
func_post=func_post
}
Fractal 085 B - Bloody Gold - Part of ELEMENTS series - 06.2022
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Brown" opacity=*** visible=no mergemode=addition
mapping:
center=-*.************/*.************ magn=****.**** angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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="Blue" opacity=*** visible=no mergemode=addition
mapping:
center=-*.************/*.************ magn=****.**** angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=***
mapping:
center=-*.*************/*.************** magn=***.*****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_e*=*.* p_e*=*.*
p_bailout=***.* f_fn*=round f_fn*=ident
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=******* 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=***
}mt-******b-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(-c*z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 083 A - Grape - Part of LIFE series - 05.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=screen
mapping:
center=-*.*************/*.************* magn=***.*****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.*
p_bailout=***.* f_fn*=ident
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="Layer *" opacity=*** mergemode=screen
mapping:
center=-*.*************/*.************* magn=***.*****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.*
p_bailout=***.* f_fn*=ident
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=******** index=-** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=saturation
mapping:
center=-*.*************/*.************* magn=****.****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.*
p_bailout=***.* f_fn*=ident
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=******* index=-** color=******** index=-**
color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=multiply
mapping:
center=-*.*************/*.************* magn=****.****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.*
p_bailout=***.* f_fn*=ident
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=******* index=-** color=********
index=-** color=*****
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.*************/*.************* magn=****.****
angle=***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******b-m" p_n=*.*
p_bailout=***.* f_fn*=ident
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=***
}mt-******b-m { ; Mark Townsend, ** Jun ****
init:
z = #pixel
c = #pixel
loop:
z = z^@n + @fn*(real(z) / imag(z)) - c
bailout:
|z| < @bailout
default:
title = "******b Mset"
param n
caption = "Exponent"
default = *.*
endparam
param bailout
caption = "Bailout value"
default = ***.*
endparam
func fn*
caption = "Function"
default = ident()
endfunc
switch:
type = "mt-******b-j"
bailout = bailout
n = n
c = #pixel
fn* = fn*
}
Fractal 082 E - Windy Sunny Day - Part of ELEMENTS series - 06.2023
Fractal_***_E {
fractal:
title="Fractal_***_E" width=**** height=**** layers=**
credits="Philoxerax;*/**/****"
layer:
caption="Layer **" opacity=*** mergemode=addition transparent=yes
mapping:
center=-*.**********/-*.********** magn=*.********
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=*.***/** p_cd=*/** p_epsilon=**
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
comments="Use with Emboss coloring algorithm." smooth=no
rotation=-*** index=** color=******** index=** color=********
index=-*** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=hsladd transparent=yes
mapping:
center=*.********/*.******** magn=*.******** angle=-**.****
formula:
maxiter=*** adjust=yes filename="mt.ufm" entry="mt-latoocarfian-ii"
p_ab=*.***/** p_cd=*/** p_epsilon=**
inside:
transfer=none solid=*
outside:
transfer=linear
gradient:
comments="Use with Emboss coloring algorithm." smooth=no
rotation=*** index=*** color=******** index=*** color=********
index=** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten method=multipass
mapping:
center=****.******/-*.********** magn=*.******** angle=***.****
skew=-*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=sqrt
f_fn*=cos f_fn*=sin p_p*=*.*/**
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=***.****
skew=-*.****
formula:
maxiter=*** percheck=off filename="ldm.ufm" entry="DM**" f_fn*=sqrt
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="Layer *" opacity=*** mergemode=darken
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Use with Emboss coloring algorithm." smooth=no
rotation=*** index=*** color=******** index=*** color=********
index=*** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=hardlight
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=overlay
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
comments="Use with Emboss coloring algorithm." smooth=no
rotation=*** index=*** color=******** index=*** color=********
index=*** color=* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=multiply
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
comments="Use with Emboss coloring algorithm." smooth=no
rotation=*** index=*** color=******** index=*** color=********
index=*** color=* index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=luminance
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*** mergemode=subtraction
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=***
mapping:
center=-*.***********/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=******* index=***
color=******* index=-*** color=******* index=-*** color=*******
index=-** color=******** index=-** color=***** index=-**
color=********
opacity:
smooth=no index=* opacity=***
}mt-latoocarfian-ii { ; Mark Townsend ** Dec ****
init:
float xnew = *
float ynew = *
float a = real(@ab)
float b = imag(@ab)
float c = real(@cd)
float d = imag(@cd)
float x = real(#pixel)
float y = imag(#pixel)
loop:
xnew = sin(y * b) + c * sin(x * b)
ynew = sin(x * a) + d * sin(y * a)
x = xnew
y = ynew
#z = x + flip(y)
bailout:
|#z - #pixel| > @epsilon
default:
title = "Latööcarfian II"
magn = *.*
param ab
caption = "(a, b)"
default = (-*.******, *.******)
endparam
param cd
caption = "(c, d)"
default = (*.******, *.******)
endparam
param epsilon
caption = "Epsilon"
default = *.*
endparam
}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=(.**,*)
endparamfunc fn*
default=cos()
endfunc
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 081 C - Drop - Part of ELEMENTS series - 05.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=** mergemode=addition
mapping:
center=-*.*************/*.************* magn=****.** angle=-***.****
formula:
maxiter=*** filename="lkm*.ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=* p_bailout=****
p_shape_type=square p_q*_type=out p_q*_type=out p_q*_type=out
p_q*_type=out p_freq=* p_amp=*.* p_nteeth=* p_rsmall=*.*
p_inrad=*.**
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=** color=* index=*** color=********
index=*** color=******** index=*** color=******* index=***
color=******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=-*.*************/*.************* magn=****.** angle=-***.****
formula:
maxiter=*** filename="lkm*.ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=* p_bailout=****
p_shape_type=square p_q*_type=out p_q*_type=out p_q*_type=out
p_q*_type=out p_freq=* p_amp=*.* p_nteeth=* p_rsmall=*.*
p_inrad=*.**
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=*** color=******** index=***
color=******** index=*** color=******** index=*** color=********
index=-** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.************/*.************ magn=***.*****
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.************/*.************ magn=***.*****
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.************/*.************ magn=***.*****
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*
opacity:
smooth=no index=* opacity=***
}mixed-up-multiplication-mandelbrot { ; Kerry Mitchell **Nov****
;
; Instead of using regular complex multiplication, this method uses a base
; shape (= unit circle normally). Use the polar angle of z to reach back
; to the base shape and find its coordinates. Then, use the actual and base
; magnitudes to determine a scale factor, and the arc length to determine
; the angle (angle = arc length / base magnitude). From there, the magnitude
; of z^power = scale factor ^ power, and angle of z^power = power * angle.
;
$define debug
global:
complex corner[**]
float pitch_s=*
float pitch_trad=*
float smax=*
float tdegmax[**]
float twopi=**#pi
int gi=*
;
; cruciform settings: central square side & four other squares, one
; on each side of central square
;
if(@shape_type=="cruciform")
corner[*]=(*,*)
corner[*]=(*,*)
corner[*]=(*,*)
corner[*]=(*,*)
corner[*]=(-*,*)
corner[*]=(-*,*)
corner[*]=(-*,*)
corner[*]=(-*,-*)
corner[*]=(-*,-*)
corner[*]=(-*,-*)
corner[**]=(*,-*)
corner[**]=(*,-*)
corner[**]=(*,-*)
corner[**]=(*,*)
;
; rescale so that corner[*] = (*,*)
; find degree measures of corners
;
gi=-*
while(gi<**)
gi=gi+*
corner[gi]=corner[gi]/*
tdegmax[gi]=(atan*(corner[gi])/#pi****+***)%***
endwhile
elseif(@shape_type=="triangle")
corner[*]=(*,*)
corner[*]=(-*+flip(sqrt(*)))/*
corner[*]=(-*-flip(sqrt(*)))/*
tdegmax[*]=*
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
elseif(@shape_type=="star")
corner[*]=(*,*)
corner[*]=@inrad*(*,*)/sqrt(*)
corner[*]=(*,*)
corner[*]=@inrad*(-*,*)/sqrt(*)
corner[*]=(-*,*)
corner[*]=@inrad*(-*,-*)/sqrt(*)
corner[*]=(*,-*)
corner[*]=@inrad*(*,-*)/sqrt(*)
corner[*]=(*,*)
tdegmax[*]=*
tdegmax[*]=**
tdegmax[*]=**
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
endif
;
; gear settings
;
if(@shape_type=="gear")
pitch_trad=twopi/@nteeth
smax=#pi*(*+@rsmall)
pitch_s=smax/@nteeth
endif
init:
complex arccenter=(*,*)
complex c=#pixel
complex compk=(*,*)
complex w=(*,*)
complex z=#pixel
float afac=*
float bfac=*
float cfac=*
float dcrit=*/(*+@rsmall)
float dtooth=*
float h*=*
float k*=*
float k=*
float phi=*
float phimax=*
float r=*
float s=*
float slope=*
float tdeg=*
float third=*/*
float trad=*
float x=*
float xb=*
float x*=*
float y=*
float yb=*
float y*=*
int itooth=*
loop:
;
; decompose z
;
x=real(z), y=imag(z)
;
; square
;
if(@shape_type=="square")
;
; determine arc length from basis shape
;
phimax=*
;
; find scale factor k
;
k=abs(x)
if(abs(y)>k)
k=abs(y)
endif
;
; find standard polar angle
;
trad=atan*(z)
if(trad<*)
trad=trad+**#pi
endif
tdeg=trad/#pi****
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<**) ; upper right side
xb=*, yb=y/k, s=yb
elseif(tdeg<***) ; top
xb=x/k, yb=*, s=*-xb
elseif(tdeg<***) ; left side
xb=-*, yb=y/k, s=*-yb
elseif(tdeg<***) ; bottom
xb=x/k, yb=-*, s=*+xb
else ; lower right side
xb=*, yb=y/k, s=*+yb
endif
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<*) ; upper right side
xb=*, yb=phi
elseif(phi<*) ; top
xb=*-phi, yb=*
elseif(phi<*) ; left side
xb=-*, yb=*-phi
elseif(phi<*) ; bottom
xb=phi-*, yb=-*
else ; lower right side
xb=*, yb=phi-*
endif
x=xb*k, y=yb*k
z=x+flip(y)+c
;
; triangle
;
elseif(@shape_type=="triangle")
;
; determine arc length from basis shape
;
third=sqrt(*)
phimax=**third
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=atan*(z)
tdeg=(trad/#pi****+***)%***
trad=tdeg/****#pi
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<tdegmax[*]) ; side * top
xb=third/(third+**tan(trad)), yb=third/**(*-xb), s=cabs(xb+flip(yb)-corner[*])
elseif(tdeg<tdegmax[*]) ; side * left
xb=-*.*, yb=xb*tan(trad), s=third+cabs(xb+flip(yb)-corner[*])
else ; side * bottom
xb=third/(third-**tan(trad)), yb=third/**(xb-*), s=**third+cabs(xb+flip(yb)-corner[*])
endif
k=r/cabs(xb+flip(yb))
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<third) ; side * top
w=phi/third*(corner[*]-corner[*])+corner[*]
elseif(phi<(**third)) ; side * left
w=(phi/third-*)*(corner[*]-corner[*])+corner[*]
else ; side * bottom
w=(phi/third-*)*(corner[*]-corner[*])+corner[*]
endif
w=w*k, z=w+c
;
; quarter-circle arcs in quadrants
;
elseif(@shape_type=="quarter-circle")
phimax=**#pi
;
; z: find standard magnitude and polar angle
;
r=cabs(z)
trad=(atan*(z)+**phimax)%phimax
tdeg=trad/#pi****
;
; z: find coordinates of point on base shape and base shape arc length
; equate angle of base point with angle of field point
;
if(x==*)
xb=*, yb=*
s=#pi/*
if(y<*)
yb=-*
s=**#pi/*
endif
else
if(tdeg<**) ; quadrant *
if(@q*_type=="in")
arccenter=(*,*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac-sqrt(yb))/(**afac)
yb=xb*y/x
s=#pi/*-atan*((*-xb)+flip(*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
arccenter=(-*,*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac+sqrt(yb))/(**afac)
yb=xb*y/x
s=**#pi/*-atan*((-*-xb)+flip(*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
arccenter=(-*,-*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac+sqrt(yb))/(**afac)
yb=xb*y/x
s=#pi/*-atan*((-*-xb)+flip(-*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
else ; quadrant *
if(@q*_type=="in")
arccenter=(*,-*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac-sqrt(yb))/(**afac)
yb=xb*y/x
s=**#pi/*-atan*((*-xb)+flip(-*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
endif
endif
phi=s
k=r/cabs(xb+flip(yb))
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
tdeg=phi/#pi****
if(tdeg<**) ; quadrant *
if(@q*_type=="in")
xb=*-sin(phi), yb=*-cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
xb=-*+sin(phi), yb=*+cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
xb=-*-sin(phi), yb=-*-cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
else ; quadrant *
if(@q*_type=="in")
xb=*+sin(phi), yb=-*+cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
endif
z=k*w+c
;
; cruciform
;
elseif(@shape_type=="cruciform")
;
; determine arc length from basis shape
;
phimax=*
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=atan*(z)
tdeg=(trad/#pi****+***)%***
trad=tdeg/****#pi
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<tdegmax[*]) ; side * (far right) upper
xb=*, yb=xb*tan(trad), s=yb
elseif(tdeg<tdegmax[*]) ; side *
yb=third, xb=yb/tan(trad), s=(*-xb)+third
elseif(tdeg<tdegmax[*]) ; side *
xb=third, yb=xb*tan(trad), s=*+(yb-third)
elseif(tdeg<tdegmax[*]) ; side *
yb=*, xb=yb/tan(trad), s=*-xb
elseif(tdeg<tdegmax[*]) ; side *
xb=-third, yb=xb*tan(trad), s=**third+(*-yb)
elseif(tdeg<tdegmax[*]) ; side *
yb=third, xb=yb/tan(trad), s=*-(xb+third)
elseif(tdeg<tdegmax[*]) ; side *
xb=-*, yb=xb*tan(trad), s=*-yb
elseif(tdeg<tdegmax[*]) ; side *
yb=-third, xb=yb/tan(trad), s=***third+xb
elseif(tdeg<tdegmax[*]) ; side *
xb=-third, yb=xb*tan(trad), s=***third-yb
elseif(tdeg<tdegmax[**]) ; side **
yb=-*, xb=yb/tan(trad), s=*+xb
elseif(tdeg<tdegmax[**]) ; side **
xb=third, yb=xb*tan(trad), s=***third+yb
elseif(tdeg<tdegmax[**]) ; side **
yb=-third, xb=yb/tan(trad), s=*+(xb-third)
else ; side * lower
xb=*, yb=xb*tan(trad), s=*+yb
endif
k=r/cabs(xb+flip(yb))
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<(*/*)) ; side * (far right) upper
xb=*, yb=phi
elseif(phi<*) ; side *
xb=third+*-phi, yb=third
elseif(phi<(*/*)) ; side *
xb=third, yb=phi-**third
elseif(phi<(*/*)) ; side *
xb=*-phi, yb=*
elseif(phi<*) ; side *
xb=-third, yb=***third-phi
elseif(phi<(**/*)) ; side *
xb=*/*-phi, yb=third
elseif(phi<(**/*)) ; side *
xb=-*, yb=*-phi
elseif(phi<*) ; side *
xb=-**/*+phi, yb=-third
elseif(phi<(**/*)) ; side *
xb=-third, yb=**/*-phi
elseif(phi<(**/*)) ; side **
xb=phi-*, yb=-*
elseif(phi<*) ; side **
xb=third, yb=phi-**/*
elseif(phi<(**/*)) ; side **
xb=phi-**/*, yb=-third
else ; side * lower
xb=*, yb=phi-*
endif
x=xb*k, y=yb*k
z=x+flip(y)+c
;
; rose curve
;
elseif(@shape_type=="rose curve")
trad=atan*(z)
r=*+@amp*sin(@freq*trad)
xb=r*cos(trad), yb=r*sin(trad), w=xb+flip(yb)
phi=trad, compk=z/w
compk=compk^@power, phi=@power*phi
r=*+@amp*sin(@freq*phi)
xb=r*cos(phi), yb=r*sin(phi), w=xb+flip(yb)
z=compk*w+c
;
; gear
;
elseif(@shape_type=="gear")
;
; z: find theta, which tooth z projects to, and radius (* or rsmall)
; itooth from * to nteeth-*, dtooth = fractional tooth, * to *
;
trad=(atan*(z)+**twopi)%twopi
dtooth=trad/pitch_trad
itooth=trunc(dtooth), dtooth=dtooth-itooth
if(dtooth<*.*) ; radius = *
k=cabs(z)
s=itooth*pitch_s+dtooth*pitch_trad
else ; radius = rsmall
k=cabs(z)/@rsmall
s=itooth*pitch_s+*.**pitch_trad+(dtooth-*.*)*pitch_trad*@rsmall
endif
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%smax
;
; use arc length to find which tooth, radius, and project to new z and add c
;
dtooth=phi/pitch_s
itooth=trunc(dtooth), dtooth=dtooth-itooth
if(dtooth<dcrit) ; radius = *
r=k
trad=itooth*pitch_trad+dtooth/dcrit*pitch_trad/*
else ; radius = rsmall
r=k*@rsmall
trad=itooth*pitch_trad+(*+(dtooth-dcrit)/(*-dcrit))*pitch_trad/*
endif
z=r*(cos(trad)+flip(sin(trad)))+c
;
; star
;
elseif(@shape_type=="star")
;
; determine arc length from basis shape
;
phimax=cabs(corner[*]-corner[*])
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=(atan*(z)+**twopi)%twopi
tdeg=trad/#pi****
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
else ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
endif
k=r/cabs(w)
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%(**phimax)
phi=phi/phimax
;
; use phi and k to return new x & y and add c
;
if(phi<*) ; side *
w=phi*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
else ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
endif
z=k*w+c
;
; unit circle (standard)
;
elseif(@shape_type=="unit circle")
z=z^@power+c
endif
bailout:
(|z|<@bailout)
default:
title="Mixed-Up Multiplication Mandelbrot"
;
; iteration parameters
;
heading
caption="Iteration Parameters"
endheading
float param power
caption="power"
default=*
endparam
float param bailout
caption="bailout"
default=****
endparam
;
; base shape parameters
;
heading
caption="Base Shape Parameters"
endheading
param shape_type
caption="shape type"
default=*
enum="unit circle" "square" "triangle" "quarter-circle" "cruciform" \
"rose curve" "gear" "star"
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
int param freq
caption="frequency"
default=*
visible=(@shape_type=="rose curve")
endparam
float param amp
caption="amplitude"
default=*.*
max=*
visible=(@shape_type=="rose curve")
endparam
int param nteeth
caption="# teeth"
default=*
min=*
visible=(@shape_type=="gear")
endparam
float param rsmall
caption="small radius"
default=*.*
min=*
visible=(@shape_type=="gear")
endparam
float param inrad
caption="inner radius"
default=*.**
min=*
visible=(@shape_type=="star")
endparam
switch:
type="mixed-up-multiplication-julia"
julparam=pixel
power=power
bailout=bailout
shape_type=shape_type
q*_type=q*_type
q*_type=q*_type
q*_type=q*_type
q*_type=q*_type
freq=freq
amp=amp
nteeth=nteeth
rsmall=rsmall
inrad=inrad
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 078 C - Hell’s Gate - Part of BEYOND series - 04.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.*************/*.************ magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=overlay
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-**.****
formula:
maxiter=*** filename="lkm*.ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=* p_bailout=****
p_shape_type=square p_q*_type=out p_q*_type=out p_q*_type=out
p_q*_type=out p_freq=* p_amp=*.* p_nteeth=* p_rsmall=*.*
p_inrad=*.**
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=red
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=******** index=*** color=********
index=*** color=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}mixed-up-multiplication-mandelbrot { ; Kerry Mitchell **Nov****
;
; Instead of using regular complex multiplication, this method uses a base
; shape (= unit circle normally). Use the polar angle of z to reach back
; to the base shape and find its coordinates. Then, use the actual and base
; magnitudes to determine a scale factor, and the arc length to determine
; the angle (angle = arc length / base magnitude). From there, the magnitude
; of z^power = scale factor ^ power, and angle of z^power = power * angle.
;
$define debug
global:
complex corner[**]
float pitch_s=*
float pitch_trad=*
float smax=*
float tdegmax[**]
float twopi=**#pi
int gi=*
;
; cruciform settings: central square side & four other squares, one
; on each side of central square
;
if(@shape_type=="cruciform")
corner[*]=(*,*)
corner[*]=(*,*)
corner[*]=(*,*)
corner[*]=(*,*)
corner[*]=(-*,*)
corner[*]=(-*,*)
corner[*]=(-*,*)
corner[*]=(-*,-*)
corner[*]=(-*,-*)
corner[*]=(-*,-*)
corner[**]=(*,-*)
corner[**]=(*,-*)
corner[**]=(*,-*)
corner[**]=(*,*)
;
; rescale so that corner[*] = (*,*)
; find degree measures of corners
;
gi=-*
while(gi<**)
gi=gi+*
corner[gi]=corner[gi]/*
tdegmax[gi]=(atan*(corner[gi])/#pi****+***)%***
endwhile
elseif(@shape_type=="triangle")
corner[*]=(*,*)
corner[*]=(-*+flip(sqrt(*)))/*
corner[*]=(-*-flip(sqrt(*)))/*
tdegmax[*]=*
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
elseif(@shape_type=="star")
corner[*]=(*,*)
corner[*]=@inrad*(*,*)/sqrt(*)
corner[*]=(*,*)
corner[*]=@inrad*(-*,*)/sqrt(*)
corner[*]=(-*,*)
corner[*]=@inrad*(-*,-*)/sqrt(*)
corner[*]=(*,-*)
corner[*]=@inrad*(*,-*)/sqrt(*)
corner[*]=(*,*)
tdegmax[*]=*
tdegmax[*]=**
tdegmax[*]=**
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
tdegmax[*]=***
endif
;
; gear settings
;
if(@shape_type=="gear")
pitch_trad=twopi/@nteeth
smax=#pi*(*+@rsmall)
pitch_s=smax/@nteeth
endif
init:
complex arccenter=(*,*)
complex c=#pixel
complex compk=(*,*)
complex w=(*,*)
complex z=#pixel
float afac=*
float bfac=*
float cfac=*
float dcrit=*/(*+@rsmall)
float dtooth=*
float h*=*
float k*=*
float k=*
float phi=*
float phimax=*
float r=*
float s=*
float slope=*
float tdeg=*
float third=*/*
float trad=*
float x=*
float xb=*
float x*=*
float y=*
float yb=*
float y*=*
int itooth=*
loop:
;
; decompose z
;
x=real(z), y=imag(z)
;
; square
;
if(@shape_type=="square")
;
; determine arc length from basis shape
;
phimax=*
;
; find scale factor k
;
k=abs(x)
if(abs(y)>k)
k=abs(y)
endif
;
; find standard polar angle
;
trad=atan*(z)
if(trad<*)
trad=trad+**#pi
endif
tdeg=trad/#pi****
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<**) ; upper right side
xb=*, yb=y/k, s=yb
elseif(tdeg<***) ; top
xb=x/k, yb=*, s=*-xb
elseif(tdeg<***) ; left side
xb=-*, yb=y/k, s=*-yb
elseif(tdeg<***) ; bottom
xb=x/k, yb=-*, s=*+xb
else ; lower right side
xb=*, yb=y/k, s=*+yb
endif
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<*) ; upper right side
xb=*, yb=phi
elseif(phi<*) ; top
xb=*-phi, yb=*
elseif(phi<*) ; left side
xb=-*, yb=*-phi
elseif(phi<*) ; bottom
xb=phi-*, yb=-*
else ; lower right side
xb=*, yb=phi-*
endif
x=xb*k, y=yb*k
z=x+flip(y)+c
;
; triangle
;
elseif(@shape_type=="triangle")
;
; determine arc length from basis shape
;
third=sqrt(*)
phimax=**third
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=atan*(z)
tdeg=(trad/#pi****+***)%***
trad=tdeg/****#pi
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<tdegmax[*]) ; side * top
xb=third/(third+**tan(trad)), yb=third/**(*-xb), s=cabs(xb+flip(yb)-corner[*])
elseif(tdeg<tdegmax[*]) ; side * left
xb=-*.*, yb=xb*tan(trad), s=third+cabs(xb+flip(yb)-corner[*])
else ; side * bottom
xb=third/(third-**tan(trad)), yb=third/**(xb-*), s=**third+cabs(xb+flip(yb)-corner[*])
endif
k=r/cabs(xb+flip(yb))
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<third) ; side * top
w=phi/third*(corner[*]-corner[*])+corner[*]
elseif(phi<(**third)) ; side * left
w=(phi/third-*)*(corner[*]-corner[*])+corner[*]
else ; side * bottom
w=(phi/third-*)*(corner[*]-corner[*])+corner[*]
endif
w=w*k, z=w+c
;
; quarter-circle arcs in quadrants
;
elseif(@shape_type=="quarter-circle")
phimax=**#pi
;
; z: find standard magnitude and polar angle
;
r=cabs(z)
trad=(atan*(z)+**phimax)%phimax
tdeg=trad/#pi****
;
; z: find coordinates of point on base shape and base shape arc length
; equate angle of base point with angle of field point
;
if(x==*)
xb=*, yb=*
s=#pi/*
if(y<*)
yb=-*
s=**#pi/*
endif
else
if(tdeg<**) ; quadrant *
if(@q*_type=="in")
arccenter=(*,*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac-sqrt(yb))/(**afac)
yb=xb*y/x
s=#pi/*-atan*((*-xb)+flip(*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
arccenter=(-*,*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac+sqrt(yb))/(**afac)
yb=xb*y/x
s=**#pi/*-atan*((-*-xb)+flip(*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
arccenter=(-*,-*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac+sqrt(yb))/(**afac)
yb=xb*y/x
s=#pi/*-atan*((-*-xb)+flip(-*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
else ; quadrant *
if(@q*_type=="in")
arccenter=(*,-*), x*=real(arccenter), y*=imag(arccenter)
afac=r*r, bfac=-**x*(x*x*+y*y*), cfac=x*x*(x**x*+y**y*-*)
yb=bfac*bfac-**afac*cfac
xb=(-bfac-sqrt(yb))/(**afac)
yb=xb*y/x
s=**#pi/*-atan*((*-xb)+flip(-*-yb))
else
xb=cos(trad), yb=sin(trad), s=trad
endif
endif
endif
phi=s
k=r/cabs(xb+flip(yb))
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
tdeg=phi/#pi****
if(tdeg<**) ; quadrant *
if(@q*_type=="in")
xb=*-sin(phi), yb=*-cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
xb=-*+sin(phi), yb=*+cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
elseif(tdeg<***) ; quadrant *
if(@q*_type=="in")
xb=-*-sin(phi), yb=-*-cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
else ; quadrant *
if(@q*_type=="in")
xb=*+sin(phi), yb=-*+cos(phi), w=xb+flip(yb)
else
xb=cos(phi), yb=sin(phi), w=xb+flip(yb)
endif
endif
z=k*w+c
;
; cruciform
;
elseif(@shape_type=="cruciform")
;
; determine arc length from basis shape
;
phimax=*
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=atan*(z)
tdeg=(trad/#pi****+***)%***
trad=tdeg/****#pi
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<tdegmax[*]) ; side * (far right) upper
xb=*, yb=xb*tan(trad), s=yb
elseif(tdeg<tdegmax[*]) ; side *
yb=third, xb=yb/tan(trad), s=(*-xb)+third
elseif(tdeg<tdegmax[*]) ; side *
xb=third, yb=xb*tan(trad), s=*+(yb-third)
elseif(tdeg<tdegmax[*]) ; side *
yb=*, xb=yb/tan(trad), s=*-xb
elseif(tdeg<tdegmax[*]) ; side *
xb=-third, yb=xb*tan(trad), s=**third+(*-yb)
elseif(tdeg<tdegmax[*]) ; side *
yb=third, xb=yb/tan(trad), s=*-(xb+third)
elseif(tdeg<tdegmax[*]) ; side *
xb=-*, yb=xb*tan(trad), s=*-yb
elseif(tdeg<tdegmax[*]) ; side *
yb=-third, xb=yb/tan(trad), s=***third+xb
elseif(tdeg<tdegmax[*]) ; side *
xb=-third, yb=xb*tan(trad), s=***third-yb
elseif(tdeg<tdegmax[**]) ; side **
yb=-*, xb=yb/tan(trad), s=*+xb
elseif(tdeg<tdegmax[**]) ; side **
xb=third, yb=xb*tan(trad), s=***third+yb
elseif(tdeg<tdegmax[**]) ; side **
yb=-third, xb=yb/tan(trad), s=*+(xb-third)
else ; side * lower
xb=*, yb=xb*tan(trad), s=*+yb
endif
k=r/cabs(xb+flip(yb))
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%phimax
;
; use phi and k to return new x & y and add c
;
if(phi<(*/*)) ; side * (far right) upper
xb=*, yb=phi
elseif(phi<*) ; side *
xb=third+*-phi, yb=third
elseif(phi<(*/*)) ; side *
xb=third, yb=phi-**third
elseif(phi<(*/*)) ; side *
xb=*-phi, yb=*
elseif(phi<*) ; side *
xb=-third, yb=***third-phi
elseif(phi<(**/*)) ; side *
xb=*/*-phi, yb=third
elseif(phi<(**/*)) ; side *
xb=-*, yb=*-phi
elseif(phi<*) ; side *
xb=-**/*+phi, yb=-third
elseif(phi<(**/*)) ; side *
xb=-third, yb=**/*-phi
elseif(phi<(**/*)) ; side **
xb=phi-*, yb=-*
elseif(phi<*) ; side **
xb=third, yb=phi-**/*
elseif(phi<(**/*)) ; side **
xb=phi-**/*, yb=-third
else ; side * lower
xb=*, yb=phi-*
endif
x=xb*k, y=yb*k
z=x+flip(y)+c
;
; rose curve
;
elseif(@shape_type=="rose curve")
trad=atan*(z)
r=*+@amp*sin(@freq*trad)
xb=r*cos(trad), yb=r*sin(trad), w=xb+flip(yb)
phi=trad, compk=z/w
compk=compk^@power, phi=@power*phi
r=*+@amp*sin(@freq*phi)
xb=r*cos(phi), yb=r*sin(phi), w=xb+flip(yb)
z=compk*w+c
;
; gear
;
elseif(@shape_type=="gear")
;
; z: find theta, which tooth z projects to, and radius (* or rsmall)
; itooth from * to nteeth-*, dtooth = fractional tooth, * to *
;
trad=(atan*(z)+**twopi)%twopi
dtooth=trad/pitch_trad
itooth=trunc(dtooth), dtooth=dtooth-itooth
if(dtooth<*.*) ; radius = *
k=cabs(z)
s=itooth*pitch_s+dtooth*pitch_trad
else ; radius = rsmall
k=cabs(z)/@rsmall
s=itooth*pitch_s+*.**pitch_trad+(dtooth-*.*)*pitch_trad*@rsmall
endif
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%smax
;
; use arc length to find which tooth, radius, and project to new z and add c
;
dtooth=phi/pitch_s
itooth=trunc(dtooth), dtooth=dtooth-itooth
if(dtooth<dcrit) ; radius = *
r=k
trad=itooth*pitch_trad+dtooth/dcrit*pitch_trad/*
else ; radius = rsmall
r=k*@rsmall
trad=itooth*pitch_trad+(*+(dtooth-dcrit)/(*-dcrit))*pitch_trad/*
endif
z=r*(cos(trad)+flip(sin(trad)))+c
;
; star
;
elseif(@shape_type=="star")
;
; determine arc length from basis shape
;
phimax=cabs(corner[*]-corner[*])
;
; find standard magnitude and polar angle
;
r=cabs(z)
trad=(atan*(z)+**twopi)%twopi
tdeg=trad/#pi****
;
; use polar angle to find coordinates of point on base shape
; and base shape arc length
;
if(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
elseif(tdeg<tdegmax[*]) ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
else ; side *
k*=imag(corner[*]+corner[*])/*, h*=real(corner[*]+corner[*])/*
slope=imag(corner[*]-corner[*])/real(corner[*]-corner[*])
xb=(k*-slope*h*)/(tan(trad)-slope), yb=xb*tan(trad)
w=xb+flip(yb), s=cabs(w-corner[*])+**phimax
endif
k=r/cabs(w)
phi=s
;
; raise z to power
;
k=k^@power, phi=(@power*phi)%(**phimax)
phi=phi/phimax
;
; use phi and k to return new x & y and add c
;
if(phi<*) ; side *
w=phi*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
elseif(phi<*) ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
else ; side *
w=(phi-*)*(corner[*]-corner[*])+corner[*]
endif
z=k*w+c
;
; unit circle (standard)
;
elseif(@shape_type=="unit circle")
z=z^@power+c
endif
bailout:
(|z|<@bailout)
default:
title="Mixed-Up Multiplication Mandelbrot"
;
; iteration parameters
;
heading
caption="Iteration Parameters"
endheading
float param power
caption="power"
default=*
endparam
float param bailout
caption="bailout"
default=****
endparam
;
; base shape parameters
;
heading
caption="Base Shape Parameters"
endheading
param shape_type
caption="shape type"
default=*
enum="unit circle" "square" "triangle" "quarter-circle" "cruciform" \
"rose curve" "gear" "star"
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
param q*_type
caption="quadrant *"
default=*
enum="in" "out"
visible=(@shape_type=="quarter-circle")
endparam
int param freq
caption="frequency"
default=*
visible=(@shape_type=="rose curve")
endparam
float param amp
caption="amplitude"
default=*.*
max=*
visible=(@shape_type=="rose curve")
endparam
int param nteeth
caption="# teeth"
default=*
min=*
visible=(@shape_type=="gear")
endparam
float param rsmall
caption="small radius"
default=*.*
min=*
visible=(@shape_type=="gear")
endparam
float param inrad
caption="inner radius"
default=*.**
min=*
visible=(@shape_type=="star")
endparam
switch:
type="mixed-up-multiplication-julia"
julparam=pixel
power=power
bailout=bailout
shape_type=shape_type
q*_type=q*_type
q*_type=q*_type
q*_type=q*_type
q*_type=q*_type
freq=freq
amp=amp
nteeth=nteeth
rsmall=rsmall
inrad=inrad
}
Fractal 076 C - Golden Hills - Part of ELEMENTS series - 04.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.************/*.************ magn=***.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=* index=** color=* index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.*************/*.************ magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=* index=** color=* index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 075 D - Light vs Darkness - Part of OUTER SPACE series - 04.2022
Fractal_***_D {
fractal:
title="Fractal_***_D" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Layer *" opacity=** mergemode=overlay
mapping:
center=-*.**************/-*.************ magn=****.****
angle=***.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=******** index=-*** color=*
index=-** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** mergemode=overlay
mapping:
center=-*.**************/-*.************** magn=****.****
angle=***.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr
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=addition
mapping:
center=-*.*************/*.************ magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=** index=*** color=* index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=lighten
mapping:
center=-*.*************/*.************ magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=***
mapping:
center=-*.*************/*.************ magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
}dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 074 A - Guts - Part of LIFE series - 03.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=multiply precision=*
mapping:
center=**.*********/*.******** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=****** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=multiply precision=*
mapping:
center=**.*********/*.********* magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=****** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=*** mergemode=multiply precision=*
mapping:
center=-**.*********/*.********** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=****** index=*** color=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** precision=*
mapping:
center=-**.*********/*.********* magn=*.******** angle=-**.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=******* index=*** color=********
opacity:
smooth=no index=* opacity=***
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}
Fractal 073 C - Cosmos Singularity - Part of OUTER SPACE series - 04.2022
Fractal_***_C {
fractal:
title="Fractal_***_C" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=** mergemode=hsladd
mapping:
center=-*.*************/-*.************ magn=***.*****
angle=-****.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=*** color=*
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=color
mapping:
center=-*.*************/-*.************ magn=***.*****
angle=-****.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=color
mapping:
center=-*.*************/-*.************ magn=***.*****
angle=-****.***
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=* color=******** index=**
color=******* index=*** color=*** index=-*** color=********
index=-** color=******** index=*** color=********
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 073 B - Cosmos Singularity - Part of OUTER SPACE series - 04.2022
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=-*.*************/*.************* magn=***.*****
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=* index=*** color=* index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=lighten
mapping:
center=-*.*************/-*.************ magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=hsladd
mapping:
center=-*.*************/-*.************ magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=*** color=******* index=**
color=******** index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=color
mapping:
center=-*.*************/-*.************ magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=color
mapping:
center=-*.*************/-*.************ magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=subtraction
mapping:
center=-*.************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.*************/-*.************ magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-*** index=** color=******** index=*** color=***
index=-*** color=******** index=-** color=********
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 073 A - Cosmos Singularity - Part of OUTER SPACE series - 04.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=addition
mapping:
center=*.*************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=* index=*** color=* index=*** color=********
index=*** color=*
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=hsladd
mapping:
center=*.************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=*** color=*
index=*** color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=color
mapping:
center=*.************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=color
mapping:
center=*.************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=subtraction
mapping:
center=*.************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=*.************/-*.************* magn=**.******
angle=-****.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
inside:
transfer=none solid=**********
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=******* index=*** color=*** index=-** color=********
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 072 B - Light Diffraction - Part of ELEMENTS series - 10.2022
Fractal_***_B {
fractal:
title="Fractal_***_B" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=** mergemode=darken
mapping:
center=-*.*************/*.************ magn=***.***** angle=-**.****
formula:
maxiter=**** percheck=off filename="dmj.ufm"
entry="dmj-PhoenixDNovaMandel" p_start=*/* p_power*=*/* p_power*=*/*
p_coeff*=*/* p_coeff*=-*/* p_induct=-*.*/* p_bailout=*.*****
p_usecritical=no p_relax=*/*
inside:
transfer=sqr
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******** index=***
color=******** index=*** color=******** index=-** color=********
opacity:
smooth=no index=* opacity=***
group:
caption="G*" opacity=*** mergemode=darken expanded=no items=*
layer:
caption="G* C" opacity=*** mergemode=luminance
mapping:
center=-*.************/*.************* magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="G* B" opacity=** mergemode=green
mapping:
center=-*.************/*.************* magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="G* A" opacity=** mergemode=saturation
mapping:
center=-*.************/*.************ magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
group:
caption="G*" opacity=*** mergemode=passthrough expanded=no items=*
layer:
caption="G* C" opacity=*** mergemode=luminance
mapping:
center=-*.***********/*.************ magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="G* B" opacity=** mergemode=green
mapping:
center=-*.***********/*.************ magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
layer:
caption="G* A" opacity=**
mapping:
center=-*.************/*.*********** magn=**.****** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
}dmj-PhoenixDNovaMandel {
;
; This is the DoubleNova fractal (Mandelbrot form),
; a modified Newtonian-style fractal.
;
; This variant includes an inductive component similar
; to the Phoenix fractal.
;
init:
complex zold = (*,*)
complex y = (*,*)z = @start
IF (@usecritical)
z = ( -((@power*-*)*@power**@coeff*) / \
((@power*-*)*@power**@coeff*) ) ^ (*/(@power*-@power*))
ENDIFloop:
y = zold
zold = z
z = z - (@coeff**z^@power* + @coeff**z^@power* - *) * @relax / \
(@coeff**@power**z^(@power*-*) + @coeff**@power**z^(@power*-*)) + #pixel + @induct*ybailout:
|z - zold| > @bailoutdefault:
title = "PhoenixDoubleNova (Mandelbrot)"
helpfile = "dmj-pub\dmj-pub-uf-pdn.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 = "Primary Exponent"
default = (*,*)
hint = "Defines the primary exponent for the equation."
endparam
param power*
caption = "Secondary Exponent"
default = (*,*)
hint = "Defines the secondary exponent for the equation."
endparam
param coeff*
caption = "Primary Scale"
default = (*,*)
hint = "Defines the coefficient (multiplier) for the \
primary exponent term."
endparam
param coeff*
caption = "Secondary Scale"
default = (-*,*)
hint = "Defines the coefficient (multiplier) for the \
secondary exponent term."
endparam
param induct
caption = "Phoenix Distortion"
default = (-*.*,*)
hint = "Sets how 'strong' the previous iteration's effect should be \
on the fractal."
endparam
param bailout
caption = "Bailout"
default = *.*****
hint = "Bailout value; smaller values will cause more \
iterations to be done for each point."
endparam
param usecritical
caption = "Use Critical Point"
default = false
hint = "If set, a critical point for the function will \
be used in place of the Start Value."
endparam
param relax
caption = "Relaxation"
default = (*,*)
hint = "This can be used to slow down the convergence of \
the formula."
endparamswitch:
type = "dmj-PhoenixDNovaJulia"
seed = #pixel
power* = @power*
power* = @power*
coeff* = @coeff*
coeff* = @coeff*
bailout = @bailout
relax = @relax
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 071 D - Oil - Part of ELEMENTS series - 03.2022
Fractal_***_D {
fractal:
title="Fractal_***_D" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=*** mergemode=subtraction
mapping:
center=-*.*************/*.************ magn=**.******
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=** mergemode=green
mapping:
center=-*.*************/*.************ magn=**.******
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=*******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=***
mapping:
center=-*.*************/*.************ magn=**.******
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=********
opacity:
smooth=no index=* opacity=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}
Fractal 070 B - Maelstrom - Part of ELEMENTS series - 03.2022
Layers {********** layer: caption="Layer *" opacity=*** mergemode=overlay mapping: center=-*.**************/-*.************** magn=***.***** angle=-***.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******a" p_bailout=****.* inside: transfer=none solid=********** outside: transfer=linear gradient: smooth=yes rotation=-*** index=*** color=******* index=*** color=* index=-** color=******** opacity: smooth=no index=* opacity=*** layer: caption="Background" opacity=*** mergemode=addition mapping: center=*.*************/*.************* magn=**.****** angle=-****.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.* p_bailout=****.* f_fn*=flip f_fn*=ident inside: transfer=none outside: transfer=linear gradient: smooth=yes rotation=-** index=** color=****** index=** color=******** index=** color=******** index=** color=* index=-** color=* opacity: smooth=no index=* opacity=*** layer: caption="Layer *" opacity=** mergemode=saturation mapping: center=*.*************/*.************ magn=**.****** angle=-****.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.* p_bailout=****.* f_fn*=flip f_fn*=ident 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="Layer *" opacity=** mergemode=multiply mapping: center=*.*************/*.************ magn=**.****** angle=-****.*** stretch=*.**** skew=-*.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.* p_bailout=****.* f_fn*=flip f_fn*=ident 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="Layer *" opacity=** mergemode=luminance mapping: center=*.*************/*.************ magn=**.****** angle=-****.*** stretch=*.**** skew=-*.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.* p_bailout=****.* f_fn*=flip f_fn*=ident 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=*** mapping: center=*.*************/*.*********** magn=**.****** angle=-****.**** formula: maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.* p_bailout=****.* f_fn*=flip f_fn*=ident 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=*** } mt-******a-m { ; Mark Townsend, Aug * **** init: z = * c = #pixel loop: z = @fn*(c*z^@e*) + @fn*(z^@e*) + c bailout: |z| < @bailout default: title = "******a Mset" param e* caption = "First exponent" default = *.* endparam param e* caption = "Second exponent" default = *.* endparam func fn* default = ident() endfunc func fn* default = ident() endfunc param bailout caption = "Bailout value" default = ****.* endparam func fn* caption = "First Function" default = ident() endfunc func fn* caption = "Second Function" default = ident() endfunc switch: type = "mt-******a-j" e* = e* e* = e* fn* = fn* fn* = fn* bailout = bailout c = #pixel } mt-******a { ; Mark Townsend ** Jul **** init: z = * int iter = * loop: z = z^iter + iter * #pixel iter = iter + * bailout: |z| < @bailout default: title = "******a" param bailout caption = "Bailout value" default = ****.* endparam }
Fractal 069 A - Angel Wings - Part of BEYOND series - 03.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/*/****"
layer:
caption="Layer *" opacity=** mergemode=lighten
mapping:
center=-*.***********/*.************ magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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="Layer *" opacity=** mergemode=darken
mapping:
center=-*.************/*.************* magn=**.***** angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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="Layer *" opacity=*** mergemode=screen
mapping:
center=-*.************/*.************* magn=**.******
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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="Layer *" opacity=** mergemode=hue
mapping:
center=-*.*************/*.************ magn=**.******
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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=multiply
mapping:
center=-*.************/*.************* magn=**.******
angle=-***.****
formula:
maxiter=*** filename="mt.ufm" entry="mt-******a-m" p_e*=*.* p_e*=*.*
p_bailout=****.* f_fn*=flip f_fn*=ident
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="Layer *" opacity=** mergemode=screen precision=*
mapping:
center=*.**********/*.************ magn=*.******* angle=-***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=*** precision=*
mapping:
center=*.*********/*.********** magn=*.******* angle=-***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=***
}mt-******a-m { ; Mark Townsend, Aug * ****
init:
z = *
c = #pixel
loop:
z = @fn*(c*z^@e*) + @fn*(z^@e*) + c
bailout:
|z| < @bailout
default:
title = "******a Mset"
param e*
caption = "First exponent"
default = *.*
endparam
param e*
caption = "Second exponent"
default = *.*
endparam
func fn*
default = ident()
endfunc
func fn*
default = ident()
endfunc
param bailout
caption = "Bailout value"
default = ****.*
endparam
func fn*
caption = "First Function"
default = ident()
endfunc
func fn*
caption = "Second Function"
default = ident()
endfunc
switch:
type = "mt-******a-j"
e* = e*
e* = e*
fn* = fn*
fn* = fn*
bailout = bailout
c = #pixel
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}
Fractal 068 A - Time - Part of OUTER SPACE series - 02.2022
Fractal_***_A {
fractal:
title="Fractal_***_A" width=**** height=**** layers=*
credits="Philoxerax;*/**/****"
layer:
caption="Background" opacity=** mergemode=screen precision=*
mapping:
center=-**.**********/-*.********** magn=*.******** angle=***.****
formula:
maxiter=*** percheck=off filename="asz.ufm" entry="andrextrandom-*"
p_base=-*.**/-*.* p_base*=*.**/*.** p_random_strength=*.*
p_bailout=*E* p_bailout_mode="|z/c|" p_zc_mode=Multiply
p_zc_absolute=no p_zc_inverse=no p_ztype=Real p_scatter=yes
f_function*=cos f_function*=ident
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=******
opacity:
smooth=no index=* opacity=***
layer:
caption="Background" opacity=*** visible=no mergemode=addition
mapping:
center=-*.************/-*.************* magn=***.***** angle=**.****
formula:
maxiter=*** percheck=off filename="lkm*.ufm"
entry="rotated-mandelbrot" p_manparam=*/* p_power=*/* p_bailout=****
p_rottype="before iterating" p_rotfac=* p_angletype=z
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=addition
mapping:
center=-*.*************/*.************* magn=****.****
angle=***.****
formula:
maxiter=*** filename="lkm*.ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=* p_bailout=****
p_shape_type=square p_q*_type=out p_q*_type=out p_q*_type=out
p_q*_type=out p_freq=* p_amp=*.* p_nteeth=* p_rsmall=*.*
p_inrad=*.**
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-** index=** color=******* index=*** color=*
index=*** color=******* index=*** color=******** index=-** color=*
index=-* color=********
opacity:
smooth=no index=* opacity=***
layer:
caption="Layer *" opacity=***
mapping:
center=-*.**************/*.************* magn=****.***
angle=***.****
formula:
maxiter=*** filename="lkm*.ufm"
entry="mixed-up-multiplication-mandelbrot" p_power=* p_bailout=****
p_shape_type=square p_q*_type=out p_q*_type=out p_q*_type=out
p_q*_type=out p_freq=* p_amp=*.* p_nteeth=* p_rsmall=*.*
p_inrad=*.**
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=*******
opacity:
smooth=no index=* opacity=***
}andrextrandom-*{ ;(c) by Andras Szolek
; The formula is the same as Andrextrandom-*, only the
; defaults are the different. I made two for the easy
; switching.init:
z = #pixel
random = z+(#random/(*/(@random_strength/***)))
c = z-#pixel^*/*+@base*@base*+*.**
zc = *if @zc_mode == *
zc = z*c
elseif @zc_mode == *
zc = z/c
elseif @zc_mode == *
zc = z+c
elseif @zc_mode == *
zc = z-c
elseif @zc_mode == *
zc = z^c
endifif @zc_mode == * && @zc_inverse == true
zc = c/z
elseif @zc_mode == * && @zc_inverse == true
zc = c-z
elseif @zc_mode == * && @zc_inverse == true
zc = c^z
endifif @zc_absolute == true
zc = |zc|
endifb = *
loop:
z = z/(@function*(random))/(zc)+@base
z = z*(zc)+random
c = (z+c)**+@basez = @function*(z*(sqrt(c*@base*)/@bailout)+zc)
if @scatter == true
z = z+((@base*-@base)/***)+zc
c = c-((c/flip(c))/(c*real(c)))-zc
endifif imag(z)>*
z = real(z+@base)
elseif imag(z)>*
z = flip(z+@base)
elseif imag(z)<*
z = imag(z+@base)
elseif real(z)>*
z = flip(z+@base)
elseif real(z)>*
z = real(z+@base)
endifif @scatter == true
if real(z)*imag(z) < flip(z)
z = real(z)/imag(z)
endif
endifif @ztype == *
z = real(z)
elseif @ztype == *
z = imag(z)
endifif @bailout_mode == *
b = z*c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z/c
elseif @bailout_mode == *
b = |z/c|
elseif @bailout_mode == *
b = z+c
elseif @bailout_mode == *
b = |z*c|
elseif @bailout_mode == *
b = z-c
elseif @bailout_mode == *
b = |z-c|
elseif @bailout_mode == *
b = z
elseif @bailout_mode == *
b = |z|
elseif @bailout_mode == **
b = c
elseif @bailout_mode == **
b = |c|
else
b = z*c
endifbailout:
b <= @bailout/**default:
title = "Andrextrandom - Switch #*"param base
caption = "Base, ''Seed'' #*"
default = (-*.**,-*.*)
endparamparam base*
caption = "Base, ''Seed'' #*"
default = (*.**,*.**)
endparamparam random_strength
caption = "Random-intensity"
default = *.*
min = *.*
endparamparam bailout
caption = "Bailout"
default = *E*
endparamparam bailout_mode
caption = "Bailout Mode"
hint = "The bailout-process : ''this value'' < \
''bailout parameter /variant/''"
enum = "z*c" "|z*c|" "z/c" "|z/c|" "z+c" "|z+c|"\
"z-c" "|z-c|" "z" "|z|" "c" "|c|"
default = *
endparamparam zc_mode
caption = "ZC - Mode"
enum = "Multiply" "Division" "Add" "Subtract"\
"Product"
endparamparam zc_absolute
caption = "ZC - Absolute"
hint = "It gives an absolute-result to the z ? c"
default = false
endparamparam zc_inverse
caption = "ZC - Inverse"
hint = "This function is working in ''Division'', \
''Subtract'' and ''Product'' ZC-Modes. How does \
it works? z/c -> c/z, z-c -> c-z and z^c -> c^z"
default = false
endparamparam ztype
caption = "Z Type"
enum = "Real" "Imag"
endparamparam scatter
caption = "Scatter"
default = true
endparamfunc function*
caption = "Function #*"
default = cos()
endfuncfunc function*
caption = "Function #*"
default = ident()
endfuncperiodicity = *
switch:
type = "andrextrandom-*"
base = #pixel
random_strength = random_strength
bailout = bailout
bailout_mode = bailout_mode
zc_mode = zc_mode
zc_absolute = zc_absolute
zc_inverse = zc_inverse
ztype = ztype
scatter = scatter
function* = function*
function* = function*
}rotated-mandelbrot { ; Kerry Mitchell **oct****
;
; Rotates the z variable in the standard Mandelbrot<