## 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.

## How to evenly distribute points on a sphere more effectively than the canonical Fibonacci Lattice

Mapping the Fibonacci lattice (aka Golden Spiral, aka Fibonacci Sphere) onto the surface of a sphere is an extremely fast and effective approximate method to evenly distribute points on a sphere. I show how small modifications to the canonical implementation can result in notable improvements for nearest-neighbor measures. Figure 1. A simple modification to the canonical Fibonacci lattice can result in an improvement of up to 8.3% in packing distance (maximum nearest neighboring distance).

## 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

## 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.