#### Generating random directions

Some sampling-based algorithms require choosing motion directions at random.5.4 From a configuration , the possible directions of motion can be imagined as being distributed around a sphere. In an -dimensional C-space, this corresponds to sampling on . For example, choosing a direction in amounts to picking an element of ; this can be parameterized as . If , then the previously mentioned trick for should be used. If or , then samples can be generated using a slightly more expensive method that exploits spherical symmetries of the multidimensional Gaussian density function [341]. The method is explained for ; boundaries and identifications must be taken into account for other spaces. For each of the coordinates, generate a sample from a zero-mean Gaussian distribution with the same variance for each coordinate. Following from the Central Limit Theorem, can be approximately obtained by generating samples at random over and adding them ( is usually sufficient in practice). The vector gives a random direction in because each was obtained independently, and the level sets of the resulting probability density function are spheres. We did not use uniform random samples for each because this would bias the directions toward the corners of a cube; instead, the Gaussian yields spherical symmetry. The final step is to normalize the vector by taking for each coordinate.

Steven M LaValle 2012-04-20