This is a follow-up to my previous Tutorial, “FormulaX Plug-ins”. If you haven’t read the introductory quote from the Ultra Fractal (UF) help file in that posting, do so now, and upload the latest version of the UF formulas. Here’s the upr and the image it produces.

1 {
::tBgk5in2Vi1WvNqOQ43rU/Pg49N12Byl9I/wmW1Va12VrUbli6LIXwk4zC2Iwstp/63JcJJA
mL9lEh/+mxzMemxDEmy81sove9VWWahOiTtx2WvJC07prwIr9cxu9aqrDyKidgnmRxW+p8Ah
Oja/DRs1moc+/Ruhs4GCi4YfUPMpWwiEsMhcH9AP76rKEtYP8ZJahSSt3w8/zuUVuMw2Slw8
F6DUMCd9VxskEQwS2cpmnSR3gsiZ7kU0s1g23BW5CgZoKNOPiVwMm9u4IVQFWhiIukFDuyja
mMglGMLPM22CUW6Bq935Seqw/+SpLs4EvKddbELDcs/P61Z5Rv+1f8zNeP+mQ7v3uFnZ/1bX
peKtaru4VPWYStBhA5xoAxBhxuGkePL7VmIi+LVHE1b07EgCgtXbQyQvNba6AbQI7eI20Laz
4ujmgKX3jHebNMaGChwth3An/+lH/dENJlTlKDr+8TjGYrZpTZysjIjwLPjnONu/RIDofLIw
Mq+QCn+ThkzS7VD5P1M0/8Te3nL9PmxbPgQT0nznubn/58cgeLLH56ryG0mfa4knSec8xi3e
VDnAJP4b6RYo0xosheV1uXWgD2d9DePA/zjeNVptHS8RD7Xy8iq5RYGUXdOVRy0sUdPxpzsS
8SUvBd4Ijyruu0ZIebbeef/2pG12O9w22pH32C29DFlYS1Y8y48AI14LoZujRtMkNSod749j
vg7p+aDtx9cKloy0ma8BLPlOf10Gtoum4k6AUSu3mflwj09rk0nt9XtUT1zz/EOf+n0//MtA
PLxUt8y+g9BW1FsfxL6E2B7ysbhMTEwLHjrwhBApSytyURiAqDZ1CX8csL56rgWDd5GVc0ei
9yVk5zX0zsU+RFRlmjT99UWgAW6WVkKFmfrKw5X9ohBrubIqducpNa9znj7dkvyiGl55ifCx
pDcZI50cMNBvsZQTkAVoQyi6TwwXe5c04lXsNRwUyVTSlzC3N8E+B9jP6y+89pto/8oFudEY
cjLsveVmo1TlaXqDUkag8IpRqwwM+FX92SDBCoddzcWvHvzuXuTImUR7O4Pm0nTJYMCveAqX
kciGgXAYYtMVE2eY+T1cz8ZQWmpk8S8Q4VIVpU3+1gQC+h+0V7tos534WvxyvP9KLdpOyR6r
YK2koJw6dWUirHSqdNfM/4RE9bRRdAfOj/gQ+A79e8nggYh0QRJsOITPR6j7oHLKiabB7Z32
BlzIa0Yh3IMmJPYMaE63KB+Wkr5IrvekAbZ7sfB3pYM8WOba3jj2vCZT4UuvIpciomAwP6ds
sk+3QvTUwmyTITPliMWKFpnUKiBHWSOeKVf3TxlsZxKlefRBEMcNr47fQIrsgJu4vTdmv2qQ
FUnlLW5s806LwVrXE5qWc18qFxLWucJB7WB4icNDghNqjawuoa2wgBrmvGVDsk0DwanuqhgX
aeTJn8p2AmcKyZnydJisAEuEYOaRPAmcq5ndqmb68zOVLg1udVzXqJ7sa9aXXAp6zTd5ZJkx
WyGd6jXRchGg/DgNNmoC
}

65da3abfde62d.jpg

It’s the same fractal as in the third image of the previous tutorial, except on the Location tab, where the magnification is now 0.9 and the Rotation angle is now 60 degrees to make some of the following images fit better. I’ll keep the same Location settings, Gradient, and Formula settings for the rest of this tutorial, and only a single layer.

On the Outside tab, “Plug-In Coloring (Gradient)” comes from Standard.ucl and the plug-in “Color by Distance” comes from jlb.ulb.

For each pixel, UF calculates a series of z values using the Iteration part of a Formula. After each z is calculated (except just after the sequence has bailed out), UF calls the Coloring functions at the tops of the Inside and Outside tabs. (I’ll only deal with the Outside tab here.) The Iteration part of these Coloring functions may or may not do something with the z values.

After the series has bailed out, including the possibility of running out of the allowed number of iterations, UF calls the ResultIndex part of the plug-in; it calculates a number that is used as an index into the gradient for coloring. The end result of all this is, for each pixel, to convert a series of complex numbers into one number, the index. I’ve defined a new Distance class whose Iteration step converts a complex number into a real number, a float.

Thus the title of the “Coloring Algorithm”, “Color by Distance”. Some of the Distances are actual distances. For example, “D01 cabs” is the diagonal distance from z to the origin. If z is (x,y), then D01 gives sqrt(x^2 + y^2). “D04 |Real|+|Imag|” is the distance from z to the origin going only horizontally and vertically; D04 gives abs(x)+abs(y). (It’s like “manh”, short for Manhattan, referring to New York City blocks, which is often found in ufm formulas as part of bailout settings.) Other Distances may also be real distances, such as from z to a circle or rectangle. Other Distances may have no relation to real distances, but are just ways to convert a complex number to a float.

The Basic version of Color by Distance has two phases. In the Accumulation phase, after each z is calculated by the formula, the Distance plugin does something useful, accumulating information about the z sequence. In the Final phase, this accumulated information is used to provide an index into the gradient for coloring the pixel. For example, “C05 Distance range” sets the index to the largest distance minus the smallest distance.

Below the line “D01 cabs” is “Scale?”. Click on this.

65da3b7370018.jpg

What happened? Since the Julia-type Mandelbrot formula is divergent, the z values get larger and larger as the sequence progresses. The distances get larger and larger.

The scaling for D01 uses the tanh function to keep the index within range. The “Scale factor” is the value that gives an index value of tanh(1), approximately 0.76. Experiment.

Another way to deal with Too Much Detail (TMD) is to use “Final smooth”. Keep Scale unchecked and choose “Mandelbrot type” with parameters 2 and 100, matching the Formula tab.
65da3b9d35566.jpg

This is the smoothing used by "Smooth (Mandelbrot)" coloring in Standard.ucl and in Standard.ufm. Changing parameters can be useful. Experiment. The other smoothing, “TIA type”, is that used by "Triangle Inequality Average" coloring, also in Standard.ucl and in Standard.ufm. It sometimes gives interesting results. Experiment.

Go back to Final smooth of “None”. Another way to deal with TMD is to change the “Color Density” or “Transfer Function”. Leave the Color Density at 1 and change the Transfer Function to “CubeRoot”.

65da3c55a9f03.jpg

Go back to the original settings.

The “Simple distance” plug-in has 21 plug-ins that can convert z to a number. Click on the Browser button to the right of “Use for distance” to see their thumbnails. When used in Color by Distance, only the absolute values are used. For example, “D08 Real-Imag”, for z = (x,y), means abs(x-y). Most of these should be self-explanatory, except for the last two.

For D02 through D18 you have the option of scaling the distances. For “D02 Real” this means coloring according to abs(x)/sqrt(x^2+y*2) instead of by abs(x). This gives different results from smoothing and from changing the Color Density or Transfer Function. Experiment.

For “D19 Path ratio”, think of the sequence of z values as being connected by straight lines in the xy plane, from the first z value to the current z value. The path ratio is the sum of these straight line distances, divided by the straight line distance from the first z value to the current z value. It’s never larger than one. Because it is exactly one at the first iteration, the colorings “C01 First distance” and “C04 Largest distance” always give a uniform color—not interesting.

For “D20 Angle”, the usual angle calculated using the UF function atan2 is divided by 2*pi and shifted to keep the value in the range 0 to 1. There are two different versions. Type 1 is the usual one.

Experiment. For example, here is the result if “Use for distance” is “D11 Real/Imag”, “Scale” is checked, coloring is “C05 Distance Range”, and no Final smooth,

65da3c88c00de.jpg

And with Mandelbrot-type Final smooth and Color Density of 2 instead of 1.

65da3cbfb1240.jpg

Experiment. Then go back to the original parameters, with “D01 cabs”, Scale checked, and “C05 Distance range”.

In the “How to color” part of Color by Distance there are 13 ways of coloring. Click on the Browser button on the “How to color” line to see the thumbnails. The first four are self-explanatory and the fifth was already explained. “C06 Distance ratio” calculates the largest distance divided by the smallest distance. For this fractal, C06 gives TMD and can use a Mandelbrot-type final smooth. Experiment. “C07 Iteration count” calculates the number of iterations divided by the scale. Not too interesting for this fractal.

The next three coloring methods are averages. Roughly speaking, “C08 Arithmetic average” emphasizes the larger distances, “C10 Harmonic average” emphasizes the smaller distances,, and “C09 Geometric average” is in between. Experiment.

The next three coloring methods are variations on C08. (For the mathematicians among us, C11 is the standard deviation, C12 is the coefficient of variation, and C13 is approximately the fractal dimension.) Experiment. Often C13 can benefit from a Color Density that’s larger or a Transfer Function of Sqr or Cube. Here’s C!3 with Color Density 2 and Transfer Function Sqr.
65da3ce7ce638.jpg

[continued in next message]

This is a follow-up to my previous Tutorial, “FormulaX Plug-ins”. If you haven’t read the introductory quote from the Ultra Fractal (UF) help file in that posting, do so now, and upload the latest version of the UF formulas. Here’s the upr and the image it produces. 1 { ::tBgk5in2Vi1WvNqOQ43rU/Pg49N12Byl9I/wmW1Va12VrUbli6LIXwk4zC2Iwstp/63JcJJA mL9lEh/+mxzMemxDEmy81sove9VWWahOiTtx2WvJC07prwIr9cxu9aqrDyKidgnmRxW+p8Ah Oja/DRs1moc+/Ruhs4GCi4YfUPMpWwiEsMhcH9AP76rKEtYP8ZJahSSt3w8/zuUVuMw2Slw8 F6DUMCd9VxskEQwS2cpmnSR3gsiZ7kU0s1g23BW5CgZoKNOPiVwMm9u4IVQFWhiIukFDuyja mMglGMLPM22CUW6Bq935Seqw/+SpLs4EvKddbELDcs/P61Z5Rv+1f8zNeP+mQ7v3uFnZ/1bX peKtaru4VPWYStBhA5xoAxBhxuGkePL7VmIi+LVHE1b07EgCgtXbQyQvNba6AbQI7eI20Laz 4ujmgKX3jHebNMaGChwth3An/+lH/dENJlTlKDr+8TjGYrZpTZysjIjwLPjnONu/RIDofLIw Mq+QCn+ThkzS7VD5P1M0/8Te3nL9PmxbPgQT0nznubn/58cgeLLH56ryG0mfa4knSec8xi3e VDnAJP4b6RYo0xosheV1uXWgD2d9DePA/zjeNVptHS8RD7Xy8iq5RYGUXdOVRy0sUdPxpzsS 8SUvBd4Ijyruu0ZIebbeef/2pG12O9w22pH32C29DFlYS1Y8y48AI14LoZujRtMkNSod749j vg7p+aDtx9cKloy0ma8BLPlOf10Gtoum4k6AUSu3mflwj09rk0nt9XtUT1zz/EOf+n0//MtA PLxUt8y+g9BW1FsfxL6E2B7ysbhMTEwLHjrwhBApSytyURiAqDZ1CX8csL56rgWDd5GVc0ei 9yVk5zX0zsU+RFRlmjT99UWgAW6WVkKFmfrKw5X9ohBrubIqducpNa9znj7dkvyiGl55ifCx pDcZI50cMNBvsZQTkAVoQyi6TwwXe5c04lXsNRwUyVTSlzC3N8E+B9jP6y+89pto/8oFudEY cjLsveVmo1TlaXqDUkag8IpRqwwM+FX92SDBCoddzcWvHvzuXuTImUR7O4Pm0nTJYMCveAqX kciGgXAYYtMVE2eY+T1cz8ZQWmpk8S8Q4VIVpU3+1gQC+h+0V7tos534WvxyvP9KLdpOyR6r YK2koJw6dWUirHSqdNfM/4RE9bRRdAfOj/gQ+A79e8nggYh0QRJsOITPR6j7oHLKiabB7Z32 BlzIa0Yh3IMmJPYMaE63KB+Wkr5IrvekAbZ7sfB3pYM8WOba3jj2vCZT4UuvIpciomAwP6ds sk+3QvTUwmyTITPliMWKFpnUKiBHWSOeKVf3TxlsZxKlefRBEMcNr47fQIrsgJu4vTdmv2qQ FUnlLW5s806LwVrXE5qWc18qFxLWucJB7WB4icNDghNqjawuoa2wgBrmvGVDsk0DwanuqhgX aeTJn8p2AmcKyZnydJisAEuEYOaRPAmcq5ndqmb68zOVLg1udVzXqJ7sa9aXXAp6zTd5ZJkx WyGd6jXRchGg/DgNNmoC } ![65da3abfde62d.jpg](serve/attachment&path=65da3abfde62d.jpg) It’s the same fractal as in the third image of the previous tutorial, except on the Location tab, where the magnification is now 0.9 and the Rotation angle is now 60 degrees to make some of the following images fit better. I’ll keep the same Location settings, Gradient, and Formula settings for the rest of this tutorial, and only a single layer. On the Outside tab, “Plug-In Coloring (Gradient)” comes from Standard.ucl and the plug-in “Color by Distance” comes from jlb.ulb. For each pixel, UF calculates a series of z values using the Iteration part of a Formula. After each z is calculated (except just after the sequence has bailed out), UF calls the Coloring functions at the tops of the Inside and Outside tabs. (I’ll only deal with the Outside tab here.) The Iteration part of these Coloring functions may or may not do something with the z values. After the series has bailed out, including the possibility of running out of the allowed number of iterations, UF calls the ResultIndex part of the plug-in; it calculates a number that is used as an index into the gradient for coloring. The end result of all this is, for each pixel, to convert a series of complex numbers into one number, the index. I’ve defined a new Distance class whose Iteration step converts a complex number into a real number, a float. Thus the title of the “Coloring Algorithm”, “Color by Distance”. Some of the Distances are actual distances. For example, “D01 cabs” is the diagonal distance from z to the origin. If z is (x,y), then D01 gives sqrt(x^2 + y^2). “D04 |Real|+|Imag|” is the distance from z to the origin going only horizontally and vertically; D04 gives abs(x)+abs(y). (It’s like “manh”, short for Manhattan, referring to New York City blocks, which is often found in ufm formulas as part of bailout settings.) Other Distances may also be real distances, such as from z to a circle or rectangle. Other Distances may have no relation to real distances, but are just ways to convert a complex number to a float. The Basic version of Color by Distance has two phases. In the Accumulation phase, after each z is calculated by the formula, the Distance plugin does something useful, accumulating information about the z sequence. In the Final phase, this accumulated information is used to provide an index into the gradient for coloring the pixel. For example, “C05 Distance range” sets the index to the largest distance minus the smallest distance. Below the line “D01 cabs” is “Scale?”. Click on this. ![65da3b7370018.jpg](serve/attachment&path=65da3b7370018.jpg) What happened? Since the Julia-type Mandelbrot formula is divergent, the z values get larger and larger as the sequence progresses. The distances get larger and larger. The scaling for D01 uses the tanh function to keep the index within range. The “Scale factor” is the value that gives an index value of tanh(1), approximately 0.76. Experiment. Another way to deal with Too Much Detail (TMD) is to use “Final smooth”. Keep Scale unchecked and choose “Mandelbrot type” with parameters 2 and 100, matching the Formula tab. ![65da3b9d35566.jpg](serve/attachment&path=65da3b9d35566.jpg) This is the smoothing used by "Smooth (Mandelbrot)" coloring in Standard.ucl and in Standard.ufm. Changing parameters can be useful. Experiment. The other smoothing, “TIA type”, is that used by "Triangle Inequality Average" coloring, also in Standard.ucl and in Standard.ufm. It sometimes gives interesting results. Experiment. Go back to Final smooth of “None”. Another way to deal with TMD is to change the “Color Density” or “Transfer Function”. Leave the Color Density at 1 and change the Transfer Function to “CubeRoot”. ![65da3c55a9f03.jpg](serve/attachment&path=65da3c55a9f03.jpg) Go back to the original settings. The “Simple distance” plug-in has 21 plug-ins that can convert z to a number. Click on the Browser button to the right of “Use for distance” to see their thumbnails. When used in Color by Distance, only the absolute values are used. For example, “D08 Real-Imag”, for z = (x,y), means abs(x-y). Most of these should be self-explanatory, except for the last two. For D02 through D18 you have the option of scaling the distances. For “D02 Real” this means coloring according to abs(x)/sqrt(x^2+y*2) instead of by abs(x). This gives different results from smoothing and from changing the Color Density or Transfer Function. Experiment. For “D19 Path ratio”, think of the sequence of z values as being connected by straight lines in the xy plane, from the first z value to the current z value. The path ratio is the sum of these straight line distances, divided by the straight line distance from the first z value to the current z value. It’s never larger than one. Because it is exactly one at the first iteration, the colorings “C01 First distance” and “C04 Largest distance” always give a uniform color—not interesting. For “D20 Angle”, the usual angle calculated using the UF function atan2 is divided by 2*pi and shifted to keep the value in the range 0 to 1. There are two different versions. Type 1 is the usual one. Experiment. For example, here is the result if “Use for distance” is “D11 Real/Imag”, “Scale” is checked, coloring is “C05 Distance Range”, and no Final smooth, ![65da3c88c00de.jpg](serve/attachment&path=65da3c88c00de.jpg) And with Mandelbrot-type Final smooth and Color Density of 2 instead of 1. ![65da3cbfb1240.jpg](serve/attachment&path=65da3cbfb1240.jpg) Experiment. Then go back to the original parameters, with “D01 cabs”, Scale checked, and “C05 Distance range”. In the “How to color” part of Color by Distance there are 13 ways of coloring. Click on the Browser button on the “How to color” line to see the thumbnails. The first four are self-explanatory and the fifth was already explained. “C06 Distance ratio” calculates the largest distance divided by the smallest distance. For this fractal, C06 gives TMD and can use a Mandelbrot-type final smooth. Experiment. “C07 Iteration count” calculates the number of iterations divided by the scale. Not too interesting for this fractal. The next three coloring methods are averages. Roughly speaking, “C08 Arithmetic average” emphasizes the larger distances, “C10 Harmonic average” emphasizes the smaller distances,, and “C09 Geometric average” is in between. Experiment. The next three coloring methods are variations on C08. (For the mathematicians among us, C11 is the standard deviation, C12 is the coefficient of variation, and C13 is approximately the fractal dimension.) Experiment. Often C13 can benefit from a Color Density that’s larger or a Transfer Function of Sqr or Cube. Here’s C!3 with Color Density 2 and Transfer Function Sqr. ![65da3ce7ce638.jpg](serve/attachment&path=65da3ce7ce638.jpg) [continued in next message]
edited Mar 1 at 8:10 pm
 
0
reply

[continued from previous message]

Experiment. Set “How to color” to “C08 Harmonic average”, click on the Browser button on the “Plug-in” line, and choose “Simple Shapes”. The default shape is a circle at the screen center with radius 1.
65da3d5727e64.jpg

Note the “Shape power”. With power of 2, it’s an ordinary circle. For larger powers, the shape approaches a square. For smaller powers, it is like an asteroid. You can see the actual shape by selecting “Show shape” on the “Inside/outside/etc.” line. The “Rotation angle” setting does nothing if the power is 2. Try “Shape power” of 0.5 or 5 and “Show shape”. Experiment.

If you uncheck “Use screen center?”, you can put the circle’s center anywhere you like. Here’s what happens with the center at (2,0), “D02 Real” used for distance, Scale not checked, “C10 Harmonic average”, and “Mandelbrot type” smoothing

65da3d726ba3b.jpg

Experiment. For coloring, Simple Shapes plug-in calculates the distance, d, from z to the circle, and multiplies d and z. Then it uses the “Use for distance” plug-in to calculate a new distance. This new distance is used for Accumulating values for the Final phase of coloring.

If “Inside/outside/etc.” is “Inside”, only iterations with z inside the circle are used for coloring. “Outside” is obvious. “Change” means use this iteration if this z is inside and the previous z was outside, or vice versa. “Same” means use this iteration if this z is inside and the previous z was also inside, or both were outside. The last four should be clear, but as an example, “In->Out” uses this iteration for coloring if the previous z was inside and this z is outside. Experiment. These options should be useful for making layers, especially if the Solid Color is transparent.

“Simple Shapes” has other shapes: Ellipse, Triangle, Square, and Rectangle. Ellipse is like Circle except for specifying an x value and a y value instead just a radius. If the Triangle is equilateral, you specify the side length, the origin, and the rotation. For non-equilateral triangles you specify the three vertex points. Experiment. For Square and Rectangle, you specify the center, the side length or lengths, and the rotation. Experiment.

Here's an example with Rectangle, center (2,0), X length 2, Y length 22, rotation 0, “Either”, “D01 cabs”, Scale, Scale factor 2, “C09 Geometric average”, and no final smooth.

65da3daa15c54.jpg

Change the Distance plug in to “Lines2”. You may have 1 or 2 lines, each defined by a point on the line and a rotation angle. The default is 1 line. The options for “"Pos./neg. side/etc." are similar to those in “Simple Shapes”, and the “Use for distance” options are the same as in “Simple Shapes”. Here’s the image:

65da3ddd20cb2.jpg

Experiment with 1 or 2 lines, different angles, etc.

“Gaussian Integer” and “TIA Distance” (TIA = Triangle Inequality Average) are like the ones in Standard.ucl. Try “Grid2” and “Spiral” on your own. They were interesting to program, but I didn’t find them interesting to use. Your mileage may vary.

[continued in next message]

[continued from previous message] Experiment. Set “How to color” to “C08 Harmonic average”, click on the Browser button on the “Plug-in” line, and choose “Simple Shapes”. The default shape is a circle at the screen center with radius 1. ![65da3d5727e64.jpg](serve/attachment&path=65da3d5727e64.jpg) Note the “Shape power”. With power of 2, it’s an ordinary circle. For larger powers, the shape approaches a square. For smaller powers, it is like an asteroid. You can see the actual shape by selecting “Show shape” on the “Inside/outside/etc.” line. The “Rotation angle” setting does nothing if the power is 2. Try “Shape power” of 0.5 or 5 and “Show shape”. Experiment. If you uncheck “Use screen center?”, you can put the circle’s center anywhere you like. Here’s what happens with the center at (2,0), “D02 Real” used for distance, Scale not checked, “C10 Harmonic average”, and “Mandelbrot type” smoothing ![65da3d726ba3b.jpg](serve/attachment&path=65da3d726ba3b.jpg) Experiment. For coloring, Simple Shapes plug-in calculates the distance, d, from z to the circle, and multiplies d and z. Then it uses the “Use for distance” plug-in to calculate a new distance. This new distance is used for Accumulating values for the Final phase of coloring. If “Inside/outside/etc.” is “Inside”, only iterations with z inside the circle are used for coloring. “Outside” is obvious. “Change” means use this iteration if this z is inside and the previous z was outside, or vice versa. “Same” means use this iteration if this z is inside and the previous z was also inside, or both were outside. The last four should be clear, but as an example, “In->Out” uses this iteration for coloring if the previous z was inside and this z is outside. Experiment. These options should be useful for making layers, especially if the Solid Color is transparent. “Simple Shapes” has other shapes: Ellipse, Triangle, Square, and Rectangle. Ellipse is like Circle except for specifying an x value and a y value instead just a radius. If the Triangle is equilateral, you specify the side length, the origin, and the rotation. For non-equilateral triangles you specify the three vertex points. Experiment. For Square and Rectangle, you specify the center, the side length or lengths, and the rotation. Experiment. Here's an example with Rectangle, center (2,0), X length 2, Y length 22, rotation 0, “Either”, “D01 cabs”, Scale, Scale factor 2, “C09 Geometric average”, and no final smooth. ![65da3daa15c54.jpg](serve/attachment&path=65da3daa15c54.jpg) Change the Distance plug in to “Lines2”. You may have 1 or 2 lines, each defined by a point on the line and a rotation angle. The default is 1 line. The options for “"Pos./neg. side/etc." are similar to those in “Simple Shapes”, and the “Use for distance” options are the same as in “Simple Shapes”. Here’s the image: ![65da3ddd20cb2.jpg](serve/attachment&path=65da3ddd20cb2.jpg) Experiment with 1 or 2 lines, different angles, etc. “Gaussian Integer” and “TIA Distance” (TIA = Triangle Inequality Average) are like the ones in Standard.ucl. Try “Grid2” and “Spiral” on your own. They were interesting to program, but I didn’t find them interesting to use. Your mileage may vary. [continued in next message]
 
0
reply

[continued from previous message]

Now for some different plug-ins for the Accumulation phase of the coloring. Choose “Transform” for the plug-in. This uses UserTransforms, some of which can be found in dmj5.ulb, jlb.ulb, mmf.ulb, mt.ulb, om.ulb, reb.ulb, thm.ulb, and Standard.ulb. The default T plug-in is “Function Transform” in jlb.ulb, and its default Function plug-in is “05 cos”. Keeping “D01 cabs”, Scale 1, and “C09 Geometric average”, here’s the image.
65da3e60bce3f.jpg

Click the Browse button on the “Transform T” line and choose “Log Spiral” from dmj5.ulb. Choose “D02 Real”, check “Scale”, and keep “C09 Geometric average”.

65da3e79494c3.jpg

Experiment. Choose “Trap” for the plug-in instead of “Transform”. This uses Trapshapes, some of which can be found in in ck.ulb, dmj5.ulb, kcc5.ulb, mmf.ulb, mt.ulb, reb.ulb, rkb.ulb, sam.ulb, and Standard.ulb. The default is “Cross” from Standard.ulb. Choose “C08 Arithmetic average” and smooth with “Mandelbrot type”.

65da3e94b431b.jpg

Or, instead of smoothing, try changing the “Color Density” or “Transfer Function”. Experiment.

Choose “Curve distance” for the plug-in. This has 45 plug-in curves with 1 parameter and 24 plug-in curves with 2 parameters to choose from. (For the mathematicians, these are combinations of x and y such that, if set equal to 0, define a curve in the xy plane.) Choose 1-parameter curve “CD145 Witch of Agnesi”, check the Scale box, set “Parameter a” to 1, “C05 Distance range”, and smooth with “Mandelbrot type”.

65da3ec026a41.jpg

Experiment. Keep “C05 Distance range” and remove the Mandelbrot smoothing. Choose “AboveBelow” for the plug-in. This uses the Above coloring method if some function of z is above a critical value, and the Below method if that function is below the critical value. Or, use Above if the number of iterations is above the critical value, and Below otherwise. (This could get complicated, as one of the methods itself could be AboveBelow.) The default methods are “Simple Shapes” with both “Shape type” of Circle, so something needs to be changed to see the above/below effect. Keep the default parameters, except the Above Circle method should be Outside and the Below Circle method should be Inside.
65da3ee2e24a0.jpg

Many parameters to experiment with here! If “Transition parameter” is 0, the transition between the Above and Below methods is abrupt. If the parameter is positive, the transition is smoothed. Experiment.

[continued in next message]

[continued from previous message] Now for some different plug-ins for the Accumulation phase of the coloring. Choose “Transform” for the plug-in. This uses UserTransforms, some of which can be found in dmj5.ulb, jlb.ulb, mmf.ulb, mt.ulb, om.ulb, reb.ulb, thm.ulb, and Standard.ulb. The default T plug-in is “Function Transform” in jlb.ulb, and its default Function plug-in is “05 cos”. Keeping “D01 cabs”, Scale 1, and “C09 Geometric average”, here’s the image. ![65da3e60bce3f.jpg](serve/attachment&path=65da3e60bce3f.jpg) Click the Browse button on the “Transform T” line and choose “Log Spiral” from dmj5.ulb. Choose “D02 Real”, check “Scale”, and keep “C09 Geometric average”. ![65da3e79494c3.jpg](serve/attachment&path=65da3e79494c3.jpg) Experiment. Choose “Trap” for the plug-in instead of “Transform”. This uses Trapshapes, some of which can be found in in ck.ulb, dmj5.ulb, kcc5.ulb, mmf.ulb, mt.ulb, reb.ulb, rkb.ulb, sam.ulb, and Standard.ulb. The default is “Cross” from Standard.ulb. Choose “C08 Arithmetic average” and smooth with “Mandelbrot type”. ![65da3e94b431b.jpg](serve/attachment&path=65da3e94b431b.jpg) Or, instead of smoothing, try changing the “Color Density” or “Transfer Function”. Experiment. Choose “Curve distance” for the plug-in. This has 45 plug-in curves with 1 parameter and 24 plug-in curves with 2 parameters to choose from. (For the mathematicians, these are combinations of x and y such that, if set equal to 0, define a curve in the xy plane.) Choose 1-parameter curve “CD145 Witch of Agnesi”, check the Scale box, set “Parameter a” to 1, “C05 Distance range”, and smooth with “Mandelbrot type”. ![65da3ec026a41.jpg](serve/attachment&path=65da3ec026a41.jpg) Experiment. Keep “C05 Distance range” and remove the Mandelbrot smoothing. Choose “AboveBelow” for the plug-in. This uses the Above coloring method if some function of z is above a critical value, and the Below method if that function is below the critical value. Or, use Above if the number of iterations is above the critical value, and Below otherwise. (This could get complicated, as one of the methods itself could be AboveBelow.) The default methods are “Simple Shapes” with both “Shape type” of Circle, so something needs to be changed to see the above/below effect. Keep the default parameters, except the Above Circle method should be Outside and the Below Circle method should be Inside. ![65da3ee2e24a0.jpg](serve/attachment&path=65da3ee2e24a0.jpg) Many parameters to experiment with here! If “Transition parameter” is 0, the transition between the Above and Below methods is abrupt. If the parameter is positive, the transition is smoothed. Experiment. [continued in next message]
 
0
reply

[continued from previous message]

You may have noticed that “Basic version?” has been checked for all these examples. The time has come. Go back to the original upr. Change the Plug-in to “Simple Shapes”, change the Shape type to Triangle. Change to “D12 Imag/Real”, keep Scale checked, and keep “C05 Distance range”.

65da3f2de035e.jpg

Uncheck “Basic version?”. Many new possibilities emerge. I’ll look at them in order.

“Use final distance?”—as I mentioned early in this tutorial, on the final z iteration, after bailout, UF doesn’t call the coloring formulas on the Inside and Outside tabs. This setting gives you the option. I’ve mostly found it better to use the final distance, although sometimes it makes no difference. Experiment.

Within Color by Distance a variable named zz is used. In the Basic version, zz is the same z that’s used in the Formula iterations. In the non-Basic version, zz can be different. (The z in the Formula iterations cannot be changed by whatever happens in the Coloring iterations.) Click on the Browser button to the right of “Use for zz” to see the first options. Experiment. Keep zz as z.

The next option is to rotate zz by some number of degrees. Try -45 degrees (or +315, it’s the same.)

65da3f507dc75.jpg

Experiment. Change the rotation back to 0. On the line after “Use zz or T(azz)” choose “T(azz)”, set a = 1, keep “Function Transform” and choose the default “05 cos”.

65da3f6def7dc.jpg

Experiment. Change back to zz instead of T(a*zz). The “ZZ Offset” option just adds a value to zz. Set it to (1,-2).

65da3f87e2a80.jpg

Change the offset back to (0,0). Scroll down to after “End of distance plug-in”, to “Distance adjustment”. Click on the browser button to see the possibilities. Choose “BP01 power”. This option takes the distance calculated so far and raises it to a power (p) and multiplies it by a constant (b). It has no effect if both b and p are set to 1. Set the power to 0.25.

65da3fcc94606.jpg

Experiment. Keep b and p the same. Choose “BP02 haversine”.

65da3ff6796b7.jpg

Choose “BP99 discontinuous”. (It’s 99 to leave room for a few good ideas.) This breaks the gradient index into a number of ranges, similar to “Binary Decomposition” in Standard.ulb, which has only 2 ranges.
65da400f63248.jpg

[continued in next message]

[continued from previous message] You may have noticed that “Basic version?” has been checked for all these examples. The time has come. Go back to the original upr. Change the Plug-in to “Simple Shapes”, change the Shape type to Triangle. Change to “D12 Imag/Real”, keep Scale checked, and keep “C05 Distance range”. ![65da3f2de035e.jpg](serve/attachment&path=65da3f2de035e.jpg) Uncheck “Basic version?”. Many new possibilities emerge. I’ll look at them in order. “Use final distance?”—as I mentioned early in this tutorial, on the final z iteration, after bailout, UF doesn’t call the coloring formulas on the Inside and Outside tabs. This setting gives you the option. I’ve mostly found it better to use the final distance, although sometimes it makes no difference. Experiment. Within Color by Distance a variable named zz is used. In the Basic version, zz is the same z that’s used in the Formula iterations. In the non-Basic version, zz can be different. (The z in the Formula iterations cannot be changed by whatever happens in the Coloring iterations.) Click on the Browser button to the right of “Use for zz” to see the first options. Experiment. Keep zz as z. The next option is to rotate zz by some number of degrees. Try -45 degrees (or +315, it’s the same.) ![65da3f507dc75.jpg](serve/attachment&path=65da3f507dc75.jpg) Experiment. Change the rotation back to 0. On the line after “Use zz or T(a*zz)” choose “T(a*zz)”, set a = 1, keep “Function Transform” and choose the default “05 cos”. ![65da3f6def7dc.jpg](serve/attachment&path=65da3f6def7dc.jpg) Experiment. Change back to zz instead of T(a*zz). The “ZZ Offset” option just adds a value to zz. Set it to (1,-2). ![65da3f87e2a80.jpg](serve/attachment&path=65da3f87e2a80.jpg) Change the offset back to (0,0). Scroll down to after “End of distance plug-in”, to “Distance adjustment”. Click on the browser button to see the possibilities. Choose “BP01 power”. This option takes the distance calculated so far and raises it to a power (p) and multiplies it by a constant (b). It has no effect if both b and p are set to 1. Set the power to 0.25. ![65da3fcc94606.jpg](serve/attachment&path=65da3fcc94606.jpg) Experiment. Keep b and p the same. Choose “BP02 haversine”. ![65da3ff6796b7.jpg](serve/attachment&path=65da3ff6796b7.jpg) Choose “BP99 discontinuous”. (It’s 99 to leave room for a few good ideas.) This breaks the gradient index into a number of ranges, similar to “Binary Decomposition” in Standard.ulb, which has only 2 ranges. ![65da400f63248.jpg](serve/attachment&path=65da400f63248.jpg) [continued in next message]
 
0
reply

[continued from previous message]

Go back to “BP00 no change”. The next option is to use only some range of distances in the coloring. On the “Use all / some distances” choose “Some.” Set the minimum to 0 and the maximum to 0.5.

65da4053de0fc.jpg

Experiment. Change back to “All”. The next option is to use only some range of iterations in the coloring. On the “Use all / some iterations” choose “Some.” Set the starting value to 1 and the number to 2.

65da406d1abd4.jpg

Experiment. Change back to “All”. Scroll down to “Final adjustment”. Choose “BP01 power” and set p to 0.5.

65da40914156d.jpg
Choose “BP03 tanh” instead of “BP01 power”. Set b to 4 and p to 3.
65da40b995016.jpg

For some fractals, especially ones with TMD, negative values are useful. Experiment.

Congratulations if you made it this far while going through the examples instead of just skipping to the end.

Have a favorite coloring formula that might make a good plug-in? Several that could be combined? I welcome comments and suggestions.

[continued from previous message] Go back to “BP00 no change”. The next option is to use only some range of distances in the coloring. On the “Use all / some distances” choose “Some.” Set the minimum to 0 and the maximum to 0.5. ![65da4053de0fc.jpg](serve/attachment&path=65da4053de0fc.jpg) Experiment. Change back to “All”. The next option is to use only some range of iterations in the coloring. On the “Use all / some iterations” choose “Some.” Set the starting value to 1 and the number to 2. ![65da406d1abd4.jpg](serve/attachment&path=65da406d1abd4.jpg) Experiment. Change back to “All”. Scroll down to “Final adjustment”. Choose “BP01 power” and set p to 0.5. ![65da40914156d.jpg](serve/attachment&path=65da40914156d.jpg) Choose “BP03 tanh” instead of “BP01 power”. Set b to 4 and p to 3. ![65da40b995016.jpg](serve/attachment&path=65da40b995016.jpg) For some fractals, especially ones with TMD, negative values are useful. Experiment. Congratulations if you made it this far while going through the examples instead of just skipping to the end. Have a favorite coloring formula that might make a good plug-in? Several that could be combined? I welcome comments and suggestions.
 
0
reply

More useful and exciting insights into Ultrafractal! I'll be experimenting with these for a long time. Margaret

More useful and exciting insights into Ultrafractal! I'll be experimenting with these for a long time. Margaret

Margaret Kieckhefer is Ampelosa on DeviantArt.

 
0
reply
77
views
5
replies
2
followers
live preview
Enter at least 10 characters.
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft