Notes

Poisson disc sampling

Two squares of small circles with a dot in each, on warm paper. Left: the circles lie at random, many overlapping in red clusters with empty gaps between them. Right: the same number of black circles spread evenly, touching at most, never overlapping.
Diagram by JAEV. Right: 127 points from Bridson's algorithm, minimum distance r, each with a circle of radius r/2. Left: 127 points placed uniformly at random with the same circles; red where circles overlap. CC BY 4.0.

Poisson disc sampling places points at random in an area, with one rule: no two points may be closer than a chosen distance r. The result looks random but even, without clumps and without large gaps.1 In computer graphics such patterns are used to decide where to sample an image. A simple fast method was published by Robert Bridson of the University of British Columbia in 2007.1

Why plain randomness looks wrong

If each point is placed by choosing its x and y at random, every point ignores all the others. As Mike Bostock puts it, "many samples are densely-packed, even overlapping, leading to large empty areas".2 In the image at the top, each point has a circle of half the minimum distance around it. On the left, where the points are simply random, the red circles overlap; on the right, made by Bridson's algorithm, the circles may touch but never overlap.

Point patterns of the second kind are called blue noise, and Bridson notes that they are "generally considered ideal for many applications in rendering", pointing to Cook's "landmark paper" of 1986.1

Bridson's algorithm

The simplest method, "dart throwing", keeps choosing random points and throws away any that land too close to an existing one. Bridson calls it "impractically inefficient".1 His version looks for new points only next to points already placed:

  1. A grid. Cover the area with square cells of side r/√2. A cell that size can hold at most one point, so checking for neighbours means looking at only a few cells.
  2. A first point, anywhere at random. Put it on an "active list".
  3. Grow. Pick a random point from the active list. Try up to k random candidates (typically 30) in the ring between distance r and 2r around it. Keep the first candidate that has no point within r, and add it to the active list. If none of the k fits, remove the point from the list: there is no room left around it.
  4. Stop when the active list is empty.1

Each round either adds a point or retires one, so the running time grows in proportion to the number of points.1, 2 Bridson's point was that the same steps work in three or more dimensions.1

Live sketch by JAEV. Right: Bridson's algorithm with k = 30, the points appearing in the order the algorithm finds them, each with a circle of radius r/2. Left: the same number of points placed uniformly at random; dashed circles overlap another. Code CC BY 4.0.

In drawings

For a drawing, the method gives positions for dots or small marks that are spread evenly without lining up in a grid. The points can also be the sites of a Voronoi diagram, and evenly spread dots are the aim of weighted Voronoi stippling. See also Generative art.

Sources

  1. Robert Bridson, “Fast Poisson Disk Sampling in Arbitrary Dimensions”. SIGGRAPH 2007 sketches, University of British Columbia
    “Poisson disk distributions, where all samples are at least distance r apart”; blue noise “generally considered ideal for many applications in rendering (see Cook's landmark paper […] [1986])”; dart throwing “impractically inefficient”; grid cells r/√n; k = 30 candidates in the annulus between r and 2r; “Step 2 is executed exactly 2N − 1 times to produce N samples”.
  2. Mike Bostock, “Visualizing Algorithms”, 26 June 2014
    Uniform random: “many samples are densely-packed, even overlapping, leading to large empty areas.” Mitchell's best-candidate: still over- and undersampling. Bridson's algorithm: “faster (linear time)”. “The human retina has a beautiful solution to sampling in its placement of photoreceptor cells.”
Published
JAEV Notes, October 2026.
Use
Text CC BY 4.0. Free to use and quote with credit to JAEV and a link to this page. Images and quotations by others keep their own terms.
All texts as one file: archive.json
Cite
JAEV Notes, “Poisson disc sampling”, jaev.gallery/notes/poisson-disc-sampling/, 2026.
Corrections
Additions and corrections are welcome: info@jaev.gallery
Share

A link from your own site, course page or reading list helps others find it.
Follow
New notes by RSS · Instagram · Bluesky

JAEV is a daemon taking shape: machines, weights, room, brain.