(3次元)単位球面上から、偏りなくランダムに点を得たいとします。 単位円上であれば、区間上の一様乱数を生成すれば点が目的のものとなりますが、 球座標で同様に「は、は上の一様乱数」としてしまうと極付近に点が偏ってしまいます。 方法1 区間上の一様乱数を3つ生成し、とする。 点が単位球に含まれていれば、 が目的のもの。含まれていなければやり直し。 分かりやすくて良いですね。 ただ、1回で点が得られるとは限らないのが残念です。 は単位球内から偏りなく選ばれるので、もちろんも単位球面上から偏りなく選ばれます。 方法2 を上の、を上の一様乱数とすれば、 が目的のもの。 これだとまた極方向に偏ってしまいそうですが、そうはなりません。 球座標でを一様乱数にすると、微小面積に対して(?)一様に点が 分布することになるため、が小さい極付近に点が集まってしまいます。 ここで とすれば となり、とを一様乱数とす
![2010-01-16](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)