{
  "id": 5103592,
  "title": "Poisson Disk Sampling",
  "url": "https://urgent.news/2026/09/02/poisson-disk-sampling",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-02T13:47:49.000Z",
  "source": {
    "name": "Hacker News",
    "slug": "hacker-news",
    "url": "https://stripeacross.com/posts/poisson-disk-sampling/"
  },
  "original_language": "en",
  "account": "In 2007, Robert Bridson published a one-page paper that introduced a simple solution to a common problem in computer graphics and simulations: placing objects randomly but with a minimum distance between each object. This solution, known as Poisson disk sampling, addresses the issue of plain random sampling, where objects may overlap. A Poisson disk distribution is a set of points that maintain a minimum distance from one another. Bridson's algorithm provides an efficient method to achieve this.\n\nThe algorithm works in a d-dimensional space, where the desired minimum distance between points is r. To uniformly sample an annulus (a ring-shaped region) centered at a point, Bridson's algorithm generates a random unit vector v and a number x chosen uniformly from the interval [1/2^d, 1). The final sample is then calculated as 2rx1/d · v. This approach significantly reduces the time required to generate points and the likelihood of rejection during collision checks.\n\nTwo improvements have been made to Bridson's algorithm to enhance its efficiency. In two dimensions, when a point p is placed and a new point q is sampled from the annulus, the algorithm stores p as the parent of q. This information is used to determine a range of angles that should not be considered when sampling the annulus centered at q, as points within this range would be too close to p. The cone formed by these angles is centered at angle α and has a width of 2β, where β accounts for the intersection of the cone with the annulus at the inner and outer circles.\n\nIn higher dimensions, the algorithm improves by changing how the distance to the next sample is selected. Instead of using a uniform distribution, Bridson's algorithm allows for a variable exponent c, which adjusts the distribution of distances from each point to its center. By using inverse transform sampling, the algorithm can generate random samples based on the adjusted distribution. This improvement can be applied to higher dimensions, although it may require more storage for the contact vectors of the annuli and could yield diminishing returns as the volume of the intersection with a sphere becomes insignificant in higher dimensions.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}