This formula is derived from the Ducks formula in sam.ufm with multiple modifications. Bailout is determined by the number of iterations rather than a convergence or divergence criteria, so an iterations parameter which is independent of the value on the Maximum Iterations value on the Formula Tab has been included. The value for 'Iterations for Bailout' must always be less than the Maximum Iterations setting. Unlike other Duck formulas the Outside Coloring tab should be used. If the coloring method has options of convergent or divergent coloring, convergent coloring will usually be the best choice.
'Ducks Switch' has an extended set of single argument functions, mostly taken from from the special functions section of Wolfram Mathworld. Reb.txt, which is in the database, describes the additional functions.
'Flavor 4' has elements from the Celtic and Druid Mandelbrot formulas. To use either set 'Pattern Modifier 1' or 'Pattern Modifier 2' to something other than ident(). A good choice is to set either Pattern Modifier 1 or Pattern Modifier 2 to flip(). Alternatively, other parameters can be changed from their default values. For example, the Angle parameter can be set to 90 degrees.
Some key parameters:
- Angle (deg)
- Order (complex, a symmetry factor)
- First Power (complex)
- Second Power (complex)
- Pattern flavor (Calculation modifications - four different flavors)
- Pattern modifier 1 - an extended function
- Pattern modifier 2 - an extended function
- Pattern modifier 3 - an extended function (for flavors 2 and 3 only)
Before any calculations are performed on z, Pattern modifier 1 is applied to z.
The options for Ducks Switch are so extensive that it isn't possible in a single tutorial to provide comprehensive coverage. This tutorial will concentrate on flavor 1 with numerous examples, especially with the pattern modifiers. Key examples will be presented for the other flavors. For coloring (outside tab) many of the formulas in the UltraFractal database can be used. My preference is to use General Smoothing Gradient or Exponential Smoothing Gradient (convergent mode), which are in reb5.ucl. Ducks Mandelbrot mode provides a map of all the Ducks images. To use it select the Switch Mode in Ultrafractal and move the cursor around until you find something interesting. You may want to magnify the map before doing the search as the the images can change dramatically with small movements of the cursor. Some of the most fertile search areas are around the edges of the map. Here is a upr for the basic map for flavor 1 and defaults for all the parameters. The coloring is Exponential Smoothing Gradient (convergent mode), which is my preferred coloring for Ducks. I start with a Color Density of 5 and set the Fractal Type to convergent. Use the version in reb5.ucl, NOT the one in Standard.ucl.
DuckFlavor1ExpSmooth {
fractal:
title="DuckFlavor1ExpSmooth" width=800 height=800 layers=1
credits="Ron Barnett;8/8/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=-0.21/-1.37 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=0/0 p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 1" f_formulaClass.fn1=ident
p_formulaClass.fna1=ident f_formulaClass.fn2=ident
p_formulaClass.fna2=ident f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=yes p_p_Jul=no
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=0 color=8716288 index=100 color=16121855 index=200
color=46591 index=300 color=156
opacity:
smooth=no index=0 opacity=255
}
Here is a upr using parameter defaults.
Flavor1Example1 {
::jbKoLgn2FW12utNMM03DQ+HM87NxyXit3geY9yG2wKGQ7e3QRWORtySCyytJ/9jW2OJr2ZDI
AJhnzhkiSksyQoWi4TLX45Z5WBD7/VB5NlB9wBStWwQ+evzLt7xZBBe7Z8d7tufKIHZmGMqT
I1wK52Gs/TKp3tEjkZtfObd+6wA0G/lLccdhgS0WuSi9vlQfdnR1KL99UaClbPiRgbrZ29qS
cdrwy1kmmlLqJaNXurXOTaZGcwq41BrSz8qJ7k40VxBpdfWuoSZAlEH3ayBeHZwrBeamhunR
fFrqq8q4CmkUDHVDbbyq2qa/OBgvNHx+/a7LMq9r9e6535W6+fCOy3TX8WxVA7CSnL0F1FUI
9SiRpowkAECt+mgVRBbiQhx55RZ9sGyz7EwJ0lFraFb/0TPcbxzf5xi7bpv2U07d/pCW9WxO
mkZ4UXFbC4wfPnTfAnqkvxMgLsl8hf8/k04ylLYNlSZXS3zDIENjbqJyGsU9RzN2jaG+Risk
J2aU2ZUClVAGfk1MF5lWB405CX3Nx6JZaDjVih7k4oo44o13gWlkiyyRzmwDvgCTmE3Q8cVq
2GmSUOzhkUWq5HmPR1RY008UZK7C96gZrHa179oTgUvfFRVu2asf/3eQfd1HIIRYeJ8aYOxS
yA4UVh/LVhXTVEWo2NvGH00zcrG6i3S4CVr11VPfpR0VaOR7hbQd1ohXQuLGdxPg3MwjplL4
yGI96H+ZgnnVQRVqkslLAxnggDQT38pkzkEcJjYmMJhKucSyDH0gvkWOR8ctSZ3DjxK+mhUy
Bj9zTYnp0MS5iuwC68N8nsTVCl5aaGi0/izcxvT3UujTNw3da8xFoWYZhF/BJ1WubfC/Ar07
7QnEpb2v/FM6avkt1Y0fL0SJbhVLXYp63sD2WD4ty6XScTLv/xfU8bDR/8eimB7ss+/tTGlc
1q3FEg7VdTnfAKor6GI0nZCtR2+q0Yd29WpvK6GVBzycHYcoHHGudAH45uKwZZppRppDWTiG
MjiDySjRuiYPUW4IUCAiSGMjSyHtvJKNPLLaEIL2tl0hljSDzzGjSY4YY2kkmPKIM/UOBBOM
I+csj2cKIo44s0EY11wi6LPoQH14hbcNeYSyyF/BQZN0WB==
}
The Order parameter is a symmetry factor. Here is an example with Order = 3.
Flavor1Order3 {
::8qiKQin2FWVTvtNOQ07Gw/HE09YTSZqP6CeYTb6itYDKQTvLQLRZzEKSCKqE7/97ovccjkbP
ZrZev3Mc4MDrc8CPX9p1rCC8SvSwC/qi/qxh/urU4iCDeTW6PySRogjC5hj++/q4nFuGGujW
hTUK9NswfY0B3zdah3/Xpbz2SQ44w1r6x2HgCu1LNaW498iXO4Mt6ywAjlXI9nZYQ2ah/opk
V3q8SLvpZ9qau1K1HGoL0ehjh2gijJ7iiix0twH7yiTJUSQN/gGcSIp4kUSy6VVGHoEvnbN/
ksjMEFUgV4KOKKehZqqCqkKhmXDHcnYPdTbVdYHBIWuzswvv/ZRh/rDK90bSfxx/DEKMwm/a
+Nc2FkOJs515Fs7QbiTTySToICObL8JNiEjJUUKZA1Ye+ZFci7ziNtq9f6HPcf+T/9j5fpt4
lm8B1DnTYzr5HEahTW0XBn5c8z3zpP4vwofV4AJ8lyx/8no00nLXhaOkyukeAHAIaBZq56Gm
28RzN+zWB7RuuUo27M+FYClVwN7soZunnbVgoLFO4mAtdWm2IEld3QQ30udRbvDvhmgTzwLm
wDdQ0ZiYJslKUtNCjqchzIvs0KPtceajY45pppbWkFtFtY5waerrzeONwRn5FIV1PjzCH+NA
HGU9BAaMTWCNDLRWzHdOnF53xicLWRMl5wyc6dN/M3ahh49cpy067HqXu0o6KNXg9wd4ua0Y
DU/FjN/bQLD0LtelU3Ap3wmQH0dWBFVtRLWvCIfxFcAa6WXRfHkSqFc3sFJFqrXk8wJLol2L
5qnqNG/RYrW+/44lSw4w6Ex7Qamgc1QYexyz7XsXYUG3t4MGpfHmlifHv5YnWaw+8ltHX51f
iX7ZfgStX2/4i8koM4fhBJe3TBhXhob6S3Wzw/KRfBfP8SzVWq+p4kv1BqVW/MtfZ5Xe8b5/
0xtPdkbFwDY+wfVkJK3s6dFA4e120pDABfTZgQ/OSYMyPUlmqz99KDVx+NVSYh2JGKov+zwZ
oUKGPalkNaOJLBngSGNHn1/o3ABUMKKb3oH8O6o9MKFt7i504RzxxRI6k6kr1hmShnLv4LhM
F6EccSa0o9oopUCHRppRRwJb8d6rPYwE005a6VcClue1/Pv3OLA=
}
This example uses the aexcsc() function as Pattern Modifier 1.
Flavor1Pattern1Aexcsc {
::sxOTOin2FWVUvNKOQ43jU+Pg49mYjBKsn8Db3t7pb1Vdn2uvjcMmE3C2IjpN5f/N2AJZLk9k
iUSm577bGP2zMVGG3yq/06VBBWptWQD/WN7NtB/vMrVYU4PLOy74hBvLLtHoZIUwBhc/Br/n
1sTCTHF7ozNiSptjG+DtK4BmRJs2/Ibb+2IEONc9KPWfg4sWrUrohPw4vu3o7VlhB6WGXaPR
xgsNC7BdJtpv2KbZddrX1wablq9D0FKIzo3h2kmFFlCfST2i2gwZ4USOhE0w2rooNZpooIMO
Pgp2DHsc06VVaDIKzLTD7o0pDEQUQrwwPI4vS1VVBVyahi1A1CjYXym+qmQHBIsmT0w/Z3LC
u9bDK987SL/wfDCFG0W8WxNc6CiTi2imCuLzTizRJQgRY827wbiuPK39PU0Aqx88L1wh3nFb
6r39pf84DFP/5nK+aP/1uiB1DnTYzbF7FKhRy9FzZOH/7lc6D+5a1bCDIhtUO+j/PKd+c5KU
zhU6S6BcAAyCy0wUdUl+jm7snaF0nYqSR9Oj2uATosCupnEdz98SfNI6ShDuJQbnlpdCRp7G
KmQijJuLnk7xZ54FT4zvgmF3I6SVq+OhuuchDJrssVec5EtlQxzzTtp0F6toFrHt63H8Ozl+
9bQqy33TDH+OAHGU9BAKMVWCvGWisihpM/oi50i+d0GdOnFhWr3vMHvr5H6+WoNeHTWr7t+2
6lrN1uazZYPeH2VkGfC5vZaL+O8oBeNtelU1Bp3w4RD8+sCqqKtSseFQ+sL4A05mdlcBUtUJ
YmZjS41XPK5xjtgWKrkV/cjWbPAj4K+TDrUCGHGoIuApbCyVthF8l74Pbnrr1mbxZMS/OMLF
fHv5YnGbQ/y55HX51ek1YpfgSjV634IPKKD+LoVi52LEeFCX/lqvhi/ViWObHs25KLV/Uc02
bA1KbeJxPu8rP99ifaYtPfg1Kgta2wfVkJK3s6dFA4ettzpDABfTZgQfBJ0HZHqST1Z/blhq
ofWlEGpdkiC81faGJKP++8Rrk0RzkcUMJNa0MG7LhDuwppxJpE8kv4JOYSUUWe6kjIMZyRca
SWOJ3pxov4p4HD7gASTxHHPaPChuPiMZOO+S8Jo8ESMI24u7rPfQj00xbazeUSy6V/XaeWNq
}
This example uses the exsec() function as Pattern Modifier 2.
Flavor1Pattern2Exsec {
::08zABjn2FW1yutNOU09Gw/DCavtFpE1jOgLm0mOYKmgOop7FoposZiEJBFVi9f/c1Lb3I5Or
sMPnz9F59eLtMujV9p1r88cSXlg6/1K2baL6fZOnwqwPeqRw99eXW4OSTDC8OKkHO66/sidW
YbooO1croQ6ao+/Qr8egZVCn7PS3ltDHgi9Xvqnbvf4MjTqVU/HY8XPY1tqCfPthxluzUEY2
ah7ougW3W5kGWTz6V1MjRqOMIXogAjuBtNOjkGgzyi2tJYbACHFhiSxEva2BFNYLJiQSCiS9
YqDQitJLY9qStFMLr3Q1sTyOLBuMwzIs8jC+rUdZpXpsSoY1QxwK2T22WW73JAcs9M1/77fR
wdfdwSP/u0xP+Pgh89M5vlfHwOn0ZCTedOHitwgksYEiEHEubT420QUGCFgjCHINGmfuCy++
gYbb1+P9jHfI/5/8p8v0yftJfw4+zFs9t8DClwK59VzZgj/9aI9BcuW9mwCmwVIH/4/TSTfs
cDr5UK6C6BeAhFyzt1MVDVp/4xNuzGB9JmqQUt3qdLoEqqAM9soZOyLtVgRXyddXE7mFpNCR
BFePFFGGFBXOotkEUaGaxA+yDoZ+FTXqS12I0VFLkksiCj80yBqJkimHnabRnr3FsY9woffA
dGk+97Iqsvvn6P8rHy3r8DEUIqsAeNskYFbEcuK8vTFmK6GwMXVItSfYZN9Qzz5WD0EvnJr0
tu+m6lLNVdlmL0ecDqrGN+Cq/ixk/N4ND8Ya9KpqBi9hpjW45ZJUUValY9KQ8FII7a6mdRuS
qSqEM7sBJ8qbHk84JDYLlTyqeuWrdHhRc5/llVIhDHGnIuSpZiyNdh58lb4vcOXXpt3Tzon+
dcWy/d6mzdaqB9zXGfcDq7Er2R/gkansfhj8kow7vhOJW3eB/bY01eparpofVojz2Drdu5ky
fKO5atg1Kqfh0Pt8LP9t8faZmnPyMCYpmz/XNykk7W9uhAcvaa6sDQBdXzAu+KToNyNUlmqz
9vVGqi9jqkwEtT0Av+6PNBHmkiGPEne5UCOGPeaa/UzBgUScMs5bEBRSGPHWikGiRpTApkJA
SQCJNNuzEjOBfRUcSSCGRu494JAY5dYGOYEIMGfNCywo4II9G3cfb2BtRTJ30edMhse1/Zpw
UXO=
}
This example uses the haversine() function as Pattern Modifier 1.
Flavor1Pattern1Haversine {
fractal:
title="Flavor1Pattern1Haversine" width=800 height=800 layers=1
credits="Ron Barnett;8/9/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=0/0 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=-0.93161250103/0.57421249834
p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 1" f_formulaClass.fn1=ident
p_formulaClass.fna1=haversin f_formulaClass.fn2=ident
p_formulaClass.fna2=ident f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=no p_p_Jul=yes
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=1 color=1837334 index=163 color=3138767 index=203
color=1912588 index=383 color=13245719
opacity:
smooth=no index=0 opacity=255
}
This example uses the tanhc() function as Pattern Modifier 2.
Flavor1Pattern2Tanhc {
::T9Gbxgn2FW1SvtNOQ47Gw/HE09YTqH2WtgHaaTXsFbQX0k7C0UUWMhiUgiKx+f/OkSyx1Sur
vYb+9YGOkzwSDlZpyPtcRQgVYlcS43l030G8/StWuRF9MVVxCDeXUYrI7QogKu4Ql1/TJ9E3
0SwO1MDvQYbJh/SrCunaUcr9z7WntOCh3EuchnrPOMajVoVkw7psXPY0dqiwAdDlJsnIYw2a
utSXQq7kWRDttd5iaaTjQdoXOXBJGBtGISPoI4Aq6Ak43lhWuoUbAZUPxa6RhjJYJKohbYVc
2rEdZZQpQyV0aYza47TX1VWH6EAGbORC/5+X4M737d6p3FWW1/AGFG0k/W+NAdBxZRTedOjc
HaFabaWSG8Z3G867wriy2uLKtnyQS+VJs38pwqO5+P9rHuP/pv8Y+36Yv2m3bd4UBreL/AXx
NCmvWNBc4vfkQXhz0q34GwCbhY4H/fSa95yFsmSpwl098ACxzYTNV1SU6rXu1eqhTekqK4y9
GtdGlQNFgJn4tTRepTCmOX4gjB3VkrDHnX4OeSijTSidHMpbx7ywzmwnv+MJuRk5qUdtctsY
mNJtooRcc+EtJmgnmnaThL0rRzWPa0v3jOBS/+NEV67qJh9fHgDDKvigCTEFwth5EroDgTVF
9nUFRsuxHTVFTk6DzrxDNdP31Atw7pCpuz6bpnv0Idlmz0e4OsrGNcDyfw0k/D4ODcZa5Chq
Fy9+ZfG46ZJUUVaFf5CQ8ZIY316mMl+BJpQxpmJjRYyLHj8wxGwLlVQlPVr12KYAW+fZoFCY
x+hJ8Po0OS5iuwc28N8nXnplazt0MEp/En5ivT3UujTNIf984jLQtHp1WyVSqtC/zJij8ig/
G6koup+hXww1ep6qJ4fXolR3DPqcxKlPzPa7MgbF1vk6nW+tH/R+zGazTV0GO8klN83NZUyN
reXQAOXbad+AUw30GI0fwEajs9Vpx6s/uSfV0PqSAT0OSQB+6PJKFhwxJDrGnOsMOFmDhxjr
vLx/AnHaLOZHKOeABj3O6UUSUUGac90sRr2sFjyQbcO0jFh2MiFhSiz2lOCsBPAMaTMEoRqR
bjy2ATwHeR+y9F0ANutGfvOKFeU7/E/sN7A=
}
This example uses the logit() function as Pattern Modifier 1.
Flavor1Pattern1Logit {
::UkR7/jn2FW1yuttOQ09Gw/DCavtJ1b1L4ibaTvoFNoFNdvAtElNToIFooSs/77QKZH1I5e9G
bPz5Mv48oWTLNUxHWvyzzwNCGx/zC6LKN+HUjhpl4vpOwN+evyrMHJZIk3RG/wRj7nC6Zmuj
gtsL1sKupj4/Tl07OqWyMm/JbX+uAEOxf9KHWnfKptGuSS8vjW+8BtqXW57paplczZCGMbDz
cUVRa6FGeLtrb9qGabLXeYgOTCBGBtNFvbDaLC71QPIJ4tBBJ55h5eU5BIP2kjWvqWpBrQd8
aon4WigHQetMd5RW5zEVdtXNXwk0GI31s9xb7rb8tEA/oPT8/++nYlmPPYpHflbKP+NwQ+et
FvUcDlWnYNRbRTRJBiyAUWcSC4ZEE0QomjSyytfiGgNGofUAprLM22L2/hfe/dFP+vPU8p+y
n7KGMv/cCbfp4ATy08SX5bmyx/+WQ9O9lK5LMNYCTFf8H/fU6cxyEUzhUZD6BcAgwFMTDV2R
kq3LuzculRegKrYi9alZBmQdFUTOz6mr5peBY0lcH8Ug2NLS7YsK7TUUYYUUo91JOFnljXMg
HahSjn52AySFq+OmSUtQOSrqa5nWOObDJ45hpSXZbe3hWsc0qedQ7MVqXvBpa3cOxf4bPsvX
97AIxEeF0MsEZJFTE2VDzZF83YNqcOrQr5WmjT18cuvFmi3T5CVvxNVvcpRYLNXhd/GstGN2
A5eYaL+K0yA9SrXxldQ4NsNUDdn1QRVqks1rAyXVBJQndXV8bgEcJjqntJpUMdTy9naBbJNc
q4xGlycEWpV8faaFHEOsPh9GkuLQmMEWUu88+V5lKhSfLOje6vhZJ/b5NH7llGkPed7xEtmT
0GD5dUaMc3BG+JWl3XgBJq9Og/EE2pLZfDB/nENl09wZmJSq/F7kpXDWrq5pY3yyP9wXL+lm
2+4RaLDOiZ8/TjchyNreTAAvrtdW7AQw30MgrfDJMGZGqSXqzuelhqobTFsKzlwkNJxecY72
JSSqn71gkjwog80RxYs7swgKMOEngDDuoLDNqIKDnGnkPKPI6iccYecizAjaSjuwIJIEgNIO
M4q4o08osryTSn4cUEcUFlNqbzl4FHFhxBYo2Me4eayCTVDwRXPrHEHve1vBNRu14B==
}
The usual wrapper for the Switch formulas is Object Formula Switch Lite. The wrapper Object Formula Switch has a dual formula mode allowing the combination of two formulas. Here is an example using the defaults for Duck Switch Switch and Mandelbrot Julia Switch.
Flavor1DuckMandelbrotMerge {
::7WAMVjn2deVUvNKOQ43rU/Pg41TNBbgQyeyPsdb7pbl6dSb67IHwJxtgNrx0m+v/GbMJ0gT3
VXlqK4vvZG7ZmPG3tKahmW9lrvKIQz1VMS4DV0XlK0ddFv8IVUyq2ok6HZqdswg34l69klRR
B7Z8d712HrovzUtEkxHFKWJX3SC/hUEcLVJYa9fuc+q54I0iwrvyy1GtCajmLFkwbpFvsTJ7
ElhByGaBX/OBButmp3LLJ1dVaeDtt96rqpNNcxuezZCNTRimDEp7EmovVqAyULcN9A3gDOKK
ohpK2zKehI3uNYLviJo1wBVx2kOrbbdoxAwdq3Jh/7mnZF6H6906346i9hBN5vm7Bw4cjpN5
15FkbimtAhTwJrWuMZ+NoZoMMOz8WPHtiKaNbRSYhsuWKm1Vt5L/TXV1TDIhjpN718dMBTxL
OFnxgn8nJZ9RsuWm6D4TNXAB+cX0oYtaqSTcvwElEE8YrWxE7gCPq3Pld0Ky7sW4R4oshLgk
5THQBPoM/iDe6A2cU2abkIrZ/sjJKY922y+prweHbLFqt9rtj2gIJHfGTwm0qppTT+6fcrBo
gCdnudwGKvS/ejpbtviEgsRs/lvVBtL26rNH/j7vNf9XfM30R3m7Kq9+ZsBfMhPF096p05Z4
FSxrmNsQXydP8rMp1uXGxaKlSzmudofL2jbqhiIRIPf5Wb+5kC2jlQGGgdVyzQeurCcqvwB9
6GV35hjxKNagk44kkYT/faGa5Kk3N8Rt5k4iJ+yUQ/ssq0zhkWW2wP4fj2ETQT3nSVpJ0zj8
mPakv1jOBS+2FMy1lH2/XTf42zIIQEeJ0N4zYB1BO1K8nZF+SWFTqk78bjFa6ZurB++oRQJ7
02vX6P1UZSNHpd/NIP0wfU0dq577dVc6lle4PV7h/ViP8/D1H2n8zPt6jHjnNHjjiR0EuOpo
P3cuccChTiRfmPIInGye5o3Q6kkZpzjmhTngrhv2Tqll+j302i+f8zea3hHS9qL88zHHh/NH
Ji/0Zi4PboI+3YqI+SjFlt6RzFh3sDGdzzczGx2JluiotO1kDd991TuoFkr9Xyy6cINIkCYk
IkuOCBC6WzlfSPRqCmtSVTuzSR147sc/hGwXCNnWtuWK17h7Il/XKaJHWs/2LsTUaHoMqhPv
w/AwjrXIrkqLZjLSfGHfx3Y3UuD6Yy3OKoHhqPQr1kzMpWzt3blfgVG83wkFq5ilhjYYG3I6
qHqZH9WBdTrtuNsy2nYH0dKwbl1PnabHv7xvnDtjNr3TbYwdj1hf0JDmcxs3ICQdtp14HzXP
uobgQfiJMWR3nlGyz2el+sod0NH+kyBo10m/JLWhySjSdriX4WGBjlXkF5WOzmB7RglXmkl5
QQJZu1zSWkEva5gjQpu1xRxZR9XExBldMIRrWuYBalDIOCPAsIDFtIdI8xxZnifWMCjTBlQ/
V/Hf6AZ0whb4fMAnCU/PlshWYB==
}
Here is a Flavor 2 example using the function Tanhc() for Pattern Modifier 1.
flavor2Pattern1Tanhc {
fractal:
title="flavor2Pattern1Tanhc" width=800 height=800 layers=1
credits="Ron Barnett;8/10/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=0/0 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=-0.65760000167/-1.1157749914
p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 2" f_formulaClass.fn1=ident
p_formulaClass.fna1=tanhc f_formulaClass.fn2=ident
p_formulaClass.fna2=ident f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=no p_p_Jul=yes
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=28 color=1904689 index=105 color=1171418 index=148
color=5120810 index=234 color=13182493 index=373 color=343594
opacity:
smooth=no index=0 opacity=255
}
Here is a Flavor 3 example using the function Gd() for Pattern Modifier 2.
flavor3Pattern2Gd {
::P5n7lhn2FW1SvtNOQ47Gw/HE09YTKZZZ1F8QTbSRL2gdRTvLQLSZzEKSCKqE7/97Q9wWNSu7
N757xMcEnhlWahjK/0yFBBOhTyJhlS6bab8/SdOuVF9NWYw7Cm7IZHCFckLOc01+TJ9M3WTw
epFWOT4qJh/UrCunaVcn7v2tGjWHhwbDXuolcbWKoGnQrIh3TLe9gV3ogEoN0Ch7MBD+WxdH
1MSVj0JM066lLqoGjQdoTOXBlFBtGISPo8pvUbBy0W4K6JhHHMCFY42ij8iXJ6yygShkroVw
B0y3nsqpsK0LAszemE+P7fhX4eszpnfX4KO+3gRhBm83yvBoPJeLM5V5FE0qY867QrSihA9l
0XkQ93mwVNy9f6nPcf+zf+p8v2U8adenRhdOMWwq3yPwVcrootfMBs/vXT/HwL0q34WwCHT0
/j/PJ1t1yIWTpw8FdHPgQ8M2URV1El+jhrdnNcyTUFjL3b1uZUCdQAmcmXPF5lGJY6cpz30X
PpSr5cGB+OsJOezm413hXlki3lhntgvcZZSejIz1paq5aJbmDJlxMiTzXomYCeadqtMfqXjm
tfY0v3hOBS/+NE1N3OM/GEHGU+BCKMRwgbDzJWR7BnqK6PpKicgNVSMRqPMvgWopH4GDMtun
Kk6GX70789Fpvvch2D3h9No+rPtfVM5/AuwA3kWuQoqhCvb1mFubWCdUlWxXuAEfBCOa1+VP
JXJJFKO1OZjRhc8GjHOZAvUOBV+clW7OCboy/mlyEQwu9G8rUqHoMaEMvY+p9LxL0St9Wa6z
0fizc53rbK3hVGkvcZ3xIU3Jalj8BJVOh/1iHFn4sgvDjRU/a9wRM8zWqmKC+3F6Ko7hnNGF
p8X8TuGL4Gr6lk2Vlf9pfk/LL188Rqh/ok6C/dTGkczu3ICw3VTt3HgC+m2Ap+KTYGy11lG6
zt3V66it7pEw6sTEUQb/ngzwxYcaf0otDhjSTRJx76jnG1+CWL0ukkYUWPAeT6gitppJbTxD
OhSGAw4s0dZeDGSyFoksIc8ut9Ax4BgtIMKbzQ4txXzOeDCFlllCjCdv8O+4BzRDnuh3ljSS
Wu4/AgTpFLL=
}
Finally, a flavor 4 example with Flip() for Pattern Modifier 1 and AGd for Pattern Modifier 2.
flavor4Pattern1FlipPattern2AGd {
fractal:
title="flavor4Pattern1FlipPattern2AGd" width=800 height=800 layers=1
credits="Ron Barnett;8/10/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=0/0 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=-0.5925/0.02625 p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 4" f_formulaClass.fn1=ident
p_formulaClass.fna1=flip f_formulaClass.fn2=ident
p_formulaClass.fna2=agd f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=no p_p_Jul=yes
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=22 color=4799583 index=85 color=1894630 index=174
color=2428241 index=297 color=14211887
opacity:
smooth=no index=0 opacity=255
}
This formula is derived from the Ducks formula in sam.ufm with multiple modifications. Bailout is determined by the number of iterations rather than a convergence or divergence criteria, so an iterations parameter which is independent of the value on the Maximum Iterations value on the Formula Tab has been included. The value for 'Iterations for Bailout' must always be less than the Maximum Iterations setting. Unlike other Duck formulas the Outside Coloring tab should be used. If the coloring method has options of convergent or divergent coloring, convergent coloring will usually be the best choice.
'Ducks Switch' has an extended set of single argument functions, mostly taken from from the special functions section of Wolfram Mathworld. Reb.txt, which is in the database, describes the additional functions.
'Flavor 4' has elements from the Celtic and Druid Mandelbrot formulas. To use either set 'Pattern Modifier 1' or 'Pattern Modifier 2' to something other than ident(). A good choice is to set either Pattern Modifier 1 or Pattern Modifier 2 to flip(). Alternatively, other parameters can be changed from their default values. For example, the Angle parameter can be set to 90 degrees.
Some key parameters:
- Angle (deg)
- Order (complex, a symmetry factor)
- First Power (complex)
- Second Power (complex)
- Pattern flavor (Calculation modifications - four different flavors)
- Pattern modifier 1 - an extended function
- Pattern modifier 2 - an extended function
- Pattern modifier 3 - an extended function (for flavors 2 and 3 only)
Before any calculations are performed on **z**, Pattern modifier 1 is applied to **z**.
The options for Ducks Switch are so extensive that it isn't possible in a single tutorial to provide comprehensive coverage. This tutorial will concentrate on flavor 1 with numerous examples, especially with the pattern modifiers. Key examples will be presented for the other flavors. For coloring (outside tab) many of the formulas in the UltraFractal database can be used. My preference is to use General Smoothing Gradient or Exponential Smoothing Gradient (convergent mode), which are in reb5.ucl. Ducks Mandelbrot mode provides a map of all the Ducks images. To use it select the Switch Mode in Ultrafractal and move the cursor around until you find something interesting. You may want to magnify the map before doing the search as the the images can change dramatically with small movements of the cursor. Some of the most fertile search areas are around the edges of the map. Here is a upr for the basic map for flavor 1 and defaults for all the parameters. The coloring is Exponential Smoothing Gradient (convergent mode), which is my preferred coloring for Ducks. I start with a Color Density of 5 and set the Fractal Type to convergent. Use the version in reb5.ucl, NOT the one in Standard.ucl.
DuckFlavor1ExpSmooth {
fractal:
title="DuckFlavor1ExpSmooth" width=800 height=800 layers=1
credits="Ron Barnett;8/8/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=-0.21/-1.37 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=0/0 p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 1" f_formulaClass.fn1=ident
p_formulaClass.fna1=ident f_formulaClass.fn2=ident
p_formulaClass.fna2=ident f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=yes p_p_Jul=no
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=0 color=8716288 index=100 color=16121855 index=200
color=46591 index=300 color=156
opacity:
smooth=no index=0 opacity=255
}
Here is a upr using parameter defaults.
Flavor1Example1 {
::jbKoLgn2FW12utNMM03DQ+HM87NxyXit3geY9yG2wKGQ7e3QRWORtySCyytJ/9jW2OJr2ZDI
AJhnzhkiSksyQoWi4TLX45Z5WBD7/VB5NlB9wBStWwQ+evzLt7xZBBe7Z8d7tufKIHZmGMqT
I1wK52Gs/TKp3tEjkZtfObd+6wA0G/lLccdhgS0WuSi9vlQfdnR1KL99UaClbPiRgbrZ29qS
cdrwy1kmmlLqJaNXurXOTaZGcwq41BrSz8qJ7k40VxBpdfWuoSZAlEH3ayBeHZwrBeamhunR
fFrqq8q4CmkUDHVDbbyq2qa/OBgvNHx+/a7LMq9r9e6535W6+fCOy3TX8WxVA7CSnL0F1FUI
9SiRpowkAECt+mgVRBbiQhx55RZ9sGyz7EwJ0lFraFb/0TPcbxzf5xi7bpv2U07d/pCW9WxO
mkZ4UXFbC4wfPnTfAnqkvxMgLsl8hf8/k04ylLYNlSZXS3zDIENjbqJyGsU9RzN2jaG+Risk
J2aU2ZUClVAGfk1MF5lWB405CX3Nx6JZaDjVih7k4oo44o13gWlkiyyRzmwDvgCTmE3Q8cVq
2GmSUOzhkUWq5HmPR1RY008UZK7C96gZrHa179oTgUvfFRVu2asf/3eQfd1HIIRYeJ8aYOxS
yA4UVh/LVhXTVEWo2NvGH00zcrG6i3S4CVr11VPfpR0VaOR7hbQd1ohXQuLGdxPg3MwjplL4
yGI96H+ZgnnVQRVqkslLAxnggDQT38pkzkEcJjYmMJhKucSyDH0gvkWOR8ctSZ3DjxK+mhUy
Bj9zTYnp0MS5iuwC68N8nsTVCl5aaGi0/izcxvT3UujTNw3da8xFoWYZhF/BJ1WubfC/Ar07
7QnEpb2v/FM6avkt1Y0fL0SJbhVLXYp63sD2WD4ty6XScTLv/xfU8bDR/8eimB7ss+/tTGlc
1q3FEg7VdTnfAKor6GI0nZCtR2+q0Yd29WpvK6GVBzycHYcoHHGudAH45uKwZZppRppDWTiG
MjiDySjRuiYPUW4IUCAiSGMjSyHtvJKNPLLaEIL2tl0hljSDzzGjSY4YY2kkmPKIM/UOBBOM
I+csj2cKIo44s0EY11wi6LPoQH14hbcNeYSyyF/BQZN0WB==
}
The Order parameter is a symmetry factor. Here is an example with Order = 3.
Flavor1Order3 {
::8qiKQin2FWVTvtNOQ07Gw/HE09YTSZqP6CeYTb6itYDKQTvLQLRZzEKSCKqE7/97ovccjkbP
ZrZev3Mc4MDrc8CPX9p1rCC8SvSwC/qi/qxh/urU4iCDeTW6PySRogjC5hj++/q4nFuGGujW
hTUK9NswfY0B3zdah3/Xpbz2SQ44w1r6x2HgCu1LNaW498iXO4Mt6ywAjlXI9nZYQ2ah/opk
V3q8SLvpZ9qau1K1HGoL0ehjh2gijJ7iiix0twH7yiTJUSQN/gGcSIp4kUSy6VVGHoEvnbN/
ksjMEFUgV4KOKKehZqqCqkKhmXDHcnYPdTbVdYHBIWuzswvv/ZRh/rDK90bSfxx/DEKMwm/a
+Nc2FkOJs515Fs7QbiTTySToICObL8JNiEjJUUKZA1Ye+ZFci7ziNtq9f6HPcf+T/9j5fpt4
lm8B1DnTYzr5HEahTW0XBn5c8z3zpP4vwofV4AJ8lyx/8no00nLXhaOkyukeAHAIaBZq56Gm
28RzN+zWB7RuuUo27M+FYClVwN7soZunnbVgoLFO4mAtdWm2IEld3QQ30udRbvDvhmgTzwLm
wDdQ0ZiYJslKUtNCjqchzIvs0KPtceajY45pppbWkFtFtY5waerrzeONwRn5FIV1PjzCH+NA
HGU9BAaMTWCNDLRWzHdOnF53xicLWRMl5wyc6dN/M3ahh49cpy067HqXu0o6KNXg9wd4ua0Y
DU/FjN/bQLD0LtelU3Ap3wmQH0dWBFVtRLWvCIfxFcAa6WXRfHkSqFc3sFJFqrXk8wJLol2L
5qnqNG/RYrW+/44lSw4w6Ex7Qamgc1QYexyz7XsXYUG3t4MGpfHmlifHv5YnWaw+8ltHX51f
iX7ZfgStX2/4i8koM4fhBJe3TBhXhob6S3Wzw/KRfBfP8SzVWq+p4kv1BqVW/MtfZ5Xe8b5/
0xtPdkbFwDY+wfVkJK3s6dFA4e120pDABfTZgQ/OSYMyPUlmqz99KDVx+NVSYh2JGKov+zwZ
oUKGPalkNaOJLBngSGNHn1/o3ABUMKKb3oH8O6o9MKFt7i504RzxxRI6k6kr1hmShnLv4LhM
F6EccSa0o9oopUCHRppRRwJb8d6rPYwE005a6VcClue1/Pv3OLA=
}
This example uses the aexcsc() function as Pattern Modifier 1.
Flavor1Pattern1Aexcsc {
::sxOTOin2FWVUvNKOQ43jU+Pg49mYjBKsn8Db3t7pb1Vdn2uvjcMmE3C2IjpN5f/N2AJZLk9k
iUSm577bGP2zMVGG3yq/06VBBWptWQD/WN7NtB/vMrVYU4PLOy74hBvLLtHoZIUwBhc/Br/n
1sTCTHF7ozNiSptjG+DtK4BmRJs2/Ibb+2IEONc9KPWfg4sWrUrohPw4vu3o7VlhB6WGXaPR
xgsNC7BdJtpv2KbZddrX1wablq9D0FKIzo3h2kmFFlCfST2i2gwZ4USOhE0w2rooNZpooIMO
Pgp2DHsc06VVaDIKzLTD7o0pDEQUQrwwPI4vS1VVBVyahi1A1CjYXym+qmQHBIsmT0w/Z3LC
u9bDK987SL/wfDCFG0W8WxNc6CiTi2imCuLzTizRJQgRY827wbiuPK39PU0Aqx88L1wh3nFb
6r39pf84DFP/5nK+aP/1uiB1DnTYzbF7FKhRy9FzZOH/7lc6D+5a1bCDIhtUO+j/PKd+c5KU
zhU6S6BcAAyCy0wUdUl+jm7snaF0nYqSR9Oj2uATosCupnEdz98SfNI6ShDuJQbnlpdCRp7G
KmQijJuLnk7xZ54FT4zvgmF3I6SVq+OhuuchDJrssVec5EtlQxzzTtp0F6toFrHt63H8Ozl+
9bQqy33TDH+OAHGU9BAKMVWCvGWisihpM/oi50i+d0GdOnFhWr3vMHvr5H6+WoNeHTWr7t+2
6lrN1uazZYPeH2VkGfC5vZaL+O8oBeNtelU1Bp3w4RD8+sCqqKtSseFQ+sL4A05mdlcBUtUJ
YmZjS41XPK5xjtgWKrkV/cjWbPAj4K+TDrUCGHGoIuApbCyVthF8l74Pbnrr1mbxZMS/OMLF
fHv5YnGbQ/y55HX51ek1YpfgSjV634IPKKD+LoVi52LEeFCX/lqvhi/ViWObHs25KLV/Uc02
bA1KbeJxPu8rP99ifaYtPfg1Kgta2wfVkJK3s6dFA4ettzpDABfTZgQfBJ0HZHqST1Z/blhq
ofWlEGpdkiC81faGJKP++8Rrk0RzkcUMJNa0MG7LhDuwppxJpE8kv4JOYSUUWe6kjIMZyRca
SWOJ3pxov4p4HD7gASTxHHPaPChuPiMZOO+S8Jo8ESMI24u7rPfQj00xbazeUSy6V/XaeWNq
}
This example uses the exsec() function as Pattern Modifier 2.
Flavor1Pattern2Exsec {
::08zABjn2FW1yutNOU09Gw/DCavtFpE1jOgLm0mOYKmgOop7FoposZiEJBFVi9f/c1Lb3I5Or
sMPnz9F59eLtMujV9p1r88cSXlg6/1K2baL6fZOnwqwPeqRw99eXW4OSTDC8OKkHO66/sidW
YbooO1croQ6ao+/Qr8egZVCn7PS3ltDHgi9Xvqnbvf4MjTqVU/HY8XPY1tqCfPthxluzUEY2
ah7ougW3W5kGWTz6V1MjRqOMIXogAjuBtNOjkGgzyi2tJYbACHFhiSxEva2BFNYLJiQSCiS9
YqDQitJLY9qStFMLr3Q1sTyOLBuMwzIs8jC+rUdZpXpsSoY1QxwK2T22WW73JAcs9M1/77fR
wdfdwSP/u0xP+Pgh89M5vlfHwOn0ZCTedOHitwgksYEiEHEubT420QUGCFgjCHINGmfuCy++
gYbb1+P9jHfI/5/8p8v0yftJfw4+zFs9t8DClwK59VzZgj/9aI9BcuW9mwCmwVIH/4/TSTfs
cDr5UK6C6BeAhFyzt1MVDVp/4xNuzGB9JmqQUt3qdLoEqqAM9soZOyLtVgRXyddXE7mFpNCR
BFePFFGGFBXOotkEUaGaxA+yDoZ+FTXqS12I0VFLkksiCj80yBqJkimHnabRnr3FsY9woffA
dGk+97Iqsvvn6P8rHy3r8DEUIqsAeNskYFbEcuK8vTFmK6GwMXVItSfYZN9Qzz5WD0EvnJr0
tu+m6lLNVdlmL0ecDqrGN+Cq/ixk/N4ND8Ya9KpqBi9hpjW45ZJUUValY9KQ8FII7a6mdRuS
qSqEM7sBJ8qbHk84JDYLlTyqeuWrdHhRc5/llVIhDHGnIuSpZiyNdh58lb4vcOXXpt3Tzon+
dcWy/d6mzdaqB9zXGfcDq7Er2R/gkansfhj8kow7vhOJW3eB/bY01eparpofVojz2Drdu5ky
fKO5atg1Kqfh0Pt8LP9t8faZmnPyMCYpmz/XNykk7W9uhAcvaa6sDQBdXzAu+KToNyNUlmqz
9vVGqi9jqkwEtT0Av+6PNBHmkiGPEne5UCOGPeaa/UzBgUScMs5bEBRSGPHWikGiRpTApkJA
SQCJNNuzEjOBfRUcSSCGRu494JAY5dYGOYEIMGfNCywo4II9G3cfb2BtRTJ30edMhse1/Zpw
UXO=
}
This example uses the haversine() function as Pattern Modifier 1.
Flavor1Pattern1Haversine {
fractal:
title="Flavor1Pattern1Haversine" width=800 height=800 layers=1
credits="Ron Barnett;8/9/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=0/0 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=-0.93161250103/0.57421249834
p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 1" f_formulaClass.fn1=ident
p_formulaClass.fna1=haversin f_formulaClass.fn2=ident
p_formulaClass.fna2=ident f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=no p_p_Jul=yes
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=1 color=1837334 index=163 color=3138767 index=203
color=1912588 index=383 color=13245719
opacity:
smooth=no index=0 opacity=255
}
This example uses the tanhc() function as Pattern Modifier 2.
Flavor1Pattern2Tanhc {
::T9Gbxgn2FW1SvtNOQ47Gw/HE09YTqH2WtgHaaTXsFbQX0k7C0UUWMhiUgiKx+f/OkSyx1Sur
vYb+9YGOkzwSDlZpyPtcRQgVYlcS43l030G8/StWuRF9MVVxCDeXUYrI7QogKu4Ql1/TJ9E3
0SwO1MDvQYbJh/SrCunaUcr9z7WntOCh3EuchnrPOMajVoVkw7psXPY0dqiwAdDlJsnIYw2a
utSXQq7kWRDttd5iaaTjQdoXOXBJGBtGISPoI4Aq6Ak43lhWuoUbAZUPxa6RhjJYJKohbYVc
2rEdZZQpQyV0aYza47TX1VWH6EAGbORC/5+X4M737d6p3FWW1/AGFG0k/W+NAdBxZRTedOjc
HaFabaWSG8Z3G867wriy2uLKtnyQS+VJs38pwqO5+P9rHuP/pv8Y+36Yv2m3bd4UBreL/AXx
NCmvWNBc4vfkQXhz0q34GwCbhY4H/fSa95yFsmSpwl098ACxzYTNV1SU6rXu1eqhTekqK4y9
GtdGlQNFgJn4tTRepTCmOX4gjB3VkrDHnX4OeSijTSidHMpbx7ywzmwnv+MJuRk5qUdtctsY
mNJtooRcc+EtJmgnmnaThL0rRzWPa0v3jOBS/+NEV67qJh9fHgDDKvigCTEFwth5EroDgTVF
9nUFRsuxHTVFTk6DzrxDNdP31Atw7pCpuz6bpnv0Idlmz0e4OsrGNcDyfw0k/D4ODcZa5Chq
Fy9+ZfG46ZJUUVaFf5CQ8ZIY316mMl+BJpQxpmJjRYyLHj8wxGwLlVQlPVr12KYAW+fZoFCY
x+hJ8Po0OS5iuwc28N8nXnplazt0MEp/En5ivT3UujTNIf984jLQtHp1WyVSqtC/zJij8ig/
G6koup+hXww1ep6qJ4fXolR3DPqcxKlPzPa7MgbF1vk6nW+tH/R+zGazTV0GO8klN83NZUyN
reXQAOXbad+AUw30GI0fwEajs9Vpx6s/uSfV0PqSAT0OSQB+6PJKFhwxJDrGnOsMOFmDhxjr
vLx/AnHaLOZHKOeABj3O6UUSUUGac90sRr2sFjyQbcO0jFh2MiFhSiz2lOCsBPAMaTMEoRqR
bjy2ATwHeR+y9F0ANutGfvOKFeU7/E/sN7A=
}
This example uses the logit() function as Pattern Modifier 1.
Flavor1Pattern1Logit {
::UkR7/jn2FW1yuttOQ09Gw/DCavtJ1b1L4ibaTvoFNoFNdvAtElNToIFooSs/77QKZH1I5e9G
bPz5Mv48oWTLNUxHWvyzzwNCGx/zC6LKN+HUjhpl4vpOwN+evyrMHJZIk3RG/wRj7nC6Zmuj
gtsL1sKupj4/Tl07OqWyMm/JbX+uAEOxf9KHWnfKptGuSS8vjW+8BtqXW57paplczZCGMbDz
cUVRa6FGeLtrb9qGabLXeYgOTCBGBtNFvbDaLC71QPIJ4tBBJ55h5eU5BIP2kjWvqWpBrQd8
aon4WigHQetMd5RW5zEVdtXNXwk0GI31s9xb7rb8tEA/oPT8/++nYlmPPYpHflbKP+NwQ+et
FvUcDlWnYNRbRTRJBiyAUWcSC4ZEE0QomjSyytfiGgNGofUAprLM22L2/hfe/dFP+vPU8p+y
n7KGMv/cCbfp4ATy08SX5bmyx/+WQ9O9lK5LMNYCTFf8H/fU6cxyEUzhUZD6BcAgwFMTDV2R
kq3LuzculRegKrYi9alZBmQdFUTOz6mr5peBY0lcH8Ug2NLS7YsK7TUUYYUUo91JOFnljXMg
HahSjn52AySFq+OmSUtQOSrqa5nWOObDJ45hpSXZbe3hWsc0qedQ7MVqXvBpa3cOxf4bPsvX
97AIxEeF0MsEZJFTE2VDzZF83YNqcOrQr5WmjT18cuvFmi3T5CVvxNVvcpRYLNXhd/GstGN2
A5eYaL+K0yA9SrXxldQ4NsNUDdn1QRVqks1rAyXVBJQndXV8bgEcJjqntJpUMdTy9naBbJNc
q4xGlycEWpV8faaFHEOsPh9GkuLQmMEWUu88+V5lKhSfLOje6vhZJ/b5NH7llGkPed7xEtmT
0GD5dUaMc3BG+JWl3XgBJq9Og/EE2pLZfDB/nENl09wZmJSq/F7kpXDWrq5pY3yyP9wXL+lm
2+4RaLDOiZ8/TjchyNreTAAvrtdW7AQw30MgrfDJMGZGqSXqzuelhqobTFsKzlwkNJxecY72
JSSqn71gkjwog80RxYs7swgKMOEngDDuoLDNqIKDnGnkPKPI6iccYecizAjaSjuwIJIEgNIO
M4q4o08osryTSn4cUEcUFlNqbzl4FHFhxBYo2Me4eayCTVDwRXPrHEHve1vBNRu14B==
}
The usual wrapper for the Switch formulas is Object Formula Switch Lite. The wrapper Object Formula Switch has a dual formula mode allowing the combination of two formulas. Here is an example using the defaults for Duck Switch Switch and Mandelbrot Julia Switch.
Flavor1DuckMandelbrotMerge {
::7WAMVjn2deVUvNKOQ43rU/Pg41TNBbgQyeyPsdb7pbl6dSb67IHwJxtgNrx0m+v/GbMJ0gT3
VXlqK4vvZG7ZmPG3tKahmW9lrvKIQz1VMS4DV0XlK0ddFv8IVUyq2ok6HZqdswg34l69klRR
B7Z8d712HrovzUtEkxHFKWJX3SC/hUEcLVJYa9fuc+q54I0iwrvyy1GtCajmLFkwbpFvsTJ7
ElhByGaBX/OBButmp3LLJ1dVaeDtt96rqpNNcxuezZCNTRimDEp7EmovVqAyULcN9A3gDOKK
ohpK2zKehI3uNYLviJo1wBVx2kOrbbdoxAwdq3Jh/7mnZF6H6906346i9hBN5vm7Bw4cjpN5
15FkbimtAhTwJrWuMZ+NoZoMMOz8WPHtiKaNbRSYhsuWKm1Vt5L/TXV1TDIhjpN718dMBTxL
OFnxgn8nJZ9RsuWm6D4TNXAB+cX0oYtaqSTcvwElEE8YrWxE7gCPq3Pld0Ky7sW4R4oshLgk
5THQBPoM/iDe6A2cU2abkIrZ/sjJKY922y+prweHbLFqt9rtj2gIJHfGTwm0qppTT+6fcrBo
gCdnudwGKvS/ejpbtviEgsRs/lvVBtL26rNH/j7vNf9XfM30R3m7Kq9+ZsBfMhPF096p05Z4
FSxrmNsQXydP8rMp1uXGxaKlSzmudofL2jbqhiIRIPf5Wb+5kC2jlQGGgdVyzQeurCcqvwB9
6GV35hjxKNagk44kkYT/faGa5Kk3N8Rt5k4iJ+yUQ/ssq0zhkWW2wP4fj2ETQT3nSVpJ0zj8
mPakv1jOBS+2FMy1lH2/XTf42zIIQEeJ0N4zYB1BO1K8nZF+SWFTqk78bjFa6ZurB++oRQJ7
02vX6P1UZSNHpd/NIP0wfU0dq577dVc6lle4PV7h/ViP8/D1H2n8zPt6jHjnNHjjiR0EuOpo
P3cuccChTiRfmPIInGye5o3Q6kkZpzjmhTngrhv2Tqll+j302i+f8zea3hHS9qL88zHHh/NH
Ji/0Zi4PboI+3YqI+SjFlt6RzFh3sDGdzzczGx2JluiotO1kDd991TuoFkr9Xyy6cINIkCYk
IkuOCBC6WzlfSPRqCmtSVTuzSR147sc/hGwXCNnWtuWK17h7Il/XKaJHWs/2LsTUaHoMqhPv
w/AwjrXIrkqLZjLSfGHfx3Y3UuD6Yy3OKoHhqPQr1kzMpWzt3blfgVG83wkFq5ilhjYYG3I6
qHqZH9WBdTrtuNsy2nYH0dKwbl1PnabHv7xvnDtjNr3TbYwdj1hf0JDmcxs3ICQdtp14HzXP
uobgQfiJMWR3nlGyz2el+sod0NH+kyBo10m/JLWhySjSdriX4WGBjlXkF5WOzmB7RglXmkl5
QQJZu1zSWkEva5gjQpu1xRxZR9XExBldMIRrWuYBalDIOCPAsIDFtIdI8xxZnifWMCjTBlQ/
V/Hf6AZ0whb4fMAnCU/PlshWYB==
}
Here is a Flavor 2 example using the function Tanhc() for Pattern Modifier 1.
flavor2Pattern1Tanhc {
fractal:
title="flavor2Pattern1Tanhc" width=800 height=800 layers=1
credits="Ron Barnett;8/10/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=0/0 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=-0.65760000167/-1.1157749914
p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 2" f_formulaClass.fn1=ident
p_formulaClass.fna1=tanhc f_formulaClass.fn2=ident
p_formulaClass.fna2=ident f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=no p_p_Jul=yes
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=28 color=1904689 index=105 color=1171418 index=148
color=5120810 index=234 color=13182493 index=373 color=343594
opacity:
smooth=no index=0 opacity=255
}
Here is a Flavor 3 example using the function Gd() for Pattern Modifier 2.
flavor3Pattern2Gd {
::P5n7lhn2FW1SvtNOQ47Gw/HE09YTKZZZ1F8QTbSRL2gdRTvLQLSZzEKSCKqE7/97Q9wWNSu7
N757xMcEnhlWahjK/0yFBBOhTyJhlS6bab8/SdOuVF9NWYw7Cm7IZHCFckLOc01+TJ9M3WTw
epFWOT4qJh/UrCunaVcn7v2tGjWHhwbDXuolcbWKoGnQrIh3TLe9gV3ogEoN0Ch7MBD+WxdH
1MSVj0JM066lLqoGjQdoTOXBlFBtGISPo8pvUbBy0W4K6JhHHMCFY42ij8iXJ6yygShkroVw
B0y3nsqpsK0LAszemE+P7fhX4eszpnfX4KO+3gRhBm83yvBoPJeLM5V5FE0qY867QrSihA9l
0XkQ93mwVNy9f6nPcf+zf+p8v2U8adenRhdOMWwq3yPwVcrootfMBs/vXT/HwL0q34WwCHT0
/j/PJ1t1yIWTpw8FdHPgQ8M2URV1El+jhrdnNcyTUFjL3b1uZUCdQAmcmXPF5lGJY6cpz30X
PpSr5cGB+OsJOezm413hXlki3lhntgvcZZSejIz1paq5aJbmDJlxMiTzXomYCeadqtMfqXjm
tfY0v3hOBS/+NE1N3OM/GEHGU+BCKMRwgbDzJWR7BnqK6PpKicgNVSMRqPMvgWopH4GDMtun
Kk6GX70789Fpvvch2D3h9No+rPtfVM5/AuwA3kWuQoqhCvb1mFubWCdUlWxXuAEfBCOa1+VP
JXJJFKO1OZjRhc8GjHOZAvUOBV+clW7OCboy/mlyEQwu9G8rUqHoMaEMvY+p9LxL0St9Wa6z
0fizc53rbK3hVGkvcZ3xIU3Jalj8BJVOh/1iHFn4sgvDjRU/a9wRM8zWqmKC+3F6Ko7hnNGF
p8X8TuGL4Gr6lk2Vlf9pfk/LL188Rqh/ok6C/dTGkczu3ICw3VTt3HgC+m2Ap+KTYGy11lG6
zt3V66it7pEw6sTEUQb/ngzwxYcaf0otDhjSTRJx76jnG1+CWL0ukkYUWPAeT6gitppJbTxD
OhSGAw4s0dZeDGSyFoksIc8ut9Ax4BgtIMKbzQ4txXzOeDCFlllCjCdv8O+4BzRDnuh3ljSS
Wu4/AgTpFLL=
}
Finally, a flavor 4 example with Flip() for Pattern Modifier 1 and AGd for Pattern Modifier 2.
flavor4Pattern1FlipPattern2AGd {
fractal:
title="flavor4Pattern1FlipPattern2AGd" width=800 height=800 layers=1
credits="Ron Barnett;8/10/2016"
layer:
caption="Background" opacity=100 method=multipass
mapping:
center=0/0 magn=1
formula:
maxiter=1000 percheck=off filename="reb5.ufm"
entry="ObjectFormulaSwitchLite" p_v_ObjectFormulaSwitchLite=100
p_m_c=-0.5925/0.02625 p_formulaClass="reb.ulb:REB_SAM_Ducks_Switch"
p_formulaClass.v_generic=100 p_formulaClass.v_formula=100
p_formulaClass.v_convergentdivergentformula=100
p_formulaClass.v_switchformula=100 p_formulaClass.v_ducksswitch=103
p_formulaClass.mans=no p_formulaClass.stype=Mandelbrot
p_formulaClass.p_mand=yes p_formulaClass.p_jul=no
p_formulaClass.m_c=0/0 p_formulaClass.seed=-0.433443/-1.571891
p_formulaClass.maxiter=100 p_formulaClass.p2=0
p_formulaClass.useold=no p_formulaClass.addpix=no
p_formulaClass.p3=1/0 p_formulaClass.order=1/0
p_formulaClass.p_power=1/0 p_formulaClass.pow=1/0
p_formulaClass.flavor="flavor 4" f_formulaClass.fn1=ident
p_formulaClass.fna1=flip f_formulaClass.fn2=ident
p_formulaClass.fna2=agd f_formulaClass.fn3=log
p_formulaClass.fna3=log p_formulaClass.p_upperbailout=10000
p_formulaClass.p_lowerbailout=1E-10 p_p_mand=no p_p_Jul=yes
inside:
transfer=none
outside:
density=5 transfer=linear filename="reb5.ucl"
entry="ExponentialSmoothing_Gradient" p_v_exponentialsmoothing=100
p_f_class.v_generic=100 p_f_class.v_coloring=100
p_f_class.v_gradientcoloring=100
p_f_class.v_exponentialsmoothinggrad=100
p_f_class.converge=Convergent p_f_class.txamt=0
p_f_class.mtile="Fixed Iteration" p_f_class.iternum=1
p_f_class.tcabs=1 p_f_class.fTexture="dmj5.ulb:DMJ_TrapShapeFlat"
p_f_class.fTexture.v_generic=100 p_f_class.fTexture.v_trapshape=101
p_f_class.fTexture.v_dmj_trapshapeflat=100
gradient:
smooth=yes index=22 color=4799583 index=85 color=1894630 index=174
color=2428241 index=297 color=14211887
opacity:
smooth=no index=0 opacity=255
}