Heh, yeah! The interactive rendering made it a lot more interesting. :)
To the math, it’s interesting to see the problem solved, but I would have liked more explanation of what the second algorithm is doing. It looks as though it’s mapping the raw random “latitude” coordinate through a distribution that makes things even… great. Why is that possible? :)
The Poisson sampling is of course kinda interesting, too, but I am unclear in what context I would want it. Most of the time, if I want a random distribution of anything, yes, I expect it to be “clumpy” as in the example it’s apparently meant to be better than. Some motivation would be great.
People don’t like how lumpy random distributions look.
http://mollyrocket.com/casey/stream_0013.html And some of the following posts are pretty good reads as well.
Some clumping is natural, but the first technique produces much more clumping than natural. For example, if asked to generate a random number between 2 and 12, adding two dice would not produce a very good distribution (unless you wanted such a distribution).
Hmmm…. That’s all fair enough. I mean, procedural generation of vegetation would ideally take into account that vegetation’s distribution is not random, it’s the result of an iterated competition for light and soil; in the absence of competition, it’ll fill the space with one type of plant, just barely sparse enough that they can individually survive. So, yes, it’s very much a case for the Poisson sampling I guess, which actually does answer what I asked. :)
Sorry for the noise!
Why not just use the standard approach of picking three independent 0, 1 gaussians and normalising to a vector of length 1?