Fractal dimension
A simple random rule makes the Sierpiński gasket — how much of the plane does it fill?

▶ Run the simulationSee the measured result
Units: dimensionless (box-counting dimension of the Sierpinski gasket, exactly log 3 / log 2; secondary knowns: filled square D = 2 exact, similarity law D(r) = log 3 / log(1/r), uniform cloud D = 2)
How the lab tests it
Run the chaos game (jump halfway to a random triangle corner), then box-count: cover the plane with boxes of side ε, count occupied boxes N(ε), and fit the slope of log N vs log(1/ε).
What it checks
the exact Hausdorff dimension D = log 3 / log 2 ≈ 1.585 (between a line and an area)
Fractal dimension calculator — similarity, box-counting & the chaos game
A dimension that is not a whole number, computed two ways that share no arithmetic. The first way needs only the recipe: a set built from N shrunken copies of itself, each scaled by r, has dimension log N / log(1/r) — three half-size copies give the Sierpinski gasket's log 3 / log 2, four give a filled square, and the answer is a property of the MAP SYSTEM rather than of anything you measure. The second way is what a measurement can actually reach: cover the picture in boxes, count the occupied ones, refine, and read the slope. This page does both and shows they agree, because the simulation above is the case where the agreement is exact — its dyadic census multiplies by exactly 3 at every halving, an integer law with no fitting in it, and the count it predicts at the next level down (2,125,764 boxes) is a number a run can go and check. Nothing the page is about is typed into it: no dimension anywhere in the code, only dimOf(N, r) evaluated at runtime, which is also why the Cantor dust, the Koch curve, the Vicsek fractal, the Sierpinski carpet and the Menger sponge arrive as (copies, ratio) pairs and leave as dimensions. The measured box holds this lab's own executed on-screen fit, 2 ulp below the exact value, so inverting it returns a jump ratio that misses one half by a hundredth of a femto — which is the honest thing for an inverse to do. And there is one place the page refuses: when N·r^d exceeds 1 the copies cannot be kept apart, Hutchinson's open set condition fails, and log N / log(1/r) stops being a dimension and becomes an upper bound on one.
D = log N / log(1/r) · r = N^(-1/D) · N = (1/r)^D · D = log(N(k₂)/N(k₁)) / ((k₂−k₁)·log b) · open set condition: N·r^d ≤ 1