Fractals/Iterations in the complex plane/Algorithms

Worlflow for 2D static image

                    Separate the calculation phase from the colouring phase (Claude Heiland-Allen)


  • the calculation phase: The first program calculates the actual iterations, or other pixel parameters using representation functions
  • saves raw pixel data into a file
  • the colouring phase: the other program is then used for colorizing the results to the image
  • use different drawing algorithms[1] and compose images ( layers)


Image Magic using CLUT

convert input.pgm -level 0,65532 clut.ppm  -clut -depth 8 output.png

PFract program:

./pfract -x 0.160211 -y -0.684246 -size $xSize $ySize -iterations 256 -rad -10 example5.raw
./colorize example5.raw example5.ppm -spawn -400 -scale 1.6 -fadedepth 25


  • space ( 2D plane)
    • plane description
    • plane scanning
    • plane transformations
  • pixel
    • pixel features: complex potential ( external/internal angle and real potential), distance estimate, mean z, basins, orbit traps, textures, fibers
  • coloring ( color gradient)
  • lightning ( lighting effects to bring the 2D fractals into 3D ) = heightfields
  • Computer-generated imagery (CGI) is a specific-technology or application of computer graphics for creating or improving images in art, printed media, simulators, videos and video games
  • Special effects (often abbreviated as SFX, F/X or simply FX) are illusions or visual tricks used in the theatre, film, television, video game, amusement park and simulator industries to simulate the imagined events in a story or virtual world. Modern graphics processing units (GPUs) provide specialised fixed function units called texture samplers, or texture mapping units, to perform texture mapping, usually with trilinear filtering or better multi-tap anisotropic filtering and hardware for decoding specific formats such as DXTn. As of 2016, texture mapping hardware is ubiquitous as most SOCs contain a suitable GPU.

Algorithm general types


general computer graphic algorithms

  • Texture mapping
  • lightning
  • coloring
  • Special effect

coloring algorithms

  • general coloring algorithms: ( feature of the pixel -> color ):  
    • discrete gradient
    • continous gradient: takes normalised position (floating point number in [0.0, 1.0] range) as an input and gives color as an output, not related with fractals, but used in general computer graphic;  




representation functions


Algorithms: Algorithms, methods of drawing/computing or representation functions ( for space transformations see here)

  1. escape and attracting time for (level sets method (LSM), level curves method (LCM)
    1. the Julia sets
      1. Target sets, trap and bailout tests
        1. Decomposition of the target set: Binary Decomposition Method ( BDM) which in parabolic case gives: zeros of Qn or parabolic checkerboard ( chessboard)
        2. Esher like tilings
        3. orbit trap
    2. Boolean_escape_time for the Mandelbrot set
      1. BDM/M
  2. Inverse iteration method ( IIM) for drawing:
    1. Julia set = IIM/J
  3. complex potential
    1. on the parameter plane
    2. on the dynamic plane
  4. atom domains
  5. bof60
  6. The_Lyapunov_exponent
  7. True shape
  8. Discrete Langrangian Descriptors
  9. curves
    1. boundary - scanning
    2. unroll a closed curve and then stretch out into an infinite strip
    3. equipotential curve
    4. external ray ( parameter and dynamic) trace
      1. Parameter Ray
      2. dynamic ray
    5. internal ray
    6. path: escape route
  10. DEM = Distance Estimation Method
    1. DEM/M- for Mandelbrot set
    2. DEM/J for Julia set
  11. Maping component to the unit disk ( Riemann map ):
    1. Multiplier map and internal ray
      1. on the parameter plane
      2. on the dynamic plane
    2. Boettcher map, complex potential and external ray
      1. on the parameter plane
        1. parameter ray = field lines
        2. complex potential , external angle
      2. on the dynamic plane
  12. histogram colorings: "The main idea is to use histogram to distribute the color gradients more effectively to used indexes instead of uniformly wasting many colors on unused indexes. Also it uses a specific visually pleasing gradient function" (Spektre)
  13. Average Colorings "are a family of coloring functions that use the decimal part of the smooth iteration count to interpolate between average sums." Jussi Harkonen
    1. Triangle Inequality Average Coloring = TIA and curvature average algorithm ( CAA)
    2. Stripe Average Coloring = SAC
    3. Discrete Velocity of non-attracting Basins and Petals by Chris King
    4. Average distance
  14. 2D to 3D : bump maping
    1. heightmap
    2. slope
    3. Embossing[3] and Lighting
    4. lighting
  15. Parameter plane: combinatorial algorithms
    1. wake : How to find angles of external rays that land on the root point of the wake ( = angles of the wake)?
    2. principle Misiurewicz points of the wake k/r , tuning: How to find angles of external rays landing on the principle Misurewicz point of the wake ?
    3. branches and tips
    4. subwake, tuning and internal address
    5. roots, islands and Douady tuning - How to find the angles of external rays that land on the root point of any Mandelbrot set's component which is not accessible from main cardioid ( M0) by a finite number of boundary crossing ?
    6. Period doubling cascade and the Myrberg-Feigenbaum point in the 1/2 family. Escape route 1/2
  16. Zoom
    1. on the parameter plane
      1. (shallow or normal) zoom
      2. Deep zoom and Perturbation method
        1. Julia morphing - to sculpt shapes of Mandelbrot set parts ( zoom ) and Show Inflection
      3. Exponential mapping or Mercator projection or log-polar mapping

Parameter plane ( with Mandelbrot set it's components, islands, decorations, ...)

Dynamic plane (with Julia and Fatou sets)

Algorithms by Claude Heiland-Allen

  • Graphical Algorithms or coloring algorithms or representation functions[4]
    • Membership
    • Escape Time
    • Binary Decomposition
    • Continuous Dwell
    • Exterior Coordinates
    • Dwell Gradient
    • Exterior Distance
    • Atom Domains
    • Misiurewicz Domains
    • Interior Coordinates
    • Interior Distance
  • Numerical Algorithms
    • Nucleus
    • Attractor
    • Interior Point
    • Misiurewicz Point (“Naive”)
    • Misiurewicz Point (“Full”)
    • Child Size
    • Size Estimate
    • Shape Estimate
    • Domain Size
    • External Ray In ( curve tracing )
    • External Ray Out ( curve tracing ): For finding external angle θ given c not in the Mandelbrot set. Same as External Ray In, but with λ>1. Collect bits of θ in reverse order when passing dwell bands.
    • External Angles
  • Symbolic Algorithms
    • Tuning
    • Primary Bulb
    • The Farey Tree
    • Lavaurs’ Algorithm
    • Spoke Navigation
    • Islands In Hairs
    • Hair Navigation
    • Other Angles
  • Other (Further) Algorithms
    • Perturbation
    • Glitch Correction
    • Series Approximation
    • Zoom Interpolation
    • Poincaré Zoom
    • Exponential Map
    • Stretching Cusps
    • Julia Morphing
    • Buddhabrot
    • Spider Algorithm
    • π In The Mandelbrot Set
    • Fractal Dimension Of Julia Sets
    • Mandelbrot Notebook
    • Location Analysis


External examples



  1. binary decomposition From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2023.
  2. fractalforums : tricky-mandelbrot-problem
  3. 3d-emboss-effect-for-2d-fractals
  4. representation functions from From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2023