A Simple Algorithm for Maximal Poisson-Disk Sampling in High Dimensions

Mohamed S. Ebeida, Scott A. Mitchell, Anjul Patney, Andrew A. Davidson, John D. Owens
2012 Computer graphics forum (Print)  
Figure 1 : In maximal Poisson-disk sampling disks cover the domain and half-radius disks do not overlap. In 2d we generate 1 million points in 12 seconds (serial) and 1 second (GPU). The software is practical in up to 5d (serial) and 3d (GPU). Abstract 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.
more » ... 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.
doi:10.1111/j.1467-8659.2012.03059.x fatcat:r4t6xrlefbe3hc7tt2yq4gdsli