Random spherical troubles
- To: mathgroup at smc.vnet.net
- Subject: [mg25170] Random spherical troubles
- From: Barbara DaVinci <barbara_79_f at yahoo.it>
- Date: Tue, 12 Sep 2000 02:58:56 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Hi MathGrouppisti This time, my problem is to generate a set of directions randomly distributed over the whole solid angle. This simple approach is incorrect (spherical coordinates are assumed) : Table[{Pi Random[], 2 Pi Random[]} , {100}] because this way we obtain a set of point uniformly distributed over the [0 Pi] x [0 2Pi] rectangle NOT over a spherical surface :-( If you try doing so and plot the points {1, random_theta , random_phi} you will see them gathering around the poles because that simple transformation from rectangle to sphere isn't "area-preserving" . Such a set is involved in a simulation in statistical mechanics ... and I can't get out this trouble. May be mapping [0 Pi] x [0 2Pi] in itself , using an suitable "non-identity" transformation, can spread points in a way balancing the poles clustering effect. ==================================================================== While I was brooding over that, an intuition flashed trought my mind : since spherical to cartesian transformation is x = rho Sin[ theta ] Cos[ phi ] y = rho Sin[ theta ] Sin[ phi ] z = rho Cos[ theta ] perhaps the right quantities to randomly spread around are Cos[ theta ] and Cos[ phi ] rather than theta and phi for itself. Give a glance at this : Table[{ ArcCos[ Random[] ], ArcCos[ Random[] Sign[ 0.5 - Random[] ] } , {100}] Do you think it is close to the right ? Do you see a better way ? Have you just done the job in the past ? Should I reinvent the wheel ? ==================================================================== I thanks you all for prior replies and in advance this time. Distinti Saluti (read : "Faithfully yours") Barbara Da Vinci barbara_79_f at yahoo.it ______________________________________________________________________ Do You Yahoo!? Il tuo indirizzo gratis e per sempre @yahoo.it su http://mail.yahoo.it
- Follow-Ups:
- Re: Random spherical troubles
- From: Daniel Lichtblau <danl@wolfram.com>
- Re: Random spherical troubles