411 REFERENCE · Wikibooks
Fractals/Iterations in the complex plane/Algorithms
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Worlflow for 2D static image
Separate the calculation phase from the colouring phase (Claude Heiland-Allen)
Workflow
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 algorithmsbinary decomposition From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2023. and compose images ( layers)
Examples:
kallesfraktaler
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
dictionary
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
numerical algorithms ( compute feature)
points ( coordinate)
compute c from multiplier, period and center (inverse multiplier map)
compute multiplier from c ( multiplier map)
dynamics or representation functions:
escape time: LSM, BDM
for Mandelbrot set
for Julia_set
complex potential ( internal or external)
real potential CPM/M CPM/J
angle
DEM/M and DEM/J
Discrete Velocity of non-attracting Basins and Petals by Chris King
atom domains
average distance between random pointsfractalforums : tricky-mandelbrot-problem
coloring algorithms ( feature of the pixel -> color ):
plane algorithms :
combinatorial : tuning
wake
principle Misiurewicz points for the wake k/r of main cardioid
subwake, tuning and internal address
roots, islands and Douady tuning
Julia morphing - to sculpt shapes of Mandelbrot set parts ( zoom ) and Show Inflection
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;
Pages
coloring the paramater plane and the Mandelbrot set
coloring the dynamic plane and the Julia sets
plane
coordinate
transformations ( maps )
quality of the image
graphic files
parameter files
formula files
lightning files
Size and resolution of the image
Scanning, sampling and decomposition
types
transformations
Exponential mapping or Mercator projection or log-polar mapping
zoom ( shallow and deep)
deep zoom and Perturbation_theory
representation functions
Algorithms: Algorithms, methods of drawing/computing or representation functions ( for space transformations see here)
escape and attracting time for (level sets method (LSM), level curves method (LCM)
the Julia sets
Target sets, trap and bailout tests
Decomposition of the target set: Binary Decomposition Method ( BDM) which in parabolic case gives: zeros of Qn or parabolic checkerboard ( chessboard)
Esher like tilings
orbit trap
Boolean_escape_time for the Mandelbrot set
BDM/M
Inverse iteration method ( IIM) for drawing:
Julia set = IIM/J
complex potential
on the parameter plane
on the dynamic plane
atom domains
bof60
The_Lyapunov_exponent
True shape
Discrete Langrangian Descriptors
curves
boundary - scanning
unroll a closed curve and then stretch out into an infinite strip
equipotential curve
external ray ( parameter and dynamic) trace
Parameter Ray
dynamic ray
internal ray
path: escape route
DEM = Distance Estimation Method
DEM/M- for Mandelbrot set
DEM/J for Julia set
Maping component to the unit disk ( Riemann map ):
Multiplier map and internal ray
on the parameter plane
on the dynamic plane
Boettcher map, complex potential and external ray
on the parameter plane
parameter ray = field lines
complex potential , external angle
on the dynamic plane
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)
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
Triangle Inequality Average Coloring = TIA and curvature average algorithm ( CAA)
Stripe Average Coloring = SAC
Discrete Velocity of non-attracting Basins and Petals by Chris King
Average distance
2D to 3D : bump maping
heightmap
slope
Embossingfractalforums.org: 3d-emboss-effect-for-2d-fractals and Lighting
lighting
Parameter plane: combinatorial algorithms
wake : How to find angles of external rays that land on the root point of the wake ( = angles of the wake)?
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 ?
branches and tips
subwake, tuning and internal address
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 ?
Period doubling cascade and the Myrberg-Feigenbaum point in the 1/2 family. Escape route 1/2
Zoom
on the parameter plane
(shallow or normal) zoom
Deep zoom and Perturbation method
Julia morphing - to sculpt shapes of Mandelbrot set parts ( zoom ) and Show Inflection
Exponential mapping or Mercator projection or log-polar mapping
Parameter plane ( with Mandelbrot set it's components, islands, decorations, ...)
plane types
plane transformations
plane parts
interior
boundary
exterior
Dynamic plane (with Julia and Fatou sets)
exterior
Boettcher coordinate, complex potential and external ray on the dynamic plane
boundary
interior
Algorithms by Claude Heiland-Allen
Graphical Algorithms or coloring algorithms or representation functionsrepresentation functions from From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2023
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
Code
github repo adammaj1: Mandelbrot-book-book ( c code examples)
External examples
An effective algorithm to compute Mandelbrot sets in parameter planes by A. Garijo, X. Jarque, J. Villadelprat Published 2017
codegolf SE question: mandelbrot-image-in-every-language
codegolf SE question: generate-a-mandelbrot-fractal ( ASCI)
rosetta code : Mandelbrot_set
stackoverflow question: code-golf-the-mandelbrot-set
stackoverflow questions tagged mandelbrot
benchmark
References