Standard
Class Standard_Mandelbrot

Object
  extended by common:Generic
      extended by common:Formula
          extended by common:DivergentFormula
              extended by Standard:Standard_Mandelbrot

class 
DivergentFormula:Standard_Mandelbrot

Object version of Mandelbrot in Standard.ufm. Generic Mandelbrot set.


Ultra Fractal Source

Toggle UF Source Code Display

 class Standard_Mandelbrot(common.ulb:DivergentFormula) {
 ;
 ; Object version of Mandelbrot in Standard.ufm.
 ; Generic Mandelbrot set.
 ;
 public:
   complex func Init(complex pz)
     fPixel = pz
     return @start
   endfunc
 
   complex func Iterate(complex pz)
     return pz^@p_power + fPixel
   endfunc
 
 private:
   complex fPixel
 
 default:
   title = "Mandelbrot"
   rating = recommended
   helpfile = "Uf*.chm"
   helptopic = "Html/formulas/standard/mandelbrot.html"
   param start
     caption = "Starting point"
     default = (0,0)
     hint = "The starting point parameter can be used to distort the Mandelbrot \
             set. Use (0, 0) for the standard Mandelbrot set."
   endparam
   param p_power ; Overrides p_power from Formula
     caption = "Power"
     default = (2,0)
     hint = "This parameter sets the exponent for the Mandelbrot formula. \
             Increasing the real part to 3, 4, and so on, will add discs to \
             the Mandelbrot figure. Non-integer real values and non-zero \
             imaginary values will create distorted Mandelbrot sets. Use (2, 0) \
             for the standard Mandelbrot set."
   endparam
   float param p_bailout ; Overrides p_bailout from DivergentFormula
     caption = "Bailout value"
     default = 4.0
     min = 1.0
     exponential = true
     hint = "This parameter defines how soon an orbit bails out while \
             iterating. Larger values give smoother outlines; values around 4 \
             give more interesting shapes around the set. Values less than 4 \
             will distort the fractal."
   endparam
 }
 


Constructor Summary
Standard_Mandelbrot()
           
 
Method Summary
 complex Init(complex pz)
          Set up for a sequence of values
 complex Iterate(complex pz)
          Produce the next value in the sequence
 
Methods inherited from class common:DivergentFormula
GetUpperBailout, IsBailedOut
 
Methods inherited from class common:Formula
GetLowerBailout, GetPrimaryExponent
 
Methods inherited from class common:Generic
GetParent
 
Methods inherited from class Object
 

Constructor Detail

Standard_Mandelbrot

public Standard_Mandelbrot()
Method Detail

Init

public complex Init(complex pz)
Description copied from class: DivergentFormula
Set up for a sequence of values

This function will be called at the beginning of each sequence of values (e.g. at the beginning of each fractal orbit).

Overrides:
Init in class DivergentFormula
Parameters:
pz - seed value for the sequence; for a normal fractal formula, this will be #pixel
Returns:
first value in the sequence; this corresponds to #z in a fractal formula

Iterate

public complex Iterate(complex pz)
Description copied from class: Formula
Produce the next value in the sequence

As long as the sequence has not bailed out, this function will be continually called to produce sequence values.

Overrides:
Iterate in class Formula
Parameters:
pz - previous value in the sequence; corresponds to #z in a fractal formula. Note that you should always use this value for computing the next iteration, rather than a saved value, as the calling code may modify the returned value before passing it back to the next Iterate() call.
Returns:
the next value in the sequence