HomeArticlesGeometry

The Sierpiński Tetrahedron: A Fractal in 3D

Four half-scale copies, one octahedral hole, and a fractal dimension that lands, unusually, on exactly 2.

mysimulator teamUpdated June 2026≈ 7 min read▶ Open the simulation

From triangle to tetrahedron

The familiar Sierpiński triangle is built by removing the middle triangle from an equilateral triangle, then repeating on each of the three remaining corner triangles, forever. The Sierpiński tetrahedron (also called a tetrix) does the analogous thing one dimension up: start with a regular tetrahedron, shrink it by half toward each of its four vertices to get four smaller tetrahedra, and discard the octahedron-shaped hole left in the middle. Recurse on each of the four surviving tetrahedra.

subdivide(tetra, depth):
  if depth == 0: draw(tetra); return
  for each of the 4 vertices v of tetra:
    child = tetra scaled by 1/2 toward v
    subdivide(child, depth - 1)
  // the central octahedron formed by the 4 midpoints is discarded

After d levels of recursion there are exactly 4^d tetrahedra, each scaled by (1/2)^d. Because the octahedral gap is thrown away at every level and at every scale, the limiting object has zero volume — infinitely perforated — while its surface area actually grows without bound as more and more tiny facets are exposed.

Fractal dimension: log4/log2 = 2

The (self-similarity / box-counting) fractal dimension of a shape built from N copies each scaled by a factor s is D = log(N) / log(1/s). For the Sierpiński triangle, N = 3 copies at s = 1/2, giving D = log3/log2 ≈ 1.585 — a shape "between" a line and a plane, which is the classic illustration of what a fractional dimension means.

D = log(N) / log(1/s)

Sierpinski triangle:    N = 3, s = 1/2  ->  D = log3/log2 ≈ 1.585
Sierpinski tetrahedron: N = 4, s = 1/2  ->  D = log4/log2 = 2 (exact)

The tetrahedron uses N = 4 copies at the same s = 1/2, which gives D = log4/log2 = 2 exactly — an ordinary integer. That is a numerical coincidence of this specific construction (4 = 2²), not a rule that 3D fractals must land on integers; most named fractals, in any number of embedding dimensions, have genuinely fractional box-counting dimension. It does mean the Sierpiński tetrahedron is a curious edge case: a zero-volume, infinitely-perforated solid whose "roughness" measure matches that of a perfectly ordinary flat surface.

The chaos-game construction

live demo · rotating tetrahedron built by recursive subdivision● LIVE

There is a second, purely random way to draw the same shape: the chaos game. Fix the four vertices of a tetrahedron, drop a point anywhere, then repeat forever: pick one of the four vertices at random and move the point halfway toward it, plotting the new position each time. After discarding the first handful of transient points, the plotted points land exactly on the Sierpiński tetrahedron — no recursion, no explicit subdivision, just a random walk under a contraction map.

p = random point inside the tetrahedron
repeat forever:
  v = random one of the 4 tetrahedron vertices
  p = (p + v) / 2      // jump halfway toward v
  plot(p)               // after a short transient, this is the fractal

This works because the four "jump halfway to a vertex" maps form an iterated function system (IFS) of contractions, and every IFS of contractions has a unique non-empty compact attractor — a set that is invariant under the union of the maps and that any starting point converges toward, by the Banach fixed-point theorem applied to the space of compact sets under the Hausdorff metric. The attractor here is exactly the Sierpiński tetrahedron; the deterministic subdivision and the random chaos game are two different algorithms converging on the same limiting set.

Self-similarity beyond the diagram

Sierpiński-style recursive subdivision is a standard tool in computer graphics for generating detailed geometry from a tiny rule set — terrain, foliage, and procedural meshes all lean on the same "replace a shape with smaller copies of itself" idea. In electrical engineering, fractal antenna designs exploit multi-scale self-similar geometry (Sierpiński gaskets among them) to resonate efficiently at several frequency bands from a single compact structure, since each scale of the fractal responds to a different wavelength. The tetrahedron variant used here is a direct 3D analogue of the same principle, useful anywhere a structure needs to pack a large, wavelength-diverse surface into a small volume.

Frequently asked questions

How is the Sierpiński tetrahedron different from the Sierpiński triangle?

The triangle lives in 2D and is built from 3 half-scale copies at each step, giving fractal dimension log3/log2 ≈ 1.585. The tetrahedron lives in 3D and is built from 4 half-scale copies (one at each vertex, with the middle octahedron removed), giving dimension log4/log2 = exactly 2 — a 3D object whose fractal dimension is a perfectly ordinary integer.

Why is the dimension of the Sierpiński tetrahedron exactly 2?

Box-counting dimension is defined as log(N)/log(1/s), where N is the number of self-similar copies and s is their scale factor relative to the whole. Here N = 4 copies at scale s = 1/2, so D = log(4)/log(2) = 2 exactly. That the exponent lands on a whole number is a coincidence of this particular construction, not a general property of fractals.

What is the chaos game and does it always work?

The chaos game plots a point, repeatedly jumps it halfway toward a randomly chosen vertex of the tetrahedron, and plots each new position. After discarding a short transient, the points converge onto the Sierpiński tetrahedron regardless of the starting point, because the iterated function system is contractive and its attractor is the fractal itself. It is a purely random algorithm that nonetheless produces a perfectly deterministic-looking shape.

Try it live

Everything above runs in your browser — open The Sierpiński Tetrahedron and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open The Sierpiński Tetrahedron simulation

What did you find?

Add reproduction steps (optional)