Hacker News new | past | comments | ask | show | jobs | submit login
Understanding Perlin Noise (flafla2.github.io)
33 points by nkurz on Aug 10, 2014 | hide | past | web | favorite | 4 comments



As someone in the computer graphics field, I do have to say that I am always continually surprised that some of our standard tools (of which perlin noise is one) are mostly unknown outside of the field.

Edit: I realized I didn't really say why you might want to use Perlin Noise. Here's the short list:

* Context free; you don't need ANY previous data points to determine the value (and possibly the derivatives!) at a point. This is huge, and is the source of 90% of the popularity.

* Gradient (Perlin) Noise has zeros at every integer lattice crossing (i,j,k,..) where i,j,k,... are integers. This means you can add it to an existing time or spatial dataset and you won't disturb the actual datapoints, only add noise to the interpolation between your data.

* Approximately frequency band-limited (Hard highpass at the lattice spacing, soft roll-off lowpass above that)

* When used as a summation fractal, good approximation to a random walk/fractional brownian motion. This is useful everywhere..

The things above are useful in many models, some having nothing to do with graphics!


This is an aside, but I really enjoy following Ken Perlin's blog. He usually posts something small, but he posts every day. One month he posted an elephant based detective noir. Other times he posts computer graphics experiments or talk about virtual reality. If you use an RSS feed, I highly recommend subscribing.


4-dimensional simplex noise is useful for creating tileable patterns. Sampling a 2D image based on the surface of a 3D torus floating in 4D space always yields a pattern with no obvious edges.


I remember the pain I had when last time I wanted to find a good ressource about Perlin Noise. Your link is a good introduction on this subject, thanks for sharing.




Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: