A Simple Algorithm for Maximal Poisson-Disk Sampling in High Dimensions
Article first published online: 14 JUN 2012
© 2012 The Author(s) Computer Graphics Forum © 2012 The Eurographics Association and Blackwell Publishing Ltd.
Computer Graphics Forum
Volume 31, Issue 2pt4, pages 785–794, May 2012
How to Cite
Ebeida, M. S., Mitchell, S. A., Patney, A., Davidson, A. A. and Owens, J. D. (2012), A Simple Algorithm for Maximal Poisson-Disk Sampling in High Dimensions. Computer Graphics Forum, 31: 785–794. doi: 10.1111/j.1467-8659.2012.03059.x
- Issue published online: 14 JUN 2012
- Article first published online: 14 JUN 2012
- Computing Methodologies [I.3.5]: Computer Graphics—Computational Geometry and Object Modeling
We provide a simple algorithm and data structures for d-dimensional unbiased maximal Poisson-disk sampling. We use an order of magnitude less memory and time than the alternatives. Our results become more favorable as the dimension increases. This allows us to produce bigger samplings. Domains may be non-convex with holes. The generated point cloud is maximal up to round-off error. The serial algorithm is provably bias-free. For an output sampling of size n in fixed dimension d, we use a linear memory budget and empirical θ(n) runtime. No known methods scale well with dimension, due to the “curse of dimensionality.” The serial algorithm is practical in dimensions up to 5, and has been demonstrated in 6d. We have efficient GPU implementations in 2d and 3d. The algorithm proceeds through a finite sequence of uniform grids. The grids guide the dart throwing and track the remaining disk-free area. The top-level grid provides an efficient way to test if a candidate dart is disk-free. Our uniform grids are like quadtrees, except we delay splits and refine all leaves at once. Since the quadtree is flat it can be represented using very little memory: we just need the indices of the active leaves and a global level. Also it is very simple to sample from leaves with uniform probability.