infpp.fractal
Class ThreadedDoublePrecisionJuliaGenerator

java.lang.Object
  extended by infpp.fractal.DoublePrecisionFractalGenerator
      extended by infpp.fractal.ThreadedDoublePrecisionFractalGenerator
          extended by infpp.fractal.ThreadedDoublePrecisionJuliaGenerator
All Implemented Interfaces:
FractalGenerator, JuliaFractalGenerator

public class ThreadedDoublePrecisionJuliaGenerator
extends ThreadedDoublePrecisionFractalGenerator
implements JuliaFractalGenerator

The ThreadedDoublePrecisionJuliaGenerator provides an implementation for calculating the number of required iterations to determine the divergence of the sequence of points obtained by the recursion zn + 1 = (zn)2 + c where c is the point passed to the setDefiningPoint method and is constant during the calculation of the fractal and z1 is a point determined by screen coordinates. This implementation operates with standard double precision arithmetic and uses multiple threads to speed up the calculation.

Author:
both

Constructor Summary
ThreadedDoublePrecisionJuliaGenerator(int maxIterations)
          Constructs a new ThreadedDoublePrecisionJuliaGenerator.
 
Method Summary
protected  int calculateNumberOfIterationsAtComplex(Complex z)
          Calculates the number of required iterations to determine the divergence of the sequence of points obtained by the recursion zn + 1 = (zn)2 + c where c is the point passed to the setDefiningPoint method and is constant during the calculation of the fractal and z1 is a point determined by screen coordinates.
 Complex getDefiningPoint()
          Gets the defining point on the complex plane.
 void setDefiningPoint(Complex definingPoint)
          Sets the defining point on the complex plane to the specified defining point.
 
Methods inherited from class infpp.fractal.ThreadedDoublePrecisionFractalGenerator
getNumberOfIterationsAtPixel, setComplexOrigin, setRealDimension, setScreenDimension, startWorking
 
Methods inherited from class infpp.fractal.DoublePrecisionFractalGenerator
calculateComplexFromScreenCoordinates, getComplexOrigin, getRealDimension, getScreenHeight, getScreenWidth
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface infpp.fractal.FractalGenerator
calculateComplexFromScreenCoordinates, getComplexOrigin, getNumberOfIterationsAtPixel, getRealDimension, getScreenHeight, getScreenWidth, setComplexOrigin, setRealDimension, setScreenDimension
 

Constructor Detail

ThreadedDoublePrecisionJuliaGenerator

public ThreadedDoublePrecisionJuliaGenerator(int maxIterations)
Constructs a new ThreadedDoublePrecisionJuliaGenerator.

Parameters:
maxIterations - the maximum number of iterations to use
Method Detail

getDefiningPoint

public Complex getDefiningPoint()
Description copied from interface: JuliaFractalGenerator
Gets the defining point on the complex plane.

Specified by:
getDefiningPoint in interface JuliaFractalGenerator
Returns:
the defining point
See Also:
JuliaFractalGenerator.getDefiningPoint()

setDefiningPoint

public void setDefiningPoint(Complex definingPoint)
Description copied from interface: JuliaFractalGenerator
Sets the defining point on the complex plane to the specified defining point.

Specified by:
setDefiningPoint in interface JuliaFractalGenerator
Parameters:
definingPoint - the specified defining point
See Also:
JuliaFractalGenerator.setDefiningPoint(infpp.fractal.Complex)

calculateNumberOfIterationsAtComplex

protected int calculateNumberOfIterationsAtComplex(Complex z)
Calculates the number of required iterations to determine the divergence of the sequence of points obtained by the recursion zn + 1 = (zn)2 + c where c is the point passed to the setDefiningPoint method and is constant during the calculation of the fractal and z1 is a point determined by screen coordinates.

Specified by:
calculateNumberOfIterationsAtComplex in class ThreadedDoublePrecisionFractalGenerator
Parameters:
z - the specified point on the complex plane
Returns:
the number of required iterations
See Also:
#calculateNumberOfIterationsAtComplex( infpp.fractal.Complex)