文档

随机数在一个球体

这个例子显示了如何创建随机分在一个球体的体积,像Knuth所描述的那样[1]。范围在本例中为中心在原点,半径为3。

创建点范围内的一个方法是在球坐标来指定它们。然后你可以将它们转换为笛卡尔坐标图。

首先,初始化随机数发生器在这个例子中可重复的结果。

rng (0,“旋风”)

计算每个点的仰角的球体。这些值在开区间, ( - - - - - - π / 2 , π / 2 ) ,但不是均匀分布的。

rvals兰德(1000 1)= 2 * 1;海拔=最佳(rvals);

为每个点创建一个方位角的球体。这些值均匀分布在开区间, ( 0 , 2 π )

方位= 2 *π*兰德(1000 1);

创建一个每个点在球面半径值。这些值在开区间, ( 0 , 3 ) ,但不是均匀分布的。

半径= 3 * (rand (1000 1)。^ (1/3));

转换到笛卡尔坐标和策划的结果。

[x, y, z] = sph2cart(方位角、仰角半径);图plot3 (x, y, z,“。”)轴平等的

如果你想随机数从表面上看半径的球体,然后指定一个恒定的值是最后一个输入参数sph2cart。在这种情况下,该值3

[x, y, z] = sph2cart(方位角、仰角3);

引用

[1]Knuth D。计算机编程的艺术。2卷,第3版。阅读,MA: addison - wesley朗文,1998年,页134 - 136。

另请参阅

||

相关的话题