球面上の点
球面上のランダムな点を、計算式で求めることは可能なのだろうか?
float theta = 2 * acosf(sqrtf(1-randam()));
float phi = 2 * M_PI * randam();
どうやって求めたのだろう?
球面のtheta+⊿thetaの面積は、sin(theta)に比例するはず。
http://www.radiumsoftware.com/0207.html#020723
Jensen 本に載っているらしい。この本持ってるぞ。
この例では、thetaは赤道上が0となっているので、
分布関数は、PI * cos(theta)となっているようだ。