public abstract class AFractalIterator
extends java.lang.Object
AFractalIterator
class provides a base class for the iteration of a fractal.
All communication to and from the iterator is done via ScreenLocation
s (columns and rows),
ComplexNumber
s, and IterationResult
s.
Note that this is an abstract class.
Modifier and Type | Class and Description |
---|---|
static class |
AFractalIterator.EFractalType
The main and dual fractal types.
|
Modifier and Type | Field and Description |
---|---|
protected org.sm.smtools.math.complex.ComplexNumber |
fBifurcationAxisZ1 |
protected org.sm.smtools.math.complex.ComplexNumber |
fBifurcationAxisZ2 |
protected double |
fBifurcationOutlierPercentileOffset |
protected double[][] |
fBifurcationPoints |
protected boolean |
fCalculateAdvancedColoring |
protected double |
fComplexHeight |
protected double |
fComplexWidth |
protected org.sm.smtools.math.complex.ComplexNumber |
fDualParameter |
protected double |
fEscapeRadius |
protected double |
fEscapeRadiusSqr |
protected double |
fExteriorGaussianIntegersTrapFactor |
protected org.sm.smtools.math.complex.ComplexNumber |
fExteriorOrbitTrapCrossStalksCentre |
protected org.sm.smtools.math.complex.ComplexNumber |
fExteriorOrbitTrapDiskCentre |
protected double |
fExteriorOrbitTrapDiskRadius |
protected double |
fExteriorOrbitTrapSineAdditiveFactor |
protected double |
fExteriorOrbitTrapSineMultiplicativeFactor |
protected double |
fExteriorOrbitTrapTangensAdditiveFactor |
protected double |
fExteriorOrbitTrapTangensMultiplicativeFactor |
protected double |
fExteriorStripingDensity |
protected AFractalIterator.EFractalType |
fFractalType |
protected double |
fInteriorGaussianIntegersTrapFactor |
protected org.sm.smtools.math.complex.ComplexNumber |
fInteriorOrbitTrapCrossStalksCentre |
protected org.sm.smtools.math.complex.ComplexNumber |
fInteriorOrbitTrapDiskCentre |
protected double |
fInteriorOrbitTrapDiskRadius |
protected double |
fInteriorOrbitTrapSineAdditiveFactor |
protected double |
fInteriorOrbitTrapSineMultiplicativeFactor |
protected double |
fInteriorOrbitTrapTangensAdditiveFactor |
protected double |
fInteriorOrbitTrapTangensMultiplicativeFactor |
protected double |
fInteriorStripingDensity |
protected boolean |
fInvertYAxis |
protected double |
fMaxBifurcationValue |
protected int |
fMaxNrOfIterations |
protected double |
fMinBifurcationValue |
protected int[] |
fNrOfBifurcationPoints |
protected int |
fNrOfBifurcationPointsPerOrbit |
protected int |
fNrOfBifurcationPointsToDiscard |
protected org.sm.smtools.math.complex.ComplexNumber |
fP1 |
protected double |
fP1X |
protected double |
fP1Y |
protected org.sm.smtools.math.complex.ComplexNumber |
fP2 |
protected double |
fP2X |
protected double |
fP2Y |
protected java.awt.Dimension |
fScreenBounds |
protected int |
fScreenHeight |
protected int |
fScreenWidth |
protected boolean |
fUseFixedNrOfIterations |
protected org.sm.smtools.math.complex.ComplexNumber |
fZ0 |
static java.awt.Dimension |
kInitialScreenBounds
The initial fractal screen bounds.
|
Constructor and Description |
---|
AFractalIterator()
Constructs an
AFractalIterator object and initialises it with the default parameters. |
Modifier and Type | Method and Description |
---|---|
int |
autoDetermineMaxNrOfIterations()
Auto determines the maximum number of iterations to use.
|
ScreenLocation |
convertComplexNumberToScreenLocation(org.sm.smtools.math.complex.ComplexNumber c)
Helper method for converting a complex number to a screen location.
|
ScreenLocation |
convertComplexNumberToScreenLocation(org.sm.smtools.math.complex.ComplexNumber c,
int screenWidth,
int screenHeight)
Helper method for converting a complex number to a screen location.
|
org.sm.smtools.math.complex.ComplexNumber |
convertScreenLocationToComplexNumber(ScreenLocation s)
Helper method for converting a screen location to a complex number.
|
org.sm.smtools.math.complex.ComplexNumber |
convertScreenLocationToComplexNumber(ScreenLocation s,
int screenWidth,
int screenHeight)
Helper method for converting a screen location to a complex number.
|
protected abstract org.sm.smtools.math.complex.ComplexNumber |
evaluateFractalFunction(org.sm.smtools.math.complex.ComplexNumber z,
org.sm.smtools.math.complex.ComplexNumber c)
Evaluates the fractal function for a specified complex point.
|
org.sm.smtools.math.complex.ComplexNumber |
getBifurcationAxisZ1()
Returns the starting point of the bifurcation axis.
|
org.sm.smtools.math.complex.ComplexNumber |
getBifurcationAxisZ2()
Returns the ending point of the bifurcation axis.
|
double |
getBifurcationOutlierPercentileOffset()
Returns the bifurcation outlier percentile offset.
|
double |
getBifurcationPoint(int x,
int pointIndex)
Returns a bifurcation point.
|
boolean |
getCalculateAdvancedColoring()
Returns the calculation of advanced colouring.
|
long |
getCurrentZoomLevel()
Returns the current zoom level.
|
java.lang.String |
getCustomFilenamePart()
Returns a custom filename part.
|
abstract org.sm.smtools.math.complex.ComplexNumber |
getDefaultDualParameter()
Returns the default dual parameter in the complex plane.
|
protected abstract double |
getDefaultEscapeRadius()
Returns the default escape radius.
|
abstract org.sm.smtools.math.complex.ComplexNumber |
getDefaultP1()
Returns the default upper-left corner in the complex plane.
|
abstract org.sm.smtools.math.complex.ComplexNumber |
getDefaultP2()
Returns the default lower-right corner in the complex plane.
|
org.sm.smtools.math.complex.ComplexNumber |
getDualParameter()
Returns the dual parameter in the complex plane.
|
double |
getEscapeRadius()
Returns the escape radius that is used in the escape-time algorithm.
|
double |
getExteriorGaussianIntegersTrapFactor()
Returns the exterior Gaussian integers trap factor.
|
org.sm.smtools.math.complex.ComplexNumber |
getExteriorOrbitTrapCrossStalksCentre()
Returns the exterior orbit trap cross/stalks centre.
|
org.sm.smtools.math.complex.ComplexNumber |
getExteriorOrbitTrapDiskCentre()
Returns the exterior orbit trap disk centre.
|
double |
getExteriorOrbitTrapDiskRadius()
Returns the exterior orbit trap disk radius.
|
double |
getExteriorOrbitTrapSineAdditiveFactor()
Returns the exterior orbit trap sine additive factor.
|
double |
getExteriorOrbitTrapSineMultiplicativeFactor()
Returns the exterior orbit trap sine multiplicative factor.
|
double |
getExteriorOrbitTrapTangensAdditiveFactor()
Returns the exterior orbit trap tangens additive factor.
|
double |
getExteriorOrbitTrapTangensMultiplicativeFactor()
Returns the exterior orbit trap tangens multiplicative factor.
|
double |
getExteriorStripingDensity()
Returns the exterior striping density.
|
abstract java.lang.String |
getFamilyName()
Returns the fractal's family name.
|
AFractalIterator.EFractalType |
getFractalType()
Returns the fractal type that is displayed.
|
double |
getInteriorGaussianIntegersTrapFactor()
Returns the interior Gaussian integers trap factor.
|
org.sm.smtools.math.complex.ComplexNumber |
getInteriorOrbitTrapCrossStalksCentre()
Returns the interior orbit trap cross/stalks centre.
|
org.sm.smtools.math.complex.ComplexNumber |
getInteriorOrbitTrapDiskCentre()
Returns the interior orbit trap disk centre.
|
double |
getInteriorOrbitTrapDiskRadius()
Returns the interior orbit trap disk radius.
|
double |
getInteriorOrbitTrapSineAdditiveFactor()
Returns the interior orbit trap sine additive factor.
|
double |
getInteriorOrbitTrapSineMultiplicativeFactor()
Returns the interior orbit trap sine multiplicative factor.
|
double |
getInteriorOrbitTrapTangensAdditiveFactor()
Returns the interior orbit trap tangens additive factor.
|
double |
getInteriorOrbitTrapTangensMultiplicativeFactor()
Returns the interior orbit trap tangens multiplicative factor.
|
double |
getInteriorStripingDensity()
Returns the interior striping density.
|
boolean |
getInvertYAxis()
Returns whether or not the Y-axis is inverted.
|
org.sm.smtools.math.complex.ComplexNumber |
getMainFractalOrbitStartingPoint()
Returns the starting point for orbit calculations of the main fractal.
|
double |
getMaxBifurcationValue()
Returns the maximum bifurcation value.
|
int |
getMaxNrOfIterations()
Returns the maximum number of iterations that is used in the escape-time algorithm.
|
double |
getMinBifurcationValue()
Returns the minimum bifurcation value.
|
double |
getNrOfBifurcationPoints(int x)
Returns the number of bifurcation points at a given position.
|
int |
getNrOfBifurcationPointsPerOrbit()
Returns the number of bifurcation points per orbit.
|
int |
getNrOfBifurcationPointsToDiscard()
Returns the number of bifurcation points to discard.
|
org.sm.smtools.math.complex.ComplexNumber |
getP1()
Returns the upper-left corner in the complex plane.
|
org.sm.smtools.math.complex.ComplexNumber |
getP2()
Returns the lower-right corner in the complex plane.
|
java.awt.Dimension |
getScreenBounds()
Returns the screen bounds of this fractal.
|
int |
getScreenHeight()
Returns the fractal's screen height.
|
int |
getScreenWidth()
Returns the fractal's screen width.
|
boolean |
getUseFixedNrOfIterations()
Returns whether or not a fixed number of iterations should be used
(thereby disabling checking of the escape radius).
|
protected abstract 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.
|
IterationResult |
iterateDualFractal(ScreenLocation s,
org.sm.smtools.math.complex.ComplexNumber c,
boolean saveOrbit)
Checks whether or not a complex variable starting point z lies in a specified dual fractal set
with complex parameter c (in dynamical/variable space, i.e the z-plane).
|
IterationResult |
iterateDualFractal(ScreenLocation s,
org.sm.smtools.math.complex.ComplexNumber c,
boolean saveOrbit,
int screenWidth,
int screenHeight)
Checks whether or not a complex variable starting point z lies in a specified dual fractal set
with complex parameter c (in dynamical/variable space, i.e the z-plane).
|
IterationResult |
iterateMainFractal(ScreenLocation s,
boolean saveOrbit)
Checks whether or not a complex parameter c lies in the main fractal set (in parameter space, i.e the c-plane).
|
IterationResult |
iterateMainFractal(ScreenLocation s,
boolean saveOrbit,
int screenWidth,
int screenHeight)
Checks whether or not a complex parameter c lies in the main fractal set (in parameter space, i.e the c-plane).
|
protected void |
plainTextLoadCustomParameters(org.sm.smtools.util.TextFileParser tfp)
Loads custom fractal parameters from a plain-text file.
|
void |
plainTextLoadParameters(org.sm.smtools.util.TextFileParser tfp)
Loads the current fractal parameters from a plain-text file.
|
protected void |
plainTextSaveCustomParameters(org.sm.smtools.util.TextFileWriter tfw)
Saves custom fractal parameters to a plain-text file.
|
void |
plainTextSaveParameters(org.sm.smtools.util.TextFileWriter tfw)
Saves the current fractal parameters to a plain-text file.
|
void |
resetMainFractalOrbitStartingPoint()
Sets the starting point for orbit calculations of the main fractal to 0 + 0i.
|
void |
setBifurcationAxisZ1(org.sm.smtools.math.complex.ComplexNumber bifurcationAxisZ1)
Sets the starting point of the bifurcation axis.
|
void |
setBifurcationAxisZ2(org.sm.smtools.math.complex.ComplexNumber bifurcationAxisZ2)
Sets the ending point of the bifurcation axis.
|
void |
setBifurcationOutlierPercentileOffset(double bifurcationOutlierPercentileOffset)
Sets the bifurcation outlier percentile offset.
|
void |
setCalculateAdvancedColoring(boolean calculateAdvancedColoring)
Sets the calculation of advanced colouring.
|
void |
setComplexBounds(org.sm.smtools.math.complex.ComplexNumber p1,
org.sm.smtools.math.complex.ComplexNumber p2)
Sets the bounds for this fractal in the complex plane.
|
void |
setDualParameter(org.sm.smtools.math.complex.ComplexNumber dualParameter)
Sets the dual parameter in the complex plane.
|
void |
setEscapeRadius(double escapeRadius)
Sets the escape radius to use in the escape-time algorithm.
|
void |
setExteriorGaussianIntegersTrapFactor(double exteriorGaussianIntegersTrapFactor)
Sets the exterior Gaussian integers trap factor.
|
void |
setExteriorOrbitTrapCrossStalksCentre(org.sm.smtools.math.complex.ComplexNumber exteriorOrbitTrapCrossStalksCentre)
Sets the exterior orbit trap cross/stalks centre.
|
void |
setExteriorOrbitTrapDiskCentre(org.sm.smtools.math.complex.ComplexNumber exteriorOrbitTrapDiskCentre)
Sets the exterior orbit trap disk centre.
|
void |
setExteriorOrbitTrapDiskRadius(double exteriorOrbitTrapDiskRadius)
Sets the exterior orbit trap disk radius.
|
void |
setExteriorOrbitTrapSineAdditiveFactor(double exteriorOrbitTrapSineAdditiveFactor)
Sets the exterior orbit trap sine additive factor.
|
void |
setExteriorOrbitTrapSineMultiplicativeFactor(double exteriorOrbitTrapSineMultiplicativeFactor)
Sets the exterior orbit trap sine multiplicative factor.
|
void |
setExteriorOrbitTrapTangensAdditiveFactor(double exteriorOrbitTrapTangensAdditiveFactor)
Sets the exterior orbit trap tangens additive factor.
|
void |
setExteriorOrbitTrapTangensMultiplicativeFactor(double exteriorOrbitTrapTangensMultiplicativeFactor)
Sets the exterior orbit trap tangens multiplicative factor.
|
void |
setExteriorStripingDensity(double exteriorStripingDensity)
Sets the exterior striping density.
|
void |
setFractalType(AFractalIterator.EFractalType fractalType)
Sets the fractal type to render.
|
void |
setInteriorGaussianIntegersTrapFactor(double interiorGaussianIntegersTrapFactor)
Sets the interior Gaussian integers trap factor.
|
void |
setInteriorOrbitTrapCrossStalksCentre(org.sm.smtools.math.complex.ComplexNumber interiorOrbitTrapCrossStalksCentre)
Sets the interior orbit trap cross/stalks centre.
|
void |
setInteriorOrbitTrapDiskCentre(org.sm.smtools.math.complex.ComplexNumber interiorOrbitTrapDiskCentre)
Sets the interior orbit trap disk centre.
|
void |
setInteriorOrbitTrapDiskRadius(double interiorOrbitTrapDiskRadius)
Sets the interior orbit trap disk radius.
|
void |
setInteriorOrbitTrapSineAdditiveFactor(double interiorOrbitTrapSineAdditiveFactor)
Sets the interior orbit trap sine additive factor.
|
void |
setInteriorOrbitTrapSineMultiplicativeFactor(double interiorOrbitTrapSineMultiplicativeFactor)
Sets the interior orbit trap sine multiplicative factor.
|
void |
setInteriorOrbitTrapTangensAdditiveFactor(double interiorOrbitTrapTangensAdditiveFactor)
Sets the interior orbit trap tangens additive factor.
|
void |
setInteriorOrbitTrapTangensMultiplicativeFactor(double interiorOrbitTrapTangensMultiplicativeFactor)
Sets the interior orbit trap tangens factor.
|
void |
setInteriorStripingDensity(double interiorStripingDensity)
Sets the interior striping density.
|
void |
setInvertYAxis(boolean invertYAxis)
Sets whether or not the Y-axis is inverted.
|
void |
setMainFractalOrbitStartingPoint(org.sm.smtools.math.complex.ComplexNumber z0)
Sets the starting point for orbit calculations of the main fractal.
|
void |
setMaxNrOfIterations(int maxNrOfIterations)
Sets the maximum number of iterations to use.
|
void |
setNrOfBifurcationPointsPerOrbit(int nrOfBifurcationPointsPerOrbit)
Sets the number of bifurcation points per orbit.
|
void |
setNrOfBifurcationPointsToDiscard(int nrOfBifurcationPointsToDiscard)
Sets the number of bifurcation points to discard.
|
void |
setScreenBounds(java.awt.Dimension screenBounds)
Sets the screen bounds of this fractal.
|
void |
setScreenBounds(int width,
int height)
Sets the screen bounds of this fractal.
|
void |
setUseFixedNrOfIterations(boolean useFixedNrOfIterations)
Sets whether or not a fixed number of iterations should be used
(thereby disabling checking of the escape radius).
|
protected void |
streamLoadCustomParameters(java.io.DataInputStream dataInputStream)
Loads custom fractal parameters from a file as a stream.
|
void |
streamLoadParameters(java.io.DataInputStream dataInputStream)
Loads the current fractal parameters from a file as a stream.
|
protected void |
streamSaveCustomParameters(java.io.DataOutputStream dataOutputStream)
Saves custom fractal parameters to a file as a stream.
|
void |
streamSaveParameters(java.io.DataOutputStream dataOutputStream)
Saves the current fractal parameters to a file using a stream.
|
protected org.sm.smtools.math.complex.ComplexNumber fBifurcationAxisZ1
protected org.sm.smtools.math.complex.ComplexNumber fBifurcationAxisZ2
protected double fBifurcationOutlierPercentileOffset
protected double[][] fBifurcationPoints
protected boolean fCalculateAdvancedColoring
protected double fComplexHeight
protected double fComplexWidth
protected org.sm.smtools.math.complex.ComplexNumber fDualParameter
protected double fEscapeRadius
protected double fEscapeRadiusSqr
protected double fExteriorGaussianIntegersTrapFactor
protected org.sm.smtools.math.complex.ComplexNumber fExteriorOrbitTrapCrossStalksCentre
protected org.sm.smtools.math.complex.ComplexNumber fExteriorOrbitTrapDiskCentre
protected double fExteriorOrbitTrapDiskRadius
protected double fExteriorOrbitTrapSineAdditiveFactor
protected double fExteriorOrbitTrapSineMultiplicativeFactor
protected double fExteriorOrbitTrapTangensAdditiveFactor
protected double fExteriorOrbitTrapTangensMultiplicativeFactor
protected double fExteriorStripingDensity
protected AFractalIterator.EFractalType fFractalType
protected double fInteriorGaussianIntegersTrapFactor
protected org.sm.smtools.math.complex.ComplexNumber fInteriorOrbitTrapCrossStalksCentre
protected org.sm.smtools.math.complex.ComplexNumber fInteriorOrbitTrapDiskCentre
protected double fInteriorOrbitTrapDiskRadius
protected double fInteriorOrbitTrapSineAdditiveFactor
protected double fInteriorOrbitTrapSineMultiplicativeFactor
protected double fInteriorOrbitTrapTangensAdditiveFactor
protected double fInteriorOrbitTrapTangensMultiplicativeFactor
protected double fInteriorStripingDensity
protected boolean fInvertYAxis
protected double fMaxBifurcationValue
protected int fMaxNrOfIterations
protected double fMinBifurcationValue
protected int[] fNrOfBifurcationPoints
protected int fNrOfBifurcationPointsPerOrbit
protected int fNrOfBifurcationPointsToDiscard
protected org.sm.smtools.math.complex.ComplexNumber fP1
protected double fP1X
protected double fP1Y
protected org.sm.smtools.math.complex.ComplexNumber fP2
protected double fP2X
protected double fP2Y
protected java.awt.Dimension fScreenBounds
protected int fScreenHeight
protected int fScreenWidth
protected boolean fUseFixedNrOfIterations
protected org.sm.smtools.math.complex.ComplexNumber fZ0
public static final java.awt.Dimension kInitialScreenBounds
public AFractalIterator()
AFractalIterator
object and initialises it with the default parameters.public final int autoDetermineMaxNrOfIterations()
public final ScreenLocation convertComplexNumberToScreenLocation(org.sm.smtools.math.complex.ComplexNumber c)
c
- the complex numberpublic final ScreenLocation convertComplexNumberToScreenLocation(org.sm.smtools.math.complex.ComplexNumber c, int screenWidth, int screenHeight)
c
- the complex numberscreenWidth
- the screen width of the fractalscreenHeight
- the screen height of the fractalpublic final org.sm.smtools.math.complex.ComplexNumber convertScreenLocationToComplexNumber(ScreenLocation s)
s
- the screen locationpublic final org.sm.smtools.math.complex.ComplexNumber convertScreenLocationToComplexNumber(ScreenLocation s, int screenWidth, int screenHeight)
s
- the screen locationscreenWidth
- the screen width of the fractalscreenHeight
- the screen height of the fractalprotected abstract org.sm.smtools.math.complex.ComplexNumber evaluateFractalFunction(org.sm.smtools.math.complex.ComplexNumber z, org.sm.smtools.math.complex.ComplexNumber c)
z
- the complex variable zc
- the complex parameter cpublic final org.sm.smtools.math.complex.ComplexNumber getBifurcationAxisZ1()
public final org.sm.smtools.math.complex.ComplexNumber getBifurcationAxisZ2()
public final double getBifurcationOutlierPercentileOffset()
public final double getBifurcationPoint(int x, int pointIndex)
x
- the positionpointIndex
- the index of the point at the bifurcation forkpublic final boolean getCalculateAdvancedColoring()
boolean
indicating whether or not advanced colouring should be calculatedpublic final long getCurrentZoomLevel()
public java.lang.String getCustomFilenamePart()
Note that callers should return (super.getCustomFilenamePart() + "xxx")
.
public abstract org.sm.smtools.math.complex.ComplexNumber getDefaultDualParameter()
protected abstract double getDefaultEscapeRadius()
public abstract org.sm.smtools.math.complex.ComplexNumber getDefaultP1()
public abstract org.sm.smtools.math.complex.ComplexNumber getDefaultP2()
public final org.sm.smtools.math.complex.ComplexNumber getDualParameter()
public final double getEscapeRadius()
public final double getExteriorGaussianIntegersTrapFactor()
public final org.sm.smtools.math.complex.ComplexNumber getExteriorOrbitTrapCrossStalksCentre()
public final org.sm.smtools.math.complex.ComplexNumber getExteriorOrbitTrapDiskCentre()
public final double getExteriorOrbitTrapDiskRadius()
public final double getExteriorOrbitTrapSineAdditiveFactor()
public final double getExteriorOrbitTrapSineMultiplicativeFactor()
public final double getExteriorOrbitTrapTangensAdditiveFactor()
public final double getExteriorOrbitTrapTangensMultiplicativeFactor()
public final double getExteriorStripingDensity()
public abstract java.lang.String getFamilyName()
public final AFractalIterator.EFractalType getFractalType()
public final double getInteriorGaussianIntegersTrapFactor()
public final org.sm.smtools.math.complex.ComplexNumber getInteriorOrbitTrapCrossStalksCentre()
public final org.sm.smtools.math.complex.ComplexNumber getInteriorOrbitTrapDiskCentre()
public final double getInteriorOrbitTrapDiskRadius()
public final double getInteriorOrbitTrapSineAdditiveFactor()
public final double getInteriorOrbitTrapSineMultiplicativeFactor()
public final double getInteriorOrbitTrapTangensAdditiveFactor()
public final double getInteriorOrbitTrapTangensMultiplicativeFactor()
public final double getInteriorStripingDensity()
public final boolean getInvertYAxis()
boolean
indicating whether or not the Y-axis is invertedpublic final org.sm.smtools.math.complex.ComplexNumber getMainFractalOrbitStartingPoint()
public final double getMaxBifurcationValue()
public final int getMaxNrOfIterations()
public final double getMinBifurcationValue()
public final double getNrOfBifurcationPoints(int x)
x
- the positionpublic final int getNrOfBifurcationPointsPerOrbit()
public final int getNrOfBifurcationPointsToDiscard()
public final org.sm.smtools.math.complex.ComplexNumber getP1()
public final org.sm.smtools.math.complex.ComplexNumber getP2()
public final java.awt.Dimension getScreenBounds()
public final int getScreenHeight()
public final int getScreenWidth()
public final boolean getUseFixedNrOfIterations()
boolean
indicating whether or not a fixed number of iterations should be usedprotected abstract IterationResult iterate(org.sm.smtools.math.complex.ComplexNumber z, org.sm.smtools.math.complex.ComplexNumber c, boolean saveOrbit)
z
- the complex variable zc
- the complex parameter csaveOrbit
- a boolean
indicating whether or not the orbit should be savedpublic void iterateBifurcationDiagram(int width)
width
- the width of the diagram in pixelspublic final IterationResult iterateDualFractal(ScreenLocation s, org.sm.smtools.math.complex.ComplexNumber c, boolean saveOrbit)
s
- the screen location of the variable complex starting point zc
- the complex parameter csaveOrbit
- a boolean
indicating whether or not the orbit should be savedpublic final IterationResult iterateDualFractal(ScreenLocation s, org.sm.smtools.math.complex.ComplexNumber c, boolean saveOrbit, int screenWidth, int screenHeight)
s
- the screen location of the variable complex starting point zc
- the complex parameter csaveOrbit
- a boolean
indicating whether or not the orbit should be savedscreenWidth
- the screen width of the fractalscreenHeight
- the screen height of the fractalpublic final IterationResult iterateMainFractal(ScreenLocation s, boolean saveOrbit)
s
- the screen location of the complex parameter csaveOrbit
- a boolean
indicating whether or not the orbit should be savedpublic final IterationResult iterateMainFractal(ScreenLocation s, boolean saveOrbit, int screenWidth, int screenHeight)
s
- the screen location of the complex parameter csaveOrbit
- a boolean
indicating whether or not the orbit should be savedscreenWidth
- the screen width of the fractalscreenHeight
- the screen height of the fractalprotected void plainTextLoadCustomParameters(org.sm.smtools.util.TextFileParser tfp) throws org.sm.smtools.exceptions.FileParseException
tfp
- a reference to the file parserorg.sm.smtools.exceptions.FileParseException
- in case a read error occurspublic final void plainTextLoadParameters(org.sm.smtools.util.TextFileParser tfp) throws org.sm.smtools.exceptions.FileParseException
tfp
- a reference to the file parserorg.sm.smtools.exceptions.FileParseException
- in case a parse error occursprotected void plainTextSaveCustomParameters(org.sm.smtools.util.TextFileWriter tfw) throws org.sm.smtools.exceptions.FileWriteException
tfw
- a reference to the file writerorg.sm.smtools.exceptions.FileWriteException
- in case a write error occurspublic final void plainTextSaveParameters(org.sm.smtools.util.TextFileWriter tfw) throws org.sm.smtools.exceptions.FileWriteException
tfw
- a reference to the file writerorg.sm.smtools.exceptions.FileWriteException
- in case a write error occurspublic final void resetMainFractalOrbitStartingPoint()
public final void setBifurcationAxisZ1(org.sm.smtools.math.complex.ComplexNumber bifurcationAxisZ1)
bifurcationAxisZ1
- the starting point of the bifurcation axispublic final void setBifurcationAxisZ2(org.sm.smtools.math.complex.ComplexNumber bifurcationAxisZ2)
bifurcationAxisZ2
- the ending point of the bifurcation axispublic final void setBifurcationOutlierPercentileOffset(double bifurcationOutlierPercentileOffset)
bifurcationOutlierPercentileOffset
- the bifurcation outlier percentile offsetpublic final void setCalculateAdvancedColoring(boolean calculateAdvancedColoring)
calculateAdvancedColoring
- a boolean
indicating whether or not advanced colouring should be calculatedpublic final void setComplexBounds(org.sm.smtools.math.complex.ComplexNumber p1, org.sm.smtools.math.complex.ComplexNumber p2)
p1
- the upper-left cornerp2
- the lower-right cornerpublic final void setDualParameter(org.sm.smtools.math.complex.ComplexNumber dualParameter)
dualParameter
- the dual parameter in the complex planepublic final void setEscapeRadius(double escapeRadius)
escapeRadius
- the escape radius to use in the escape-time algorithmpublic final void setExteriorGaussianIntegersTrapFactor(double exteriorGaussianIntegersTrapFactor)
exteriorGaussianIntegersTrapFactor
- the exterior Gaussian integers trap factorpublic final void setExteriorOrbitTrapCrossStalksCentre(org.sm.smtools.math.complex.ComplexNumber exteriorOrbitTrapCrossStalksCentre)
exteriorOrbitTrapCrossStalksCentre
- the exterior orbit trap cross/stalks centrepublic final void setExteriorOrbitTrapDiskCentre(org.sm.smtools.math.complex.ComplexNumber exteriorOrbitTrapDiskCentre)
exteriorOrbitTrapDiskCentre
- the exterior orbit trap disk centrepublic final void setExteriorOrbitTrapDiskRadius(double exteriorOrbitTrapDiskRadius)
exteriorOrbitTrapDiskRadius
- the exterior orbit trap disk radiuspublic final void setExteriorOrbitTrapSineAdditiveFactor(double exteriorOrbitTrapSineAdditiveFactor)
exteriorOrbitTrapSineAdditiveFactor
- the exterior orbit trap sine additive factorpublic final void setExteriorOrbitTrapSineMultiplicativeFactor(double exteriorOrbitTrapSineMultiplicativeFactor)
exteriorOrbitTrapSineMultiplicativeFactor
- the exterior orbit trap sine multiplicative factorpublic final void setExteriorOrbitTrapTangensAdditiveFactor(double exteriorOrbitTrapTangensAdditiveFactor)
exteriorOrbitTrapTangensAdditiveFactor
- the exterior orbit trap tangens additive factorpublic final void setExteriorOrbitTrapTangensMultiplicativeFactor(double exteriorOrbitTrapTangensMultiplicativeFactor)
exteriorOrbitTrapTangensMultiplicativeFactor
- the exterior orbit trap tangens multiplicative factorpublic final void setExteriorStripingDensity(double exteriorStripingDensity)
exteriorStripingDensity
- the exterior striping densitypublic final void setFractalType(AFractalIterator.EFractalType fractalType)
fractalType
- the fractal type to renderpublic final void setInteriorGaussianIntegersTrapFactor(double interiorGaussianIntegersTrapFactor)
interiorGaussianIntegersTrapFactor
- the interior Gaussian integers trap factorpublic final void setInteriorOrbitTrapCrossStalksCentre(org.sm.smtools.math.complex.ComplexNumber interiorOrbitTrapCrossStalksCentre)
interiorOrbitTrapCrossStalksCentre
- the interior orbit trap cross/stalks centrepublic final void setInteriorOrbitTrapDiskCentre(org.sm.smtools.math.complex.ComplexNumber interiorOrbitTrapDiskCentre)
interiorOrbitTrapDiskCentre
- the interior orbit trap disk centrepublic final void setInteriorOrbitTrapDiskRadius(double interiorOrbitTrapDiskRadius)
interiorOrbitTrapDiskRadius
- the interior orbit trap disk radiuspublic final void setInteriorOrbitTrapSineAdditiveFactor(double interiorOrbitTrapSineAdditiveFactor)
interiorOrbitTrapSineAdditiveFactor
- the interior orbit trap sine additive factorpublic final void setInteriorOrbitTrapSineMultiplicativeFactor(double interiorOrbitTrapSineMultiplicativeFactor)
interiorOrbitTrapSineMultiplicativeFactor
- the interior orbit trap sine multiplicative factorpublic final void setInteriorOrbitTrapTangensAdditiveFactor(double interiorOrbitTrapTangensAdditiveFactor)
interiorOrbitTrapTangensAdditiveFactor
- the interior orbit trap tangens additive factorpublic final void setInteriorOrbitTrapTangensMultiplicativeFactor(double interiorOrbitTrapTangensMultiplicativeFactor)
interiorOrbitTrapTangensMultiplicativeFactor
- the interior orbit trap tangens multiplicative factorpublic final void setInteriorStripingDensity(double interiorStripingDensity)
interiorStripingDensity
- the interior striping densitypublic final void setInvertYAxis(boolean invertYAxis)
invertYAxis
- a boolean
indicating whether or not the Y-axis is invertedpublic final void setMainFractalOrbitStartingPoint(org.sm.smtools.math.complex.ComplexNumber z0)
z0
- the starting point for orbit calculations of the main fractalpublic final void setMaxNrOfIterations(int maxNrOfIterations)
maxNrOfIterations
- the maximum number of iterations to usepublic final void setNrOfBifurcationPointsPerOrbit(int nrOfBifurcationPointsPerOrbit)
nrOfBifurcationPointsPerOrbit
- the number of bifurcation points per orbitpublic final void setNrOfBifurcationPointsToDiscard(int nrOfBifurcationPointsToDiscard)
nrOfBifurcationPointsToDiscard
- the number of bifurcation points to discardpublic final void setScreenBounds(java.awt.Dimension screenBounds)
screenBounds
- the screen bounds of the fractalpublic final void setScreenBounds(int width, int height)
width
- the width of the fractalheight
- the height of the fractalpublic final void setUseFixedNrOfIterations(boolean useFixedNrOfIterations)
useFixedNrOfIterations
- a boolean
indicating whether or not a fixed number of iterations should be usedprotected void streamLoadCustomParameters(java.io.DataInputStream dataInputStream) throws java.io.IOException
dataInputStream
- a data inputstreamjava.io.IOException
- in case a parse error occurspublic final void streamLoadParameters(java.io.DataInputStream dataInputStream) throws java.io.IOException
dataInputStream
- a data inputstreamjava.io.IOException
- in case a parse error occursprotected void streamSaveCustomParameters(java.io.DataOutputStream dataOutputStream) throws java.io.IOException
dataOutputStream
- a data outputstreamjava.io.IOException
- in case a write error occurspublic final void streamSaveParameters(java.io.DataOutputStream dataOutputStream) throws java.io.IOException
dataOutputStream
- a data outputstreamjava.io.IOException
- in case a write error occurs