Fractal Lab

Tool · Playground

IFS designer

Build a new iterated function system from scratch. Each map is an affine contraction (x, y) → (a·x + b·y + e, c·x + d·y + f) applied with weight p. The attractor of any IFS where every map is a contraction (‖A‖ < 1) is rendered by the chaos game in milliseconds.

Presets:
dim ≈ 1.585 (Moran)

Render

Affine maps · 3

map #1‖A‖ = 0.500
map #2‖A‖ = 0.500
map #3‖A‖ = 0.500

Design hints

  • Hutchinson's theorem: if every map is a contraction, the IFS has a unique compact attractor. The contraction column in the UI flags maps with ‖A‖ ≥ 1 in red — those can blow up.
  • Moran dimension: for similarity IFS (rotation + uniform scale, no shear), the dimension solves Σrᵢᵈ = 1. The estimator here uses the singular value upper bound as a stand-in.
  • Weights only set colour, not the attractor: the geometric attractor depends only on the set of maps. Weights govern density (how often each map fires in the chaos game).
  • Two maps make a Cantor set; three at corners of a triangle make Sierpinski; shear a map and ferns/leaves emerge.

See the curated IFS catalogue for named presets, and /fractals/barnsley-fern for the canonical IFS example.

FAQ

Frequently asked questions