이번역페이지는최신내용을담고있지않습니다。최신내용을영문으로보려면여기를클릭하십시오。
이예제에서는크누스(Knuth)[1]가설명한대로구의부피내에임의의점을만드는방법을보여줍니다。이예제에나와있는구는원점을중심으로하고반지름3이입니다。
구내에점을만드는한가지방법은구면좌표에점을지정하는것입니다。그런다음이점들을카테시안좌표(笛卡尔坐标)로변환하여플로팅할수있습니다。
먼저,이예제의결과가반복되도록하기위해난수생성기를초기화합니다。
rng (0,“旋风”)
구에있는각점에대해고도각(仰角)을계산합니다。이들값은열린구간 내에있지만균등분포되지는않습니다。
rvals兰德(1000 1)= 2 * 1;海拔=最佳(rvals);
구에있는각점에대해방위각(方位角)을만듭니다。이들값은열린구간 내에서균등분포됩니다。
方位= 2 *π*兰德(1000 1);
구에있는각점에대해반지름값을만듭니다。이들값은열린구간 내에있지만균등분포되지는않습니다。
半径= 3 * (rand(1000 1)。^ (1/3));
카테시안좌표로변환하고결과를플로팅합니다。
[x, y, z] = sph2cart(方位角、仰角半径);图plot3 (x, y, z,“。”)轴平等的
구의곡면에난수를배치하려면sph2cart
에대한마지막입력인수로상수반지름값을지정하십시오。아래의경우이값은3.
입니다。
[x, y, z] = sph2cart(方位角、仰角3);
《计算机编程的艺术》。第二卷,第三版,阅读,马萨诸塞州:艾迪生-韦斯利·朗曼,1998,134-136页。