randomRotation[n_]:=Module[{},z=RandomVariate[NormalDistribution[0,1],{n,n}];{q,r}=QRDecomposition[z];d=Diagonal[r];ph=d/Abs[d];q*ph];n=3;points=Table[randomRotation[n].{0,0,1},{10^4}];Graphics3D[{{Gray,PointSize[Small],Point[points]},{Red,Thick,Arrow[{{0,0,0},{0,0,1}}]}},AxesTrue]{x,y,z}=Transpose@points;ϕ=ArcTan[y/x];Histogram[#,20,PDF]&/@{ϕ,x}DistributionFitTest[Transpose[{ϕ,z}],UniformDistribution[{{-Pi/2,Pi/2},{-1,1}}]]
,
0.576551
randomRotation2[n_]:=Module[{},z=IdentityMatrix[3]+0.1RandomVariate[NormalDistribution[0,1],{n,n}];{q,r}=QRDecomposition[z];d=Diagonal[r];ph=d/Abs[d];q*ph];n=3;points=Table[randomRotation2[n].{0,0,1},{10^4}];Graphics3D[{{Gray,PointSize[Small],Point[points]},{Red,Thick,Arrow[{{0,0,0},{0,0,1}}]}},AxesTrue]{x,y,z}=Transpose@points;ϕ=ArcTan[y/x];Histogram[#,20,PDF]&/@{ϕ,x}DistributionFitTest[Transpose[{ϕ,z}],UniformDistribution[{{-Pi/2,Pi/2},{-1,1}}]]