ULB File mmf

Classes by David Makin for Ultrafractal 5 and later.

This version 10th December 2008.
Minor improvements to exponential smoothing in Field Estimator.
Added the Switch Magnet 2 formula.

6th December 2008.
Added the Switch Magnet 1 formula.
Added the "fix" to the Magnet 1 Distance Estimator.

29th November 2008
Fixed the default version in Field Estimator.

See:
          Description

Class Summary
Contraction Contraction base class.
DirectLayer 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.

DistanceEstimatorBase Distance Estimator base class.
GradientLayer
Layer
MMF_AltfBm This is an fBm texture class.
MMF_CircleStimulusDLA  
MMF_Constant returns a user constant, whatever the value of pz

MMF_CrossProduct Cross products involving z, zold and zolder

MMF_DeadDLA
MMF_DefaultGradient
MMF_DirectLayer
MMF_DLA
MMF_ExtendedCilia Object version of ExtendedCilia in mmf3.ucl.
This is an extension of Damien's Cilia colouring.
MMF_ExtendedColorMerge Extended colour merges.
David Makin May 2008
Anyone interested in merge modes may like to look here:
http://www.pegtop.net/delphi/articles/blendmodes/

MMF_FieldEstimator 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.

MMF_FormulaTransform Allows the use of any object main formula as a transform

MMF_FormulaTransformWrapper A formula that wraps two transforms around any formula iteration.
MMF_FractalDeadDLA  
MMF_FractalSeedDLA  
MMF_GammaTransform Complex Gamma(z)

MMF_GeneralTransform offset,scale,offset,function,offset,scale,offset

MMF_Gradient101
MMF_GradientLayer
MMF_GradientLayerMerge 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.

MMF_ImageImport
MMF_Layered
MMF_LayerMerge 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.

MMF_LayerMergeBase 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.

MMF_Linear Simple linear transform

MMF_LineDeadDLA
MMF_Magnet1DistanceEstimator Distance Estimator for the Magnet 1 formula.
MMF_Magnet2DistanceEstimator Distance Estimator for the Magnet 2 formula.
MMF_MixedLighting Intended for use with the 'Gradient_Slope' class formula.
David Makin May 2008

MMF_MultiDeadDLA  
MMF_MultiLayer 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.

MMF_MultiLayerBase
MMF_MultiLayerNone
MMF_MultiSeedDLA  
MMF_NewtonDistanceEstimator Distance Estimator for Newton formulas solving z^p-c.
MMF_NoDeadDLA
MMF_NovaDistanceEstimator Distance Estimator for the Nova formula.
MMF_OnePointDeadDLA  
MMF_OnePointSeedDLA  
MMF_PowerFunctions fn(z)^power

MMF_QuickGradient
MMF_RectStimulusDLA  
MMF_RGBColorMerge Extended colour merges.
David Makin May 2008
Anyone interested in merge modes may like to look here:
http://www.pegtop.net/delphi/articles/blendmodes/

MMF_RunningProduct Returns the product of pz and all previous values of pz.
Fudges used when pz is zero.

MMF_RunningSum Returns the sum of pz and all previous values of pz

MMF_Scale Simply scales pz by the user scale value.

MMF_SeedDLA
MMF_SelfRotation Rotates the complex value by multiples of its own angle.

MMF_SimpleMatrixTransform Transforms pz by a general 2*2 matrix.

MMF_SmartCircleStimulusDLA  
MMF_SmartRectStimulusDLA  
MMF_SmoothOrbitTraps Written by David Makin based on normal Orbit Traps by Damien Jones
Started May 2008
MMF_StandardDistanceEstimator Distance Estimator for formulas of the form z^p+c.
MMF_StimulusDLA  
MMF_SwitchBeta Switchable Beta(z,c).

MMF_SwitchConvergentDivergentFormula Switch Convergent/Divergent Formula base class.
MMF_SwitchConvergentFormula Base class for Convergent formulas that allow switching to be used with
mmf5.ufm-Generic Switch Formula

MMF_SwitchDivergentFormula Base class for Divergent formulas that allow switching to be used with mmf5.ufm-Generic Switch Formula

MMF_SwitchFormula Base class for formulas that allow switching to be used with mmf5.ufm-Generic Switch Formula

MMF_SwitchFormulaTransformWrapper A formula that wraps two transforms around any formula iteration.
With switching when used with mmf5.ufm-Generic Switch Formula
MMF_SwitchFormulaWars2 Object version of the MMF Formula Wars 2 formula
Extended to allow the combination of up to 6 formulae
MMF_SwitchGradientSlope 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

MMF_SwitchGradientSlopeHelper Helper class for SwitchGradientSlope.
By David Makin
First version May 2008

MMF_SwitchMagnet1 Object version of Magnet 1 for switching
Object switch version by David Makin

MMF_SwitchMagnet2 Object version of Magnet 2 for switching
Object switch version by David Makin

MMF_SwitchNova Object version of NovaMandel for switching
Nova fractal (Mandelbrot form), a modified Newtonian-style fractal.
Object switch version by David Makin
Originators Damien M.
MMF_SwitchPhoenix Switchable object version of the Phoenix.
The general equation is of the form
z(n+1) = z(n)^a + c*z(n)^b + p*z(n-1)
Originators: Damien M.
MMF_SwitchRecursion This formula is an adaption of 'Switch Recursion' from mmfs.ufm which itself was based on the Lucas recursion formula found on Mathworld.
MMF_SwitchStandard Generic Switchable Mandelbrot set.

MMF_SwitchTransformFormula Any Transform applied as a formula.

MMF_TransferMerge Allows the combination of multiple transfer options
MMF_TransformAdd Adds the results of two transforms together

MMF_TransformDivide Divides one transform by another

MMF_TransformMultiply Multiplies two transforms together

MMF_TransformPowerFunctions fn(transform)^power

MMF_TransformProduct Multiplies up to 10 transforms together (with powers)

MMF_TransformSubtract Subtracts the result of one transform from another

MMF_TransformSum Sums up to 10 transforms together (with coefficients)

MMF_TrapColoring Some extensions to the standard trap colouring.

MMF_TrapModeIteration
MMF_TrapModeSmooth This is a generic trap mode class for use with MMF_SmoothOrbitTraps.
MMF_TrapModeSmoothAverage Sums the trapped values within the threshold and converts the results to averages.

MMF_TrapModeSmoothAverageAbove Sums the values above than the user value and within the threshold of it and converts the values to averages.

MMF_TrapModeSmoothAverageBelow Sums the values less than the user value and within the threshold of it and converts the values to averages.

MMF_TrapModeSmoothAverageDist Sums the values with distamce within the threshold of the user distance and converts the values to averages.

MMF_TrapModeSmoothChangeAverage Total differences in distance within threshold.

MMF_TrapModeSmoothClosest Returns trapped values from when the distance was a minimum.

MMF_TrapModeSmoothFarthest Returns the values from the trapped iteration with the largest distance within the threshold.

MMF_TrapModeSmoothFarthestAbove Returns values from the trapped iteration with the farthest distance greater than or equal to the user value and within the threshold of it.

MMF_TrapModeSmoothFarthestBelow Returns values from the trapped iteration with the farthest distance less than or equal to the user value and within the threshold of it.

MMF_TrapModeSmoothFarthestDist Returns values from the trapped iteration where the distance is farthest from the user value and within the threshold of it.

MMF_TrapModeSmoothLast Returns the values from the last trapped iteration within the threshold.

MMF_TrapModeSmoothNearest Returns values from the trapped iteration where the distance is nearest to the user value and within the threshold of it.

MMF_TrapModeSmoothNearestAbove Returns values from the trapped iteration with the nearest distance greater than or equal to the user value and within the threshold of it.

MMF_TrapModeSmoothNearestBelow Returns values from the trapped iteration with the nearest distance less than or equal to the user value and within the threshold of it.

MMF_TrapModeSmoothNth This trap mode traps to the nth trapped point that is within the threshold.

MMF_TrapModeSmoothProduct 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.

MMF_TrapModeSmoothProductAbove 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.

MMF_TrapModeSmoothProductBelow 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.

MMF_TrapModeSmoothProductDist 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.

MMF_TrapModeSmoothSecondClosest Returns the differences between the closest and second closest trapped iterations.

MMF_TrapModeSmoothSecondFarthest Returns the difference in the values from the farthest trapped iteration within the threshold and the second farthest.

MMF_TrapModeSmoothSum Sums the trapped values within the threshold.

MMF_TrapModeSmoothSumAbove Sums the values above than the user value and within the threshold of it.

MMF_TrapModeSmoothSumBelow Sums the values less than the user value and within the threshold of it.

MMF_TrapModeSmoothSumDist Sums the values with distamce within the threshold of the user distance.

MMF_TrapModeSmoothTurningPoints Traps the values occurring when the distance found hits maxima and/or minima.
MMF_TrapModeSmoothTwoClosest Returns the averages of the closest and second closest trapped iterations.
MMF_TrapModeSmoothTwoFarthest Returns the averages of the values from the trapped iteration with the farthest distance within the threshold and the second farthest.

MMF_TrapModeSmoothWithThreshold Essentially a variant of TrapModeSmooth that is thresholdable
MMF_TrapShapeAngle Trapping values based on the angle of z.

MMF_TrapShapeCentreOfCurvature Based on the original "curvature" by Luke Plant.

MMF_TrapShapeCurvature Based on the original curvature formula by Damien Jones.

MMF_TrapShapefBm A TrapShape wrapper for Alternative fBm

MMF_TrapShapeFnz Simple functions of z converted to floats.

MMF_TrapShapeInterpolation Based on the interpolation methods in mmf3.ucl Orbitals+.

MMF_TrapShapeOldAngles Trap various old angle values.

MMF_TrapShapeOrbitals Traps the change in z or z-zold relative to z or z-zold.

MMF_TrapShapeSimpleVergence Trap the divergence or convergence in the orbit.

MMF_TrapShapeTriangleInequality Based on Triangle Inequality by Damien Jones.

MMF_TrapShapeZold This is a base class specifically for Trap Shapes that require old values of z.

MMF_TrapTransfer This transfer method is based on the original UF gradient transfer but with added options.
David Makin, May 2008

MMF_TrapTransformInterpolation Trapping based on interpolation of a*zold^p1 + b*zold^p2

MMF_TrapTransformZold Base class for trap transforms requiring zold and/or zolder

MMF_TwoColourings
MMF_UserFormulaTransform A roll-your-own formula

MMF_UserGradient
 

ULB File mmf Description

Classes by David Makin for Ultrafractal 5 and later.

This version 10th December 2008.
Minor improvements to exponential smoothing in Field Estimator.
Added the Switch Magnet 2 formula.

6th December 2008.
Added the Switch Magnet 1 formula.
Added the "fix" to the Magnet 1 Distance Estimator.

29th November 2008
Fixed the default version in Field Estimator. Added more correct distance \ estimation in Magnet 2 Distance Estimator and a fix for some Julias in \ the Nova Distance Estimator.

27th November 2008
Added MMF Nova Distance Estimator. Again designed for use in MMF Field
Estimator but will work as a normal class colouring.

26th November 2008
Added MMF Transfer Merge - allows up to 10 transfers to be combined.

25th November 2008
Added MMF Magnet 2 Distance Estimator. Again it's not truly accurate as a
distance estimator but the algorithm is based on distance estimation and
produces useful colourings.

24th November 2008
Added MMF Magnet 1 Distance Estimator. It's not an accurate distance
estimation but it is based on the normal distance estimation calculations.
The distance estimation angles work quite well.

23rd November 2008
Added the Distance Estimator Base class and the Standard Distance Estimator
and Newton Distance Estimator. Added options to Field Estimator for
convergent formulas.

14th November 2008
Added the "Points per Stimulus" parameter to the DLA Inspired colouring.

12th November 2008
Minor parameter additions to the Field Estimator colouring that make it possible to correct errors in the Field Lines algorithm.

3rd November 2008
Minor fixes to MMF Field Estimator and MMF Two Colourings (backwardly
compatible).

2nd November 2008
Updated the MMF Field Estimator class to include texturing.
Added the new MMF Two Colourings class that allows you to combine any two
gradient colourings in use as the horizontal and vertical mapping values
for mapping images into your fractal.

1st November 2008
Added the MMF Image Import class. Corrected an issue in Cilia colouring for
when using conveergent cilia (backwardly compatible). Changed MMF Smooth
Orbit Traps so that when using image colouring but not using texturing then
any smooth iteration value will be merged in if selected - this change
could potentially break older UPRs that were using the MMF Image colouring.
If you have a problem simply disable 'Add the smooth iteration count". Also
added a version parameter to MMF Smooth Orbit Traps to prevent this sort of
problem occuring again.
Also added some more merge modes to MMF Extended Colour Merge and MMF RGB
Colour Merge.

25th October 2008
Added image mapping to MMF Extended Cilia. Allows separate images for
convergent and divergent areas. Basically works the same as the image
method used in the MMF Colour Selector. When used as a gradient colouring
you can colour the image using the brightness, red, green, blue, alpha,
hue, saturation or brightness values from the image. When used as a direct
colouring you get the exact image instead of the brightness version and
adding the smooth iteration colour or zbasins in this case is done using
colour merging.
Also updated the MMF Layered colouring formula so that for layers using
gradient colourings you can choose to use the gradient colouring in direct
mode. This allows full use of gradient colourings where the gradient mode
and direct mode behaviours differ - such as MMF Extended Cilia whrn using
image mapping.

24th October 2008
Added the "Image Hue" "Image Saturation" and "Image Luminance" options to
the MMF Colour Selector image trap option. Fixed some minor documentation
issues

23rd October 2008
Extended the Smooth Orbit Trap Colouring and the MMF Colour Selector to
include image trap colouring. When used as a gradient colouring you can
colour the image using the red, green, blue, alpha or brightness values
from the image. When used as a direct colouring you get the exact image
instead of the brightness version and texturing in this case is done using
colour merging.

22nd October 2008
Added the "Soft Quantize" modes to MMF Extended Colour Merge and
MMF RGB Colour Merge and fixed the Quantize and Gamma parameters for
MMF RGB Colour Merge so they always appear when they are used.

20th October 2008
Added the "Brightness" and "Colour" merge modes to the MMF Extended Colour
Merge class - as used in the MMF Layered direct colouring.

17th October 2008
Made the "MMF Multi Layer" and "MMF Layer Merge" classes obsolete.
You should now use the "MMF Layered" direct colouring and the layer
classes used in that instead of using the others.
13th October 2008

Updates to the MMF Extended Colour Merge and MMF Layer Merge classes.
Added the following Merge Mode:
Stamp, Soft Dodge, Soft Burn, Inverse Dodge, Inverse Burn, Glow, Heat,
Inverse Fade Down, Inverse Fade Up, Inverse Contrast Down,
Inverse Contrast Up, Inverse Reverse Contrast Down,
Inverse Reverse Contrast Up, Inverse Fade, Inverse Reverse Fade,
Inverse Contrast, Inverse Reverse Contrast, Inverse Quantize,
Inverse Reverse Quantize, Inv. Gamma, Inv. Inverse Gamma,
Inv. Reverse Gamma, Inv. Rev. Inv. Gamma, Inv. Combined Gamma,
Inv. Rev. Combined Gamma and Inverse Stamp.

Updated the Multi Layer colouring so that it has built-in single
colour or gradient colourings and so "solid colour" works properly
with a solid colour parameter added when using user gradients.
10th October 2008
Added MMF_UserGradient, MMF_DefaultGradient, MMF_Gradient101,
MMF_LayerMergeBase, MMF_LayerMerge, MMF_GradientLayerMerge,
MMF_MultiLayerBase, MMF_MultiLayerNone and MMF_MultiLayer.
Changed MMF_ExtendedColorMerge - added the clamp option and
some new merge modes: Fade, Reverse Fade, Contrast, Reverse Contrast
Quantize, Reverse Quantize, Gamma, Inverse Gamma, Reverse Gamma,
Rev. Inv. Gamma, Combined Gamma and Rev. Combined Gamma. Changed MMF_MixedLighting - Fixed so that 'Light transfer' works when
not using perturbation.

15th September 2008 (update from the 11th)
Added rotation on the DLA fractal plug-ins for dead points and seeding.
Added an extra "detection" option in the Smart stimuli DLA plug-ins.
Added "Diamond" seeding to DLA.
Added extra sampling options for the DLA lighting.

11th September 2008
Added classes for Diffusion Limited Aggregation style fractals.

Original version May 2008

Dave's Website
makinmagic@tiscali.co.uk