I need to create a method to generate a unit vector in three dimensions that points in a random direction using a random number generator. The distribution of direction MUST
You're doing it right. A random normal distribution of coordinates gives you a uniform distribution of directions.
To generate 10000 uniform points on the unit sphere, you run
v = randn(10000,3); v = bsxfun(@rdivide,v,sqrt(sum(v.^2,2))); plot3(v(:,1),v(:,2),v(:,3),'.') axis equal