Guide // Code

Perlin noise explained

Perlin noise is the most famous trick in computer graphics: a way to make randomness look natural. Clouds in films, mountains in games and the lines on our sound wave posters all use it. Here is how it works.

  1. 01Why plain randomness looks wrong
  2. 02Ken Perlin and Tron
  3. 03How it works: gradients on a grid
  4. 04Octaves: large shapes and fine detail
  5. 05From noise to sound waves
  6. 06Noise around a circle
  7. 07The same seed, the same picture

01Why plain randomness looks wrong

Ask a computer for random numbers and draw them as a line, and you get static: every value jumps with no relation to the one before. Nature doesn't look like that. A coastline, a cloud or a mountain ridge changes gradually, with large shapes and small details at the same time.

What we want is randomness that is smooth: nearby points get similar values, distant points get unrelated ones. That is exactly what Perlin noise gives.

02Ken Perlin and Tron

Ken Perlin worked on the computer graphics of the film Tron (1982) and was frustrated by how machine-like computer images looked. In 1983 he developed a noise function to give surfaces a natural texture, and published it in 1985. In 1997 he received an Academy Award for Technical Achievement for it.

Since then it has been used for clouds, fire, marble, terrain and water in countless films and games, and it is built into creative coding tools such as Processing and p5.js.

03How it works: gradients on a grid

Imagine a grid laid over space. At every grid point the function picks a random direction, a gradient. To get the value at any point in between, it looks at the nearby grid points, measures how far the point lies along each of their directions, and blends those numbers with a smooth curve.

Because the blending is smooth, the result has no jumps. Because the directions are random, it has no visible pattern. And because the same coordinates always give the same value, the noise can be computed again at any time, identically.

fade(t) = 6t⁵ − 15t⁴ + 10t³

04Octaves: large shapes and fine detail

One layer of Perlin noise gives gentle hills. Real landscapes have hills, rocks and pebbles at once. So the noise is added up in layers called octaves: each layer twice as fine as the last and, typically, half as strong.

Our program uses four octaves with a falloff of 0.5, so the first layer sets the broad swell of a line and the last adds the slight roughness that makes it look drawn rather than ruled.

noise(x) = Σₖ 0.5ᵏ · perlin(2ᵏ·x),   k = 0…3

05From noise to sound waves

On First Signal, from the Ridges series, each of the 56 lines is one waveform. A Gaussian envelope decides where the signal is loud, a carrier wave makes it oscillate, and two noise layers shape it: one for the slow swell, one for the fine texture. Every line samples the noise at a slightly different row, so neighbouring lines look related but never identical.

Stacked one behind another, with each line hiding the ones behind it, the waveforms read as a mountain range at night.

yᵢ(t) = bᵢ − A·env(t)·(n₁(t)² + |sin(2π·f·t + φᵢ)|³·n₂(t))
First Signal - sound wave poster
First Signal: 56 waveforms shaped by two layers of noise.See the poster →

06Noise around a circle

On the Orbit posters the same signal is wound into rings. There is a catch: if you sample noise along a straight line and bend it into a circle, the end won't meet the start and the ring breaks. The fix is to sample the noise along a circle in noise space itself, at (cos θ, sin θ), so the values return exactly to where they began.

rᵢ(θ) = Rᵢ + A·env(θ)·noise(cos θ, sin θ, i)
Orbit Zero - circular waveform poster
Orbit Zero: 40 rings, each a seamless loop of noise.See the poster →

07The same seed, the same picture

Perlin noise looks random but is fully determined by its seed. Our programs fix the seed for each piece, so the same equations and the same seed always draw the same lines. That is why every print of a piece is identical to the image you see on its page.

FAQQuestions

What is Perlin noise in simple terms?

A function that returns smooth random values: nearby inputs give similar outputs, so it looks like natural variation rather than static. It is used for clouds, terrain, textures and organic lines.

What are octaves in Perlin noise?

Layers of noise added together, each one finer and weaker than the last. A few octaves give both large shapes and small detail, like hills with rocks on them.

Who invented Perlin noise?

Ken Perlin, in 1983, after working on the film Tron. He published it in 1985 and received an Academy Award for Technical Achievement in 1997.

What is the difference between Perlin noise and random noise?

Random noise has no relation between neighbouring values, so it looks like static. Perlin noise changes smoothly, so it looks like something from nature.

SERIES F // FIRST SIGNALS - STACKED SPECTRA

Sound wave posters

All Ridges (6) →
Ridges - First Signal First Signal Ridges from €39 Ridges - Silent Storm Silent Storm Ridges from €39 Ridges - Northern Signal Northern Signal Ridges from €39 Ridges - Fog Fog Ridges from €39 Ridges - Twin Peaks Twin Peaks Ridges from €39 Ridges - Dawn Dawn Ridges from €39

More guides: What is a strange attractor?The Mandelbrot set explainedWhat is a fractal flame?The Hopf fibration explainedMath gifts for people who love equationsFractal art: what it is and how it is made