Вы делаете это правильно.Случайное нормальное распределение координат дает вам равномерное распределение направлений.
Чтобы создать 10000 одинаковых точек на единичной сфере, вы запускаете
v = randn(10000,3);
v = bsxfun(@rdivide,v,sqrt(sum(v.^2,2)));
plot3(v(:,1),v(:,2),v(:,3),'.')
axis equal