Fractal Lab

Iterated function systems

Pythagoras tree

Dutch mathematics teacher Albert Bosman invented the Pythagoras tree in 1942. Each square spawns two smaller squares atop a right triangle whose hypotenuse is the parent’s top edge, recreating the Pythagorean theorem at every step.

Pythagoras tree rendered by chaos game on its four-map IFS.

At a glance

DesignerAlbert Bosman, 1942
Standard angle45° / 45° right triangle on each square
Symmetric tree dimension2 (overlapping / space-filling at 45°)
Asymmetric (e.g. 30°/60°) dimensionStrictly less than 2

Construction

  1. Start with a unit square.
  2. On its top edge place a right triangle with legs a, b.
  3. Build a square on each leg (sides a, b).
  4. Recurse on each new square.

Pythagorean theorem at every step

The hypotenuse of the right triangle has length 1, and the squares on the legs have areas a2 and b2, satisfying a2 + b2 = 1. Each iteration of the tree is a visual proof of a2 + b2 = c2.

Acute, right, obtuse variants

For acute triangles the children do not overlap and the tree remains visually a tree; at 45° (isoceles right) the tree eventually overlaps itself, producing a space-filling object; for obtuse triangles the tree spreads out and may self-overlap early.

References

Try it

Run an interactive playground at /tools/pythagoras-tree.

Quick quiz

Test yourself on pythagoras-tree

5 multiple-choice questions. Pick an answer for each, then submit to see explanations.

  1. Q1.The Pythagoras tree was invented by:

  2. Q2.The tree is built by repeatedly attaching to a square:

  3. Q3.The standard (isoceles, 45°) Pythagoras tree has fractal dimension approximately:

  4. Q4.Why is the construction called 'Pythagoras' tree?

  5. Q5.A non-isoceles Pythagoras tree (with non-45° angle) is:

0 of 5 answered