This Formula let you choose 2 Fractal Formulas,
and blend them with this formula you can transform any fractal into any other
the only thing you should be aware is that mixing Divergent and Convergent
can lead to problems ...
This Formula allows you to choose a second formula to be taken at a certain iteration deepness
christian kleinhuis 2008
visit:
fractalforums.com
fractalmovies.com
given a complex number pz, locate the closest
point on the curve, the segment number it is on,
and the distance squared to that point; note
that distance can never be negative (use IsLeft()
to determine sign if you need it)
Note that this class is not intended for use with gradients.
If GradientMerge is called then UF's in-built gradient will be used.
For layer gradients the GradientLayer class should be used instead.
given a fractional segment number, determine the
distance from the curve start to that point
if ptotal is set, the distance will be cumulative
from all closed loops, not just from the start of
the closest closed loop
This class defines an easing function,
This Class Has only one function
Ease(x) where x is in the range of 0..1
The return value is the eased version of the input value
call this to begin processing a sequence
NOTE: although ColorTransfer computes colors, it is still initialized
with a complex value, usually corresponding to the point this
is being applied to
call this to begin processing a sequence
NOTE: although IntegerTransfer computes integers, it is still initialized
with a complex value, usually corresponding to the point this
is being applied to
call this to begin processing a sequence
NOTE: although Transfer computes reals, it is still initialized
with a complex value, usually corresponding to the point this
is being applied to
Derived from the public C code of Curtis McMullen and
material from Indra's Pearls by Mumford, Series and Wright
A new method for InitSpheres is needed, as both spheres
and Kleinian Group matricies must be initalized.
query: is a point to the left of a parabolic segment?
note that if the point is outside the triangle enclosing
the segment, we treat this as the same as if the point
is to the left of the lines bounding the parabolic arc
(we extend the arc by straight lines)
These sections are not necessary, since they will automatically be called
as part of the parent class
MMF_SwitchDivergentFormula.MMF_SwitchDivergentFormula(pparent)
endfunc
return MMF_SwitchDivergentFormula.Init(pz)
endfunc
This is a combination of Distance Estimator or Smooth Iteration or
Exponential Smoothing and Distance Estimator Angles or Field Lines
that allows the use of either the distance estimate or the smooth
iteration value or the exponential smoothing value combined with
either the distance estimator angles or the field line angles for
mapping an image into a fractal.
PLEASE NOTE This class is obsolete/deprecated.
Instead of using this class and its derived classes you should use
the Layer class and its derived classes.
PLEASE NOTE This class is obsolete/deprecated.
Instead of using this class and its derived classes you should use
the Layer class and its derived classes.
Note that this class is not intended for use with gradients.
If GradientMerge is called then UF's in-built gradient will be used.
For layer gradients the MMF_GradientLayerMerge class should be used instead.
PLEASE NOTE This class is obsolete/deprecated.
Instead of using this class and its derived classes you should use
the Layer class and its derived classes.
PLEASE NOTE This class is obsolete/deprecated.
Instead of using this class and its derived classes you should use
the MMF Layered class and its derived classes.
Creates 3D lighting effects when combined with the
Lighting or Mixed Lighting (direct) colouring algorithms.
Allows "slope" colouring from any formula, any colouring.
Written by David Makin based on Standard_Slope by Damien Jones
Original May 2008
Object version of NovaMandel for switching
Nova fractal (Mandelbrot form), a modified Newtonian-style fractal.
Object switch version by David Makin
Originators Damien M.
Note that this implimentation is slightly different to normal
TrapModeProduct in that IterationPoints is kept as a trap counter
and TransformedPoints and UntransformedPoints are initialised to
1 and multiplied by (1 + pz/cabs(pz)) and (1 + pzt/cabs(pzt))
respectively.
Note that this implimentation is slightly different to normal
TrapModeProduct in that IterationPoints is kept as a trap counter
and TransformedPoints and UntransformedPoints are initialised to
1 and multiplied by (1 + pz/cabs(pz)) and (1 + pzt/cabs(pzt))
respectively.
Note that this implimentation is slightly different to normal
TrapModeProduct in that IterationPoints is kept as a trap counter
and TransformedPoints and UntransformedPoints are initialised to
1 and multiplied by (1 + pz/cabs(pz)) and (1 + pzt/cabs(pzt))
respectively.
Note that this implimentation is slightly different to normal
TrapModeProduct in that IterationPoints is kept as a trap counter
and TransformedPoints and UntransformedPoints are initialised to
1 and multiplied by (1 + pz/cabs(pz)) and (1 + pzt/cabs(pzt))
respectively.
rasterize a set of curve segments that may contain
cubic segments into lines and quadratic segments;
also performs auto-compute at this time
pflags = extra computation flags: 1 = compute segment lengths (needed for ClosestPoint, DistanceAlongCurve), 2 = compute normals (needed for ClosestCurve)
An extended version of an n-leaved rose (pinch) shape - There are
60+ base shapes hard coded with the parameters being delta values
from the base shapes.
use this function to set the screen-relative coordinate style
if you don't do this, and you allow screen-relative coordinates,
your handles will appear in the wrong place
call this to set the threshold selected by the user
it's up to the calling code to apply the threshold,
but some trap shapes or merges need to know the
threshold to work properly
set the winding mode
pmode = winding mode:
0 = fully self-intersecting (default) (like "invert overlaps" in DeluxeClipping)
1 = individual loops not self-intersecting, subsequent loops may intersect
2 = entire curve not self-intersecting (like "all inside" in DeluxeClipping)
Super Shape UF5 Implementation
c.kleinhuis 2008
Formula Taken from Paul Bourke's Website:
http://local.wasp.uwa.edu.au/~pbourke/surfaces_curves/supershape/
visit fractalforums.com or fractalmovies.com
for example usage of this formula