Polite Randomness
The same number of random points twice, one following a single extra rule. Only one of them looks random.
What it is
Two panels, the same number of points in each. The left is uniform random. The right is blue noise: still random, but no two points allowed within a fixed distance of each other.
Most people shown these say the left one looks less random, which is exactly backwards. The left is what random actually does. The right is what we mean when we say it.
How it works
Each point carries a translucent disc of half the minimum radius. Where two discs overlap, those points are closer together than the rule allows, so the left panel is a mass of overlaps and the right has none anywhere. That’s the whole guarantee made visible.
Blue noise here is Bridson’s algorithm. Keep a list of active points, and around one of them throw thirty candidate positions into the annulus between r and 2r, accepting any candidate at least r from everything already placed. If none of the thirty fit, that point is no longer a frontier and gets dropped. A background grid of cell size r/√2 keeps each check local, so the whole thing is linear in the number of points rather than quadratic.
What surprised me
The visual difference is obvious. What I didn’t expect was how large the measured difference is, or which measurement showed it best.
Same 327 points in each:
| uniform random | blue noise | |
|---|---|---|
| closest pair | 0.003 | 0.045 |
| mean nearest-neighbour distance | 0.026 | 0.049 |
| spread of that distance | 59% | 8% |
The closest pair is fourteen times tighter in the random panel, which is the clumping. BUT the number that really separates them is the last row, the coefficient of variation of nearest-neighbour distance. Random sampling is erratic at 59%, blue noise is consistent at 8%.
That reframes what the extra rule buys. It doesn’t make the points more evenly spaced in the sense of a grid, since a grid would score 0% and look obviously artificial. It makes the spacing predictable while leaving the positions unpredictable.
That’s why blue noise is what you want for sampling, dithering and scattering trees. You get randomness without the accidents.
What I would do next
The same comparison in the frequency domain, where blue noise gets its name. Its energy sits at high frequencies with a hole at low ones.