Efficient maximal poisson-disk sampling

We solve the problem of generating a uniform Poisson-disk sampling that is both maximal and unbiased over bounded non-convex domains. To our knowledge this is the first provably correct algorithm with time and space dependent only on the number of points produced. Our method has two phases, both based on classical dart-throwing. The first phase uses a background grid of square cells to rapidly create an unbiased, near-maximal covering of the domain. The second phase completes the maximal covering by calculating the connected components of the remaining uncovered voids, and by using their geometry to efficiently place unbiased samples that cover them. The second phase converges quickly, overcoming a common difficulty in dart-throwing methods. The deterministic memory is O(n) and the expected running time is O(n log n), where n is the output size, the number of points in the final sample. Our serial implementation verifies that the log n dependence is minor, and nearly O(n) performance for both time and memory is achieved in practice. We also present a parallel implementation on GPUs to demonstrate the parallel-friendly nature of our method, which achieves 2.4x the performance of our serial version.

[1]  Mark A. Z. Dippé,et al.  Antialiasing through stochastic sampling , 1985, SIGGRAPH.

[2]  Robert L. Cook,et al.  Stochastic sampling in computer graphics , 1988, TOGS.

[3]  Don P. Mitchell,et al.  Generating antialiased images at low sampling densities , 1987, SIGGRAPH.

[4]  Greg Turk,et al.  Generating random points in triangles , 1990 .

[5]  Incremental topological flipping works for regular triangulations , 1992, SCG '92.

[6]  M. Jirásek,et al.  Particle Model for Quasibrittle Fracture and Application to Sea Ice , 1995 .

[7]  J. Bolander,et al.  Fracture analyses using spring networks with random geometry , 1998 .

[8]  Oliver Deussen,et al.  Wang Tiles for image and texture generation , 2003, ACM Trans. Graph..

[9]  V. Ostromoukhov,et al.  Fast hierarchical importance sampling with blue noise properties , 2004, SIGGRAPH 2004.

[10]  Greg Humphreys,et al.  Physically Based Rendering: From Theory to Implementation , 2004 .

[11]  Jean-Daniel Boissonnat,et al.  A Linear Bound on the Complexity of the Delaunay Triangulation of Points on Polyhedral Surfaces , 2004, Discret. Comput. Geom..

[12]  Ares Lagae,et al.  A procedural object distribution function , 2005, TOGS.

[13]  Thouis R. Jones Efficient Generation of Poisson-Disk Sampling Patterns , 2006, J. Graph. Tools.

[14]  Greg Humphreys,et al.  A spatial data structure for fast Poisson-disk sample generation , 2006, SIGGRAPH 2006.

[15]  K.B. White,et al.  Poisson Disk Point Sets by Hierarchical Dart Throwing , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[16]  V. Ostromoukhov Sampling with polyominoes , 2007, SIGGRAPH 2007.

[17]  Robert Bridson,et al.  Fast Poisson disk sampling in arbitrary dimensions , 2007, SIGGRAPH '07.

[18]  Yao Zhang,et al.  Scan primitives for GPU computing , 2007, GH '07.

[19]  Li-Yi Wei,et al.  Parallel white noise generation on a GPU via cryptographic hash , 2008, I3D '08.

[20]  Ares Lagae,et al.  A Comparison of Methods for Generating Poisson Disk Distributions , 2008, Comput. Graph. Forum.

[21]  Li-Yi Wei Parallel Poisson disk sampling , 2008, SIGGRAPH 2008.

[22]  Steve C. Maddock,et al.  Accurate multidimensional Poisson-disk sampling , 2009, TOGS.

[23]  Li-yi Wei,et al.  Parallel Poisson disk sampling with spectrum analysis on surfaces , 2010, SIGGRAPH 2010.