public final class FastMandelbrotJuliaFractalIterator extends AFractalIterator
FastMandelbrotJuliaFractalIterator
class provides a fast implementation of the default Mandelbrot/Julia fractal.
Note that this class cannot be subclassed!
AFractalIterator.EFractalType
fBifurcationAxisZ1, fBifurcationAxisZ2, fBifurcationOutlierPercentileOffset, fBifurcationPoints, fCalculateAdvancedColoring, fComplexHeight, fComplexWidth, fDualParameter, fEscapeRadius, fEscapeRadiusSqr, fExteriorGaussianIntegersTrapFactor, fExteriorOrbitTrapCrossStalksCentre, fExteriorOrbitTrapDiskCentre, fExteriorOrbitTrapDiskRadius, fExteriorOrbitTrapSineAdditiveFactor, fExteriorOrbitTrapSineMultiplicativeFactor, fExteriorOrbitTrapTangensAdditiveFactor, fExteriorOrbitTrapTangensMultiplicativeFactor, fExteriorStripingDensity, fFractalType, fInteriorGaussianIntegersTrapFactor, fInteriorOrbitTrapCrossStalksCentre, fInteriorOrbitTrapDiskCentre, fInteriorOrbitTrapDiskRadius, fInteriorOrbitTrapSineAdditiveFactor, fInteriorOrbitTrapSineMultiplicativeFactor, fInteriorOrbitTrapTangensAdditiveFactor, fInteriorOrbitTrapTangensMultiplicativeFactor, fInteriorStripingDensity, fInvertYAxis, fMaxBifurcationValue, fMaxNrOfIterations, fMinBifurcationValue, fNrOfBifurcationPoints, fNrOfBifurcationPointsPerOrbit, fNrOfBifurcationPointsToDiscard, fP1, fP1X, fP1Y, fP2, fP2X, fP2Y, fScreenBounds, fScreenHeight, fScreenWidth, fUseFixedNrOfIterations, fZ0, kInitialScreenBounds
Constructor and Description |
---|
FastMandelbrotJuliaFractalIterator() |
Modifier and Type | Method and Description |
---|---|
protected org.sm.smtools.math.complex.ComplexNumber |
evaluateFractalFunction(org.sm.smtools.math.complex.ComplexNumber z,
org.sm.smtools.math.complex.ComplexNumber c)
Evaluates the Mandelbrot / Julia function for a specified complex point.
|
protected org.sm.smtools.math.complex.ComplexNumber |
evaluateFractalFunction(org.sm.smtools.math.complex.ComplexNumber z,
org.sm.smtools.math.complex.ComplexNumber zPrevious,
org.sm.smtools.math.complex.ComplexNumber c)
Evaluates the fractal function for a specified complex point.
|
org.sm.smtools.math.complex.ComplexNumber |
getDefaultDualParameter()
Returns the default dual parameter in the complex plane.
|
double |
getDefaultEscapeRadius()
Returns the default escape radius of 100.
|
org.sm.smtools.math.complex.ComplexNumber |
getDefaultP1()
Returns the default upper-left corner in the complex plane.
|
org.sm.smtools.math.complex.ComplexNumber |
getDefaultP2()
Returns the default lower-right corner in the complex plane.
|
java.lang.String |
getFamilyName()
Returns the family name of this fractal.
|
protected IterationResult |
iterate(org.sm.smtools.math.complex.ComplexNumber z,
org.sm.smtools.math.complex.ComplexNumber c,
boolean saveOrbit)
Helper method for a general iteration with the escape-time algorithm.
|
void |
iterateBifurcationDiagram(int width)
Iterates all points in the bifurcation diagram.
|
autoDetermineMaxNrOfIterations, convertComplexNumberToScreenLocation, convertComplexNumberToScreenLocation, convertScreenLocationToComplexNumber, convertScreenLocationToComplexNumber, getBifurcationAxisZ1, getBifurcationAxisZ2, getBifurcationOutlierPercentileOffset, getBifurcationPoint, getCalculateAdvancedColoring, getCurrentZoomLevel, getCustomFilenamePart, getDualParameter, getEscapeRadius, getExteriorGaussianIntegersTrapFactor, getExteriorOrbitTrapCrossStalksCentre, getExteriorOrbitTrapDiskCentre, getExteriorOrbitTrapDiskRadius, getExteriorOrbitTrapSineAdditiveFactor, getExteriorOrbitTrapSineMultiplicativeFactor, getExteriorOrbitTrapTangensAdditiveFactor, getExteriorOrbitTrapTangensMultiplicativeFactor, getExteriorStripingDensity, getFractalType, getInteriorGaussianIntegersTrapFactor, getInteriorOrbitTrapCrossStalksCentre, getInteriorOrbitTrapDiskCentre, getInteriorOrbitTrapDiskRadius, getInteriorOrbitTrapSineAdditiveFactor, getInteriorOrbitTrapSineMultiplicativeFactor, getInteriorOrbitTrapTangensAdditiveFactor, getInteriorOrbitTrapTangensMultiplicativeFactor, getInteriorStripingDensity, getInvertYAxis, getMainFractalOrbitStartingPoint, getMaxBifurcationValue, getMaxNrOfIterations, getMinBifurcationValue, getNrOfBifurcationPoints, getNrOfBifurcationPointsPerOrbit, getNrOfBifurcationPointsToDiscard, getP1, getP2, getScreenBounds, getScreenHeight, getScreenWidth, getUseFixedNrOfIterations, iterateDualFractal, iterateDualFractal, iterateMainFractal, iterateMainFractal, plainTextLoadCustomParameters, plainTextLoadParameters, plainTextSaveCustomParameters, plainTextSaveParameters, resetMainFractalOrbitStartingPoint, setBifurcationAxisZ1, setBifurcationAxisZ2, setBifurcationOutlierPercentileOffset, setCalculateAdvancedColoring, setComplexBounds, setDualParameter, setEscapeRadius, setExteriorGaussianIntegersTrapFactor, setExteriorOrbitTrapCrossStalksCentre, setExteriorOrbitTrapDiskCentre, setExteriorOrbitTrapDiskRadius, setExteriorOrbitTrapSineAdditiveFactor, setExteriorOrbitTrapSineMultiplicativeFactor, setExteriorOrbitTrapTangensAdditiveFactor, setExteriorOrbitTrapTangensMultiplicativeFactor, setExteriorStripingDensity, setFractalType, setInteriorGaussianIntegersTrapFactor, setInteriorOrbitTrapCrossStalksCentre, setInteriorOrbitTrapDiskCentre, setInteriorOrbitTrapDiskRadius, setInteriorOrbitTrapSineAdditiveFactor, setInteriorOrbitTrapSineMultiplicativeFactor, setInteriorOrbitTrapTangensAdditiveFactor, setInteriorOrbitTrapTangensMultiplicativeFactor, setInteriorStripingDensity, setInvertYAxis, setMainFractalOrbitStartingPoint, setMaxNrOfIterations, setNrOfBifurcationPointsPerOrbit, setNrOfBifurcationPointsToDiscard, setScreenBounds, setScreenBounds, setUseFixedNrOfIterations, streamLoadCustomParameters, streamLoadParameters, streamSaveCustomParameters, streamSaveParameters
protected org.sm.smtools.math.complex.ComplexNumber evaluateFractalFunction(org.sm.smtools.math.complex.ComplexNumber z, org.sm.smtools.math.complex.ComplexNumber c)
evaluateFractalFunction
in class AFractalIterator
z
- the complex variable zc
- the complex parameter cprotected org.sm.smtools.math.complex.ComplexNumber evaluateFractalFunction(org.sm.smtools.math.complex.ComplexNumber z, org.sm.smtools.math.complex.ComplexNumber zPrevious, org.sm.smtools.math.complex.ComplexNumber c)
The default behaviour redirects to the function without z(n - 1).
z
- the complex variable z at nzPrevious
- the complex variable z at n - 1c
- the complex parameter cpublic org.sm.smtools.math.complex.ComplexNumber getDefaultDualParameter()
getDefaultDualParameter
in class AFractalIterator
public double getDefaultEscapeRadius()
getDefaultEscapeRadius
in class AFractalIterator
public org.sm.smtools.math.complex.ComplexNumber getDefaultP1()
getDefaultP1
in class AFractalIterator
public org.sm.smtools.math.complex.ComplexNumber getDefaultP2()
getDefaultP2
in class AFractalIterator
public java.lang.String getFamilyName()
getFamilyName
in class AFractalIterator
protected IterationResult iterate(org.sm.smtools.math.complex.ComplexNumber z, org.sm.smtools.math.complex.ComplexNumber c, boolean saveOrbit)
iterate
in class AFractalIterator
z
- the complex variable zc
- the complex parameter csaveOrbit
- a boolean
indicating whether or not the orbit should be savedpublic final void iterateBifurcationDiagram(int width)
iterateBifurcationDiagram
in class AFractalIterator
width
- the width of the diagram in pixels