dmj-pub-uf.zip
==============
Included files:
dmj-exam.upr Example parameters using these formulas
dmj-pub.txt This file
dmj.ucl Coloring formulas
dmj.ufm Fractal formulas
dmj.uxf Transformation formulas
More information can be found at this web site:
http://www.fractalus.com/ultrafractal/dmj-pub-uf.htm
You can always download a current version of these formulas from here:
ftp://ftp.fractalus.com/pub/extras/dmj-pub-uf.zip
You can read about re-use guidelines here:
http://www.fractalus.com/ultrafractal/dmj-pub-uf-reuse.htm
This covers re-use for both the formulas and images. There has been a lot
of confusion about this in the past, so PLEASE take a moment and review
the above web page if you have not already done so.
Changes in v2.1
---------------
All files, all formulas:
+ Cleaned up and expanded some comments.
dmj.ufm
+ Added Orbit Boost types for Mandelbrot/Julia and Nova Mandelbrot/
Julia fractals. These perform normal iteration except within a
"boost" region, which alters the iteration value in a variety of
ways.
+ Added a "Coloring Only" option to all +fBm types, which applies
the fBm distortion only to the orbit value passed to the coloring
algorithm. The actual fractal orbit is unchanged.
+ Added SlopeJulia2. This is like the other Slope formulas, but with
the Julia2 fractal type.
+ Added (cough) Slope (LambdaJulia). It was erroneously left out.
+ Fixed SlopeTrap (Mandelbrot) so that it works; fixed both SlopeTrap
formulas so that they compile without warnings.
+ Reset default height value for Slope (Julia) to "distance estimator".
This is now consistent with the other Slope types.
dmj.ucl
+ Orbit Traps now has a new option: Repeat Center. This can be used
to change where the repeating is centered in the complex plane.
+ Added fBm II coloring, which calculates an fBm value at every
iteration and totals them up for the entire orbit.
dmj.uxf
+ General Inversion now has an alternate "line" mode which inverts
only a single axis. This is especially useful for certain
perspective effects.
+ Added fBm Clipping. This allows you to clip a region based on fBm
texture.
+ LowRes now has a "rotate" parameter that lets you set the angle of
the low resolution grid.
+ Added Mosaic. This can turn an image into a group of mosaic tiles.
+ Added Spots. This can make an image appear as though it's been
drawn with spots.
+ Added Forces. This sprinkles the image with attractive and repelling
points, which push and pull parts of the image.
dmj-exam.upr
+ Added "Tordu" and "Cloud Nine".
Changes in v2.0
---------------
All files, all formulas:
+ Hooks for online help for all of the formulas and parameters have
been added. I am in the process of writing this help, but several
people urged me NOT to delay the release of the formulas, so you
have the formulas now, and the documentation will follow later.
Until then, the ? help icon won't do you any good, but hint text
(which you get by just pointing to the parameter entry field) does
still work.
dmj.ufm
+ Added Lambda in Mandelbrot and Julia forms. This simply iterates
the equation z[n+1] = r*z[n]*(1-z[n]), the classical logistics
equation, with complex numbers.
+ Added Slope (Lambda) in Mandelbrot and Julia forms. This is the
Lyapunov type, set up to work with the Lighting coloring formula.
+ Added SlopeTrap in Mandelbrot and Julia forms. Think of it this
way: what Slope did with smooth colorings, SlopeTrap does with
orbit trap methods.
+ Added DoubleMandel and DoubleJulia. These are the classical
Mandelbrot/Julia fractals but with a second term in the equation.
They are to Mandelbrot/Julia fractals as DoubleNova is to Nova.
+ Added Markus-Lyapunov. This is a version of the forced-periodic
growth logistics equation iterator. Use with Markus-Lyapunov
coloring. This is a slow formula.
+ Added Mandelbrot+fBm and Julia+fBm. These types uses the fBm noise
algorithm to perturb the orbit of Mandelbrot and Julia sets at
each iteration. These are slow formulas.
+ Added Nova+fBm in Mandelbrot and Julia forms. These are like the
other +fBm formulas, but using the Nova equation instead of the
classic Mandelbrot/Julia equation. These are slow formulas.
+ Added PhoenixDoubleHalleyNova, in Mandelbrot and Julia forms. These
add an inductive term to DoubleHalleyNova types.
+ Added Torus (Julibrot), which renders toroidal sections of 4D
Julibrot space. With certain parameters, these images are tileable.
+ Added Torus (Nova), which renders toroidal sections of 4D
NovaM/J space. With certain parameters, these images are tileable.
I will add more parameters to these torus types in the future, but
I thought people might want to play with these now.
+ Added Bifurcation fractal types. These emulate the bifurcation
family of plots from FractInt. These plots do not really fit very
well into the Ultra Fractal rendering model, I include them only
because they are helpful in explaining certain mathematical
properties of chaos, and as an example of writing formulas that
render these types of plots.
+ Added StutterMandel, which iterates the Mandelbrot set but
periodically "resets" the c value to the current z value. (There
is no Julia type for this.)
+ Added ManyJulia and ManyNova. These types can be used to render
many Julia or NovaJulia fractals into the same image, using a
tile-based grid.
+ Added Simurgh in Mandelbrot and Julia forms. This is a doubly-
inductive type, in that each iteration depends on the values of
the past three iterations. It is an extension of the Phoenix
type (in fact, you can render all Phoenix fractals with this
formula if you set Simurgh Distortion 2 to zero).
dmj.ucl
+ Added a new trap shape to both Orbit Traps and Twin Traps: radial
ripples. These complement the ring ripples type.
+ Added new trap shapes to both Orbit Traps and Twin Traps: radial
waves and radial waves 2. These wrap one or two sine waves around
a point. Use Trap Frequency to adjust the frequency of the waves;
use Trap Order to adjust the height of the waves; use Diameter to
adjust the diameter of the circle the waves are centered on.
+ Added transfer functions for trap distances to Orbit Traps, and
pre- and post-scaling factors. I'll add these to Twin Traps later.
+ Added an option to use a solid color for points outside the "trap"
areas, for Orbit Traps and Twin Traps.
+ Added A and B trap weighting parameters to Twin Traps. You can use
this to give a "preference" to one trap over another. The default
weights of 1.0 will reproduce the old, unweighted behavior.
+ Added Fractional Brownian Motion coloring (fBm). This can be used
to create zoomable clouds and bumpy textures.
+ Added new modes (angle, real, imaginary) to Distance Estimator
coloring.
+ Added Markus-Lyapunov coloring, for use with Markus-Lyapunov
fractal type.
+ Lyapunov coloring (not to be confused with Markus-Lyapunov) has a
new option: Smooth Coloring. If set, uses the same smoothing
algorithm as Triangle Inequality Coloring to interpolate between
iteration values for a smoother result. This works best for the
Mandelbrot and Julia and derived types.
+ Added Bifurcation coloring, for bifurcation plots.
+ Added Sampling coloring, which works by checking the distance of
the orbit to the pixel at each iteration. Not only can the discrete
points in the orbit be tested, but also the full line-segment path
traced by the orbit points.
dmj.uxf
+ Added fBm Glass 1, which can be used to apply one-dimensional
turbulence (linear or radial) to an image.
+ Added Triangle Inequality Average Glass 1, which does the same
thing as fBm Glass 1, but using Mandelbrot-based TIA coloring
as the basis for the turbulence.
+ Added Rectangular to Polar, which converts Cartesian coordinates
to polar coordinates.
+ Added Polar to Rectangular, which converts polar coordinates back
to Cartesian coordinates.
+ Added Mirror, which can be used to reflect an image along an
arbitrary axis.
+ Added Offset, which can be used to move a fractal. You can
accomplish the same thing by changing location, but this transform
allows you to accomplish the same shifting within a sequence of
transformations, and also to adjust the scale of the movement
without having to compute coordinates yourself.
+ Added Stretch, which can be used to stretch the image horizontally
or vertically. This transform is geared towards being easily
added to a fractal after it has already been zoomed.
+ Added Blob Clipping, which allows clipping shapes to be set up
based on 2D blobs. Up to eight blobs per transform may be used.
dmj-exam.upr
+ "9", "April Pond", "In Defiance of Vision" (2nd Place, Limited
Color, Fractal-Art '99 Contest), "Inescapable Problems", "New Box
of Crayons", and "Turbulence Cubed" added. These all (except for
"Problems") use at least one of the fBm formulas in some fashion.
Changes in v1.8
---------------
dmj.ufm
+ All Nova and HalleyNova types have a new parameter, "Relaxation".
This can be used to slow down convergence and reduce the amount of
chaos in the image. Of course, it can also be used to increase the
chaos as well. The default value of 1.0 will produce the old
behavior (so your old parameters will work). Values below 1.0 will
produce less chaotic images, and values above 1.0 will produce
more chaotic images. Complex values are totally illogical, but very
interesting.
+ Added PhoenixNova and PhoenixHalleyNova types, in both Mandelbrot
and Julia form. These use an "inductive" term like Phoenix fractals,
but with the Nova and HalleyNova formulas.
+ Added Mandelbrot-Nova type. This formula alternates between
Mandelbrot and Nova formulas at each iteration. You can adjust the
frequency with which it switches formulas as well.
dmj.ucl
+ The "Diameter" setting in Orbit Traps now can be negative. This is
mostly useful with the waves trap shapes.
+ Minor speed optimizations to funky average 3 and 6 trap modes.
+ Twin Traps coloring added. This is based loosely on the ideas of
Kerry Mitchell, coupled with my own illogical extrapolations. The
concept is simple: use two trap shapes, and combine the distances
to those traps at each step to get a single distance, which is then
processed in the normal trap mode fashion. Some of the more esoteric
parameters from Orbit Traps were not included in this formula, to
keep it a bit more manageable.
dmj-exam.upr
+ "Evil Lurks", "Fractal Ear", and "Las Vegas" added.
Changes in v1.71
----------------
This is just a bug-fix release.
dmj.uxf
+ "Screen-Relative" coordinates in the "Clipping" transform will now
work as expected if your fractal is rotated, and "Allow Rotation" is
disabled. Thanks to Janet Preslar for spotting this problem.
Changes in v1.7
---------------
dmj.ucl
+ "Waves" trap shapes added. These are similar to the "lines" trap
shape, except that the lines are sine waves. Use Trap Order to
adjust the height of the waves, and Diameter to change the
distance between them.
+ A new trap parameter, "Trap Frequency", was added to control the
frequency of the wave trap types. It also works for the ripple
types, too, and has the inverse effect of modifying Diameter for
ripple types.
+ New trap parameters "Skew" and "Skew Step" were added. These are
like the Rotation and Rotation Step parameters, except they skew
instead of rotate.
+ New trap parameters "Start Iteration", "Trap Iterations", and
"Skip Iterations" were added. You can use these to omit certain
iterations from being considered for orbit trap behavior. For
example, if Start Iteration is 200, then the first 200 iterations
will be ignored as far as orbit traps are concerned. If Trap
Iterations and Skip Iterations are both set to 1, then alternate
iterations will be used (one checked, one ignored).
+ New trap coloring "angle to origin 2" duplicates the atan coloring
scheme in the obsolete coloring method ReallyCool that came with
beta versions of UF. You can convert your old ReallyCool images
to Orbit Traps by using trap shape hypercross, trap mode closest,
and this new coloring.
+ Trap shapes and coloring modes were reordered to a more sensible
progression.
dmj.uxf
+ "Clipping" transformation was added. This is similar in purpose
to Luke Plant's "Scissors" transformation, but its interface is a
bit simpler: point and click selects the control points of the
clipping shape. You can clip either the inside or outside of the
shape.
+ The "Strict Bailout" in the "Select (Mandelbrot)" transformation
now works. This adjusts the bailout differently for each pixel and
overrides the Bailout setting.
+ "Select" types for Julia, Phoenix Julia, and Nova Julia were added.
+ "Julia", "Phoenix Julia", and "Nova Julia" transforms were added.
These allow you to warp the fractal with a few iterations of these
fractal types.
dmj-exam.upr
+ "Atlas", "Melt-O-Waves", and "Gorgon" added.
Changes in v1.6
---------------
My apologies for making another release so quickly, but Janet Preslar
had some excellent ideas and timing was important.
dmj.ucl
+ "Egg" orbit trap shape was added. Use Trap Order to change the
egginess, and trap Diameter to tweak the spacing between egg foci.
dmj.uxf
+ Egg Scissors transform was added. You can use this to isolate an
egg-shaped area of your fractal, in much the same way as Luke Plant's
general Scissors transform does.
Changes in v1.5
---------------
dmj.ufm
+ Added SinNova types. These are the Nova form of the equation
sin(z)^n - 1 = 0. Both Mandelbrot and Julia types are available.
+ Added DoubleNova types. These are the Nova form of the equation
az^m + bz^n - 1 = 0. Both Mandelbrot and Julia types are available.
+ Added DoubleHalleyNova types. These are the HalleyNova form of
the equation az^m + bz^n - 1 = 0. Both Mandelbrot and Julia types
are available.
+ All Julia types can now toggle back to their Mandelbrot types.
dmj.ucl
+ Added Finite Attractor coloring for Inside points. This is similar
to the default coloring method based on iterations, except it
counts how many iterations before the orbit settles into a periodic
cycle. This is a discrete coloring method (it always produces
bands).
+ Added Curvature Average coloring. This produces results similar,
but not identical, to Triangle Inequality Average.
dmj.uxf
+ General Inversion was added. This extends the concept of inversion
to include other curves besides circles.
+ Mandelbrot transform was added. This applies a few iterations of
the Mandelbrot equation, and is useful for warping convergent
fractals (like Newtons and Newton-derivatives).
dmj-exam.upr
+ Added "Ethereal", "Lure", and "Promise of Spring".
Changes in v1.4
---------------
In accordance with the new naming convention, all the formula files
have been renamed without the "-pub" suffix. If you have not already
modified your parameter files to work with the new scheme, you will
need to do so.
dmj.ufm
+ HalleyNova formulas were added. These are fractals similar to
the Nova family, but they use Halley's method instead of Newton's
method.
dmj.ucl
+ The "heart" trap shape was added. Use "Trap Order" to adjust the
"fatness" of the hearts.
+ The "ripples" trap shapes were added. Use "Diameter" to adjust the
spacing between ripples; use "Trap Order" to adjust the fade-out
range of the ripples.
+ If you use the "Trap Center Moves" option, the "Trap Center" value
is now an offset from the pixel location. Previously it had no
effect when "Moves" was enabled. If your images using "Moves" do
not render correctly, reset their "Trap Center" values to zero.
+ More optimizations of "Orbit Traps" were done.
+ "Triangle Inequality Average" now has some new parameters that let
you alter values before they are averaged. The default settings for
these parameters produce the old behavior.
Changes in v1.3
---------------
dmj-exam.upr
+ Several additions and removals, made at the suggestion of
Frederik Slijkerman. This file was not previously included in
the distribution. It replaces the dmj-exam.upr that comes with
Ultra Fractal.
dmj-pub.ucl
+ Minor optimizations made to "Orbit Traps"; it should run a
little bit faster.
+ Two new trap modes were added to "Orbit Traps", named "funky
average 6" and "trap only". "Trap only" lets you see the trap
regardless of iteration, which can be useful for examining
different traps and the effects of various parameters on the
trap shape.
+ Astroid trap shapes were added to "Orbit Traps". You can use
the "Trap Order" (formerly "Pinch Order") to set the exponent
used to calculate the astroid curve. Use 0.666667 for the
classic astroid shape; other values can produce interesting
results.
+ "Lyapunov" coloring added; this colors based on the Lyapunov
exponent.
+ "Spiral" coloring added; this colors with spiral gradients
like Kai's Power Tools. Note this only works for the classic
Mandelbrot set at the moment.
dmj-pub.ufm
+ Added "Mandelbrot (Inverted)" type. This is the Mandelbrot
set, but using an inverted z. This will give interesting
results for coloring algorithms which expect a converging z,
and will also allow inverted orbit trap shapes. A Julia
version was added as well.
+ Julia2 and Julia3 were modified to allow a "pattern" string.
This pattern indicates when each seed should be used.
Previously, seeds could only alternate. Now you can make one
seed be used for three iterations, then the other (pattern
"1112")--just as an example.
+ Added "Nova-I" types, Mandelbrot and Julia. These are the
Nova formulas, but using an inverted z. This will give
interesting results for coloring algorithms which expect a
diverging z, and will also allow inverted orbit trap shapes.
Note this does not make these types work with Smoothed
Iterations and methods which rely on it, except for the
Julia flavor when c=(0,0) (which gives a classic Newton
fractal).
+ Fixed a problem with NovaJulia2-Step1a not working correctly.
+ Added "smallest |atan(z)|" to "Slope" types. This gives
height values based on the smallest angle of z.
dmj-pub.uxf
+ Added "Low Resolution", which you can use to reduce the
resolution of a fractal arbitrarily on each axis. This can
produce interesting tile effects when used with reversible
transformations (the same transformation, but in an opposite
direction).
+ Added "Unspiral", which you can use to straighten the arms
of a fractal spiral (these are usually logarithmic spirals).
You can also use it to ADD such a spiral effect to a fractal.