Uniform Poisson Disk Sampling.
- supports non-uniform sampling by specifying a per-point distance function
- a reject function can be used to filter out sampled points (while sampling)
- optionally a first point can be specified (instead of choosing one randomly inside the sampling area)
- write examples for all the use-cases presented in the devmag article
- optimize methods (split const min distance from parametric distance if feasible)
- improve comments throughout code (upd code especially)
- http://devmag.org.za/2009/05/03/poisson-disk-sampling/ (read this!)
- http://theinstructionlimit.com/fast-uniform-poisson-disk-sampling-in-c (by Renaud Bédard)
The algorithm is from the "Fast Poisson Disk Sampling in Arbitrary Dimensions" paper by Robert Bridson