How to generate a unit vector pointing in a random direction with isotropic distribution of direction?

后端 未结 1 1371
暖寄归人
暖寄归人 2020-12-31 03:13

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

1条回答
  •  醉梦人生
    2020-12-31 03:45

    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
    

    enter image description here

    0 讨论(0)
提交回复
热议问题