1. SIGGRAPH 2010
Accurate Multi-DimensionalPoisson-Disk Sampling
Manuel Gamito and Steve Maddock
Lightwork Design Ltd – The University of Sheffield
2. Introduction
Definition of Poisson-Disk sampling
Previous Poisson-Disk sampling methods
Use of a spatial subdivision tree for sampling
Description of the sampling algorithm
Results and Conclusions
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
3. Poisson-Disk Sampling
Definition:
Each sample is placed with uniform probability density
No two samples are closer than 2𝑟, where 𝑟 is some chosendistribution radius
A distribution is maximal if no more samples can be inserted
Poisson-Disk sampling is useful for:
Distributed ray tracing [Cook 1986; Hachisuka et al. 2008]
Object placement and texturing[Lagae and Dutré 2006; Cline et al. 2009]
Stippling and dithering[Deussen et al. 2000; Secord et al. 2002]
Global Illumination [Lehtinen et al. 2008]
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
4. Previous Methods
Approximate Methods
Relax at least one of the sampling conditions
Accurate Methods
Brute force
Dart Throwing [Dippé and Wold 1985]
Assisted by a spatial data structure
Voronoi diagram [Jones 2006]
Scalloped sectors [Dunbar and Humphreys 2006]
Uniform grid [Bridson 2007]
Simplified subdivision tree and uniform grid [White et al. 2007]
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
5. Sampling with Subdivision Trees
Quadtree in 2D, Octree in 3D,...
Signals the regions of space where sample insertion is allowed
Node A has already been removed from the tree – no new samples allowed there
A new sample randomly inserted in node B is always accepted
A new sample randomly inserted in node C may have to be rejected
Each leaf node keeps a list of the samples that intersect with it
Allows efficient lookup of neighbour samples
A
B
2r
2r
C
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
6. The Main Algorithm
While tree not empty
Randomly traverse tree towards a leaf node
Generate a sample randomly in the leaf node
If sample is accepted
Insert sample in the tree
Else
Subdivide leaf node
An empty tree signals that a maximal distribution has been reached
The relative areas of the child nodes are used as the probabilities of choosing a child for descent
Sample is accepted or rejected by looking at the leaf node’s sample list
Tree is recursively updated to reflect the disk occupied by the new sample
See example in later slide
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
7. First subdivision level
Child probabilities:
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Tree Descent
We choose the right-top child
8. Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Tree Descent
Second subdivision level
Child probabilities:
The right-top child is inevitably chosen
9. Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Tree Descent
Third subdivision level
Child probabilities:
The left-top leaf node is finally chosen for sample insertion
10. A valid sample has been placed in the chosen leaf node
A recursive descent of the tree with the new sample finds:
Node A fully inside the new disk
Itself and its descendants are deleted
Node B fully outside the new disk
Itself and its descendants are left untouched
Any remaining leaf node that straddles the boundary of the new disk is subdivided
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Tree Updating
A
B
11. Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Leaf Node Subdivision
Original Leaf Node
Is intersected by the disks of samples s1 and s2
After subdivision we have:
Node A is inside the disk of s1
It is deleted
Node B is a new leaf node
It has s1 and s2 as its samples
Nodes C and D are new leaf nodes
They both have s1 as their only sample
A
B
s2
C
D
s1
12. A distribution can be specifiedby supplying either
The distribution radius 𝑟
The desired number of samples 𝑁
When the number of samples is specified
The algorithm uses a radius 𝑟𝑁,𝛾 based on 𝑁 and on the measured packing density 𝛾of sample disks (see paper for the maths)
The packing density was obtained by averaging the packing densities measured from 100 distributions generated by our algorithm
The number of samples of the resulting maximal distribution is approximately equal to the desired number 𝑁 (𝑒𝑟𝑟𝑜𝑟<5%)
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Radius vs. Number of Samples
13. Number of samples
Sampling time
Samples per second
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Results
14. Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Results
15. A Poisson-Disk Sampling Algorithm that
Is statistically correct (see proof in paper)
Is efficient through the use of a subdivision tree
Works in any number of dimensions
Subject to available physical memory
Generates maximal distributions
Allows approximate control over the number of samples
Can enforce periodic or wall boundary conditions on the boundaries of the domain
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Conclusions
16. Make it multi-threaded
Distant parts of the domain can be sampled inparallel with different threads
Some synchronisation between threads is still required
Generate non-uniform distributions
Have the distribution radius 𝑟(𝐱) be a function of theposition 𝐱 in the domain
Work over irregular domains
Discard subdivided tree nodes that fall outside the domain
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Future Work
17. Source code available at
http://www.dcs.shef.ac.uk/~mag/poisson.html
Gamito and Maddock – Accurate Multi-dimensional Poisson-Disc Sampling
Thank you!
Be the first to comment