Skip to main content
GameDev.net gamedev.net
🔒 Locked

Perlin Noise Distribution

Started by Matthew Doucette Jan 10, 2005 at 9:04 AM 2 replies 7.8k views
Original Post
Matthew Doucette
Matthew Doucette
As a take-off of my last "Perlin Noise Range" thread, I am trying to calculate various Perlin Noise and value noise distributions. I am asking if someone can please calculate the distribution of these exact noises (as my calculations show very odd distributions): 1) 1985 2D Perlin Noise (as described by Ken Perlin in his 1985 "An Image Synthesizer" paper) 2) 2002 3D Perlin Noise (as described by Ken Perlin in his 2002 "Improving Noise" paper) Here are the distributions I calculated: As you can see, they are not what one might expect. Can you perform your own distribution test on those two specific noises and post the results for comparison? Things to watch out for: 1) The noises have been scaled to an absolute range of -1..1, which they are not by default. As far as I have calculated, here are the default ranges: "original" 1985 Perlin Noise range: ----------------------------------- nD: -1/Sqrt(4/n)..1/Sqrt(4/n) (n = noise dimensions) 2D: -0.707106781187..0.707106781187 "improved" 2002 Perlin Noise range: ----------------------------------- 3D: -1.036353811211803..1.036353811211803 (my test program's solution) 2) In the case of 1985 Perlin Noise, use a random set of preset 256 gradient vectors for each sample. Do not calculate your 256 preset gradient vectors and use only those, as you are only calculating the distribution of only that one set. [Edited by - Doucette on January 10, 2005 9:35:01 AM]
Matthew Doucette, Xona Games
Matthew Doucette
Matthew Doucette
Looking at an old thread started by technobot, I can see that his 2002 3D Perlin Noise distribution is identical to mine:

He posted a pic of it here. Click the second pic. The only difference is that technobot did not scale his 2002 3D Perlin Noise to -1..1, but the actual range is so close (-1.036353811211803..1.036353811211803 according to my test program), that the graphs look identical.

...now, can anyone graph out their distribution of 1985 Perlin Noise?
Matthew Doucette, Xona Games
GameCat
GameCat
What distribution did you expect? Isn't Perlin Noise supposed to be pseudo gaussian?
Matthew Doucette
Matthew Doucette
Quote:
Original post by GameCat
What distribution did you expect?
I expected the 2002 3D Perlin Noise to be somewhat odd, due to the restrictions placed on the gradient vectors.

However, I was not expecting the 1985 2D Perlin Noise distribution to be so even (flat) near the 0.0 value range, especially when compared to my 1985 3D Perlin Noise distribution results (which are curved, not flat, in the same range):


My expectations are irrelevant though, and I just want to see if I am correct. :)

Quote:
Original post by GameCat
What distribution did you expect? Isn't Perlin Noise supposed to be pseudo gaussian?
Sorry, what do you mean by "pseudo gaussian"? Gaussian Distribution is over an infinite range, and (so far) none of Perlin's noises are distributed over an infinite range. If, by "pseudo gaussian", you mean a distribution similar (but not equal to) Guassian distribution, then I suppose you could say that some Perlin Noises are similar (1985 2D and 2002 3D are not, unless my calculations are incorrect) although it is difficult to do when one has an infinite range and the other does not. I am not sure if my calculations are correct, so we'll see if others come up with identical distributions.

[Edited by - Matthew Doucette on January 11, 2005 12:48:10 PM]
Matthew Doucette, Xona Games

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.