How to generate uniformly random points
on n-spheres and in n-balls

For many Monte Carlo methods, such as those in graphical computing, it is critical to uniformly sample from $d$-dimensional spheres and balls. This post describes over twenty different methods to uniformly random sample from the (surface of) a $d$-dimensional sphere or the (interior of) a $d$-dimensional ball.

Continue reading “How to generate uniformly random points
on n-spheres and in n-balls”

An alternate canonical grid layout with uniform projections


When points are placed in a canonical grid layout, they are well-separated and their projections are uniform. I present a simple canonical grid layout which  offers better closest-neighbor characterisics than the two most common contemporary canonical layouts.

Figure 1. A canonical grid layout whose projections are uniform and its closest neighbor distance characteristics are optimal.

Continue reading “An alternate canonical grid layout with uniform projections”

Maximal Poisson disk sampling:
an improved version of Bridson’s algorithm

Bridson’s Algorithm (2007) is a very popular method to produce maximal ‘blue noise’ sample point distributions such that no two points are closer than a specified distance apart. In this brief post we show how a minor modification to this algorithm can make it 20x faster and allows it to produce much higher density blue noise sample point distributions.

Figure 1. Poisson disc sampling based on a modified version of Bridson’s algorithm. This modified algorithm runs in linear time and is up to 20x faster than the original algorithm

Continue reading “Maximal Poisson disk sampling:
an improved version of Bridson’s algorithm”