I'm researching the various types of noise for terrain generation and I'm a little confused regarding when noise becomes perlin noise and when perlin noise becomes fbm. I'm hoping somebody could clarify anywhere that I'm going wrong. I currently assume the following
Noise: Contains a both amplitude and frequency which dictates the final value in conjunction with some form of interpolation such as linear, cosine or cubic.
Perlin Noise: A sum of octave noise functions(each successive function contains twice the frequency). From what I've read so far the amplitude always seems to be presented as a consistent reduction. For example, Noise1 contains A of 1, Noise2 contains A of 0.5, Noise3 contains A of 0.25 meaning that here amplitude halves each time. Must this it always be consistent like this?
FBM: The sum of multiple perlin Noise functions where each Perlin Noise function MUST contain only octaves with decreasing amplitudes.
In probability theory, fractional Brownian motion ( fBm ), also called a fractal Brownian motion, is a generalization of Brownian motion.
Like the Brownian motion that it generalizes, fractional Brownian motion is named after 19th century biologist Robert Brown; fractional Gaussian noise is named after mathematician Carl Friedrich Gauss .
In music, each note is associated with a specific frequency. The frequencies for these notes follow a pattern which we call a scale, where a doubling or halving of the frequency corresponds to a jump of one octave. Now, let's use Perlin noise instead of a sine wave! Perlin noise in its basic form has the same general look and feel as a sine wave.
The increment process, X ( t) = BH ( t +1) − BH ( t ), is known as fractional Gaussian noise . There is also a generalization of fractional Brownian motion: n-th order fractional Brownian motion, abbreviated as n-fBm. n-fBm is a Gaussian, self-similar, non-stationary process whose increments of order n are stationary.
Perlin Noise is actually a method to calculate what you call Noise. It is a form of coherent noise computed as the interpolated normalized gradients of a pseudo-random underlying function (or pseudo-randomly generated gradients). The frequency controls the "sampling" distance of the gradients, so the higher the frequency, the smaller the sampling distance, and more gradients per unit of space. Amplitude controls the max and min values of the noise function.
Hugo Elias' page on Perlin Noise has a good description of the concept, the algorithm, etc. Perlin Noise FAQ explains the algorithm in a very intuitive manner.
Noise is a general term. Perlin Noise is only a type of coherent noise. But there is many different types with different characteristics.
Fractal Brownian Motion is, in fact, what you call Perlin Noise. It is a combination of multiple steps of Perlin Noise (or another similar noise function), each with a different frequency and amplitude. In the context of procedural generation, the variation in frequency from a step to the next is called lacunarity. The variation in amplitude from a step to the next is called gain.
Look at this. This project on terrain generation gives a very good description of what fBM is and how it is computed.
I hope this helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With