---
title: 'The Random Noise That Won an Oscar'
source: 'https://youtube.com/watch?v=JrLSfSh43oA'
video_id: 'JrLSfSh43oA'
date: 2026-07-28
duration_sec: 1245
---

# The Random Noise That Won an Oscar

> Source: [The Random Noise That Won an Oscar](https://youtube.com/watch?v=JrLSfSh43oA)

## Summary

This video explores Perlin Noise, a type of pseudo-random noise that won an Academy Award for its use in realistic visual effects. Matt Parker explains the mathematics behind how Perlin Noise creates natural-looking randomness, contrasting it with true random noise, and demonstrates its application in generating lightning bolts with laser effects through collaboration with visual effects artist Seb Lee-Delisle.

### Key Points

- **Natural randomness vs off-the-shelf random noise** [00:34] — Realistic lightning requires natural randomness; simple random noise is insufficient.
- **Perlin Noise grid** [01:05] — A grid of random values between 0 and 1 gives a continuous, landscape-like feel due to noise continuity.
- **Predictability of Perlin Noise** [02:10] — Perlin Noise is pseudo-random, making it more predictable and continuous than true random noise.
- **Assigning random unit vectors** [03:09] — A random unit vector is assigned to every integer coordinate on the grid to create a field of values.
- **Calculating dot products** [04:05] — For a point inside a grid square, dot products between difference vectors and random vectors at corners are computed.
- **Smoothing formula** [05:21] — Ken Perlin used the formula 6t^5 - 10t^4 + 15t^3 for smooth interpolation between grid points.
- **Simplex Noise for higher dimensions** [06:51] — Using simplexes (triangles) instead of hypercubes reduces computational cost linearly with dimension.
- **Zooming and fractal noise** [09:02] — Perlin Noise has scale; layering different scales (octaves) produces fractal noise, mimicking nature.
- **Academy Award** [11:38] — Perlin Noise won an Academy Award in 1997 for its transformative impact on visual effects.
- **4D noise for looping** [15:13] — Higher-dimensional noise allows perfect loops by taking a slice through 4D space, returning to the start.

### Conclusion

Perlin Noise revolutionized visual effects by providing natural-looking, controllable randomness, and its mathematical innovations like Simplex Noise continue to be essential in computer graphics.

## Transcript

And behind me is a building which is currently got all sorts of very loud laser effects. That's because, actually if we swing around over there, there's a bank of incredibly powerful lasers.
And my friend, Seb Lee-Delisle, is currently up in the control room somewhere. Their&nbsp;computer is controlling these to do those effects. And I'm here because the mathematics behind&nbsp;how you get realistic lightning bolts is really interesting.
'Cos they got to move randomly,&nbsp;but it's got to be natural randomness. And just your off-the-shelf random noise will not cut&nbsp;the mustard. And thankfully earlier on today, the mathematics of this was all explained by&nbsp;me... me.
The building is behind me waiting to&nbsp;be lasered by Seb. And we're going to have a look at why this random noise is not good enough&nbsp;for Seb.
What I've got here is a grid 100 by 100 squares. And every single square I've given a&nbsp;random value between 0 and 1 to go from black through to white. This is Perlin Noise, this is what Seb is actually using in the&nbsp;lightning bolts.
It's got kind of a landscapy, continuous&nbsp;feel because yes, while nature can be random, nature is also continuous. And if we wanted a&nbsp;bit of, like, continuous one-dimensional noise,
we could draw a line across the proper&nbsp;random noise and then plot those values. If we&nbsp;do the same thing with the Perlin Noise, we get a nice continuous line.
And that's only half of it. Not only is this noise more continuous&nbsp;and natural looking, it's also more predictable. It's technically pseudo-random-noise.
So if we&nbsp;move around in the true random noise, you can see it's just glitching all over the place. Whereas Perlin Noise, if we move around, we just get more of&nbsp;the same random landscape.
Technically, there's an infinite amount of continuous, smooth-randomness noise available using Perlin Noise. And it will always constantly flow perfectly from&nbsp;one bit to the next.
So the problem we have to&nbsp;solve is, instead of assigning a random value to every pixel in a 2D image. Instead, how do we get&nbsp;a field of values across that whole image,
Thankfully&nbsp;maths comes to the rescue. So 0, 1, 2, 3, on the horizontal axis and then likewise going up the vertical.
You then assign a random unit vector&nbsp;to every single integer coordinate on the grid. Now I'm a human, so the human random in my example.
In reality you would use like a hashing function or something&nbsp;deterministic. So you take the coordinates as an input and that would give you a random vector in&nbsp;some direction.
And the original version of this, which a guy called Ken Perlin came up with, In newer versions he just had, like, a set of 12 vectors&nbsp;and you'd pick one of those at random.
And he had clever computational ways of, like, permutating&nbsp;them all around that's kind of your seed. But somehow you end up with a bunch of vectors,&nbsp;one per unit coordinate,
So let's say we've got a point, I don't know, right here. Ok, so if I zoom in on that one square, you then calculate the&nbsp;vectors from every corner to that point.
You then take each of those four vectors and you calculate&nbsp;its dot-product with all the other random vectors. So for this top right corner, the dot-product&nbsp;between the difference vector coming out here.
Well, the dot-product is just the angle between the two vectors. And then, obviously,&nbsp;it's scaled based on the size of the vectors.
You calculate that dot-product for all four corners and then you, somehow, average them together and that gives you your random noise at that point.
because you want to make sure this is nice and smooth and&nbsp;continuous. So you've got some normalising and some waiting to get a nice smooth average as you&nbsp;move around.
Specifically in the updated version of the original Perlin Noise, Ken Perlin used the&nbsp;formula of: 6t^5 - 10t^4 + 15t^3 [note: transcription of formula in line with verbal error by Matt]
where "t" is just the distance that you're putting&nbsp;this envelope across. And I plotted it and it's a very nice&nbsp;smooth curve going from 0 to 1; fading in, fading out, pretty linear in the middle.
Well, partly it's deliberately picked because 6 - 10 +&nbsp;15 equals 1. And because we got sequential powers, it's actually&nbsp;computationally quite nice to work out
because you can just gradually multiply by extra values&nbsp;of t as you're putting in those constants. So, like everything involving computers, I tend&nbsp;to focus on the maths of how it works.
So all my talking about the vectors and whatnot is just&nbsp;the mathematical logic behind it. But the people who originally developed it were also thinking&nbsp;about what is computationally clever,
like what can we implement in hardware and software&nbsp;that can be done in the most efficient way possible. Which actually brings us to the direct&nbsp;descendant of Perlin Noise, Simplex Noise. while&nbsp;every pixel in 2D just requires those four vector calculations.
For higher dimensions things get much&nbsp;worse. When you go to 3D, well now all your points are somewhere inside a cube and suddenly you've&nbsp;got eight vectors that you've got to do the dot-product for each one, you've got to do all&nbsp;the weighting and the averaging.
So, if we go up into&nbsp;a hyper cube, uh, okay, I'm going to draw it. If we go up to a hyper cube, suddenly you've&nbsp;got 16 corners, which means you've got 16; oh, you get the idea.
And&nbsp;when you go up to 5D, you've got 32. And Ken Perlin originally did the whole thing based on&nbsp;hyper cubes, and it worked, but computationally got a bit heavy, and people ended up using the&nbsp;higher dimensional versions of this.
And they went, "Forget&nbsp;hyper cubes. We're going to use simplexes." And "simplex" is just the fancy word for triangle, but&nbsp;in arbitrary dimensions.
There's my 1D triangle, there. They tile the 2D plane quite nicely. So, you put an extra vertex on and then you join that up to all of the&nbsp;other vertices.
And now you work out where each of your points are in terms of which simplex or which&nbsp;tetrahedron they're in. And then you've only got to do in this case now four, four calculations.
So what's called simplex noise because you're using simplexes instead of hyper cubes. You, the&nbsp;same computational cost what used to have to be done in 2D with four points you can now do 3D.
And&nbsp;when you go up to 4D, I'll add an extra point in there, join that all up; you've only got, what's&nbsp;that now, five points so you're going up it's linear. The computational complexity is linear with&nbsp;dimension, which is way better.
So I'm not going to be very careful about saying the correct type of&nbsp;Perlin Noise or simplex noise. I'm just going to say Perlin Noise and I mean the entire family&nbsp;of Perlin Noises,
The fact that Perlin Noise is defined&nbsp;by vectors at the integer coordinates means and that means you&nbsp;can both zoom in too far, if you go all the way down you hit nothingness.
In fact, when I was&nbsp;first messing around with Perlin Noise in Python, I rendered this. And I thought I'd made a mistake,&nbsp;but I just rendered the 0 to 1 origin square, And you can&nbsp;also zoom too far out,
'cos if you go to the point where the noise fluctuations are smaller than your&nbsp;pixel size, But the fact that Perlin Noise changes with&nbsp;scale and that you can get it wrong is a feature, not a bug.
It means you can layer up several&nbsp;scales to get fractal noise. We can then take a region which&nbsp;is twice as big, but scale it by a factor of a half and then add them together.
We can get a region&nbsp;which is four times as big, scale it by a quarter, add that as well. We can stack layers of noise&nbsp;at different scales and that's nature for you, right?
A little aside though,&nbsp;when I was messing around with this in my code, I was using red, green and blue values for&nbsp;different scales of noise And I had these weird, lava-lamp like images
I'm going to render a unique one of these&nbsp;for every Patreon supporter and email them out. I'm also going to do a limited run of postcards,&nbsp;I think. Anyway, in the noise business, these different scales&nbsp;of noise are called octaves,
which is a great name because the wavelength of the noise&nbsp;is getting half as big each time. So, the frequency is actually getting twice as much, just&nbsp;like an octave. And these octaves are exactly what Seb was using for his lightning.
For the record,&nbsp;Seb using Perlin Noise in visual effects is not unusual or indeed uncommon. Ken Perlin is indeed a professor of computer science.
But they were inspired&nbsp;to create their noise when they were working on the 1982 film, Tron, and were dissatisfied with&nbsp;the random noise that was currently available to put into visual effects.
They later developed the&nbsp;original Perlin Noise and it was a huge success. It would take clinical looking VFX and turn it&nbsp;into realistic, natural textured surfaces.
And not only is it now ubiquitous across the VFX industry. But in 1997, random noise, Ken's Perlin Noise, won an Academy Award. It is hard to understate&nbsp;how useful Ken's noise is in visual effects.
Seb assures me he has a version of his lightning that's safe to use indoors. [Matt] So, here's, like, a&nbsp;mini laser; this is, like, a tiny little laser. And you're projecting a frozen bolt onto the&nbsp;wall here for us.
[Seb] Yeah, exactly. It's one frame of lightning. It's a simplex noise. It's one dimension from top&nbsp;to bottom with the noise value adjusting the horizontal.
[Seb] Oh, yeah. [Matt] Oh, there it is. [Seb] There you go.
[Seb] Yeah. The zeroth octave&nbsp;obviously start at zero. [Seb] Exactly. [Matt] Yeah.
Each&nbsp;time the noise gets not only, like, wigglier but actually narrower as well because we don't add the&nbsp;same amplitude of noise for each octave. [Seb] Yeah, you see the finest octave you can barely even see it, right?
[Matt] Actually what would octave zero and like octave four together look like? [Seb] Just makes it a little wiggly.
[Matt] Love it. So you can if we switch them all on then you've got&nbsp;your your basic lightning effect. [Seb] But we can also take that and add&nbsp;another dimension, right? And that just makes&nbsp;this vary over time in the similar smooth way as,
[Matt] So&nbsp;you've got a single line through the 2D noise. [Seb] Move&nbsp;it along in the next dimension. Keep it quite&nbsp;slow. You can just see that motion.
[Seb] And we're close to, like, my electric bolt effect, right? the top and the bottom also oscillate with all that other&nbsp;noise. Um, and I need the start and the end to be in a fixed position.
So what I do is I take a&nbsp;sine curve, you know, from zero to one and then back to zero again. And I multiply that to the&nbsp;amplitude from the top to the end of the line. [Matt] So you're just using half a sine wave as a&nbsp;nice envelope from zero to a lot to zero.
If&nbsp;I turn that on, you'll see it there. [Seb] It's&nbsp;all fine. [Seb] Yeah, that's my solution to all the&nbsp;crew, crew problems.
It's like, "la la la la" it's all fine. This button also fixes a lot of problems. [Matt] Yeah. So, okay. So, you fixed the top and bottom.
That's basically my electricity effect, but it's running a bit. [Seb] So, let's turn the speed up. [Matt] I mean, that's lightning.
Seb has also very helpfully inadvertently answered a very&nbsp;common question about Perlin Noise. And that is what would you possibly want with 4D noise or 5D noise.
that Perlin Noise can be rendered&nbsp;easily in four dimensions. And it's because often if you want noise of a certain dimension, you will&nbsp;take it as, like, a slice or a section of higher dimensional noise
So Seb was using 1D noise, represented by this pen, and Seb then moved it through a 2D, like,&nbsp;flat surface of noise. So he got it changing over time, but you could start with 3D noise.
There's my 1D line I'm taking. And if I move my 1D section&nbsp;through the 3D noise and back to where I started, I will have a perfect loop of noise because the&nbsp;beginning and the end are identical.
We have&nbsp;completely different unique frames organically changing smoothly We could come down this way and&nbsp;back up again.
We could have as many different looping bits of organic noise all with the same&nbsp;start and finish frames. So here is some 2D&nbsp;Perlin Noise, but it's a slice through 4D noise.
I then worked out two&nbsp;different paths through the four-dimensional noise space that don't intersect and both end up where&nbsp;they started. So now I can have this initial frame I can loop through perfectly organic
continuous&nbsp;noise and get right back to where I started. It's so good, I mean Perlin Noise is just amazing. Just so amazing. In fact, it is my favourite random noise.
I know it's already won an Academy Award, but just below that is the award. It's to Perlin, winner of Matt Parker's favourite random noise.
That is now two&nbsp;major awards that Perlin Noise has won. Apart from thanks to Ken Perlin, for coming up with&nbsp;the noise. I also want to thank Seb Lee-Delisle for getting me along for this fantastic installation.
On there, he gave me a guided tour of all the tech. So, if you want to see how this was put together, how&nbsp;it all works, head on over to Seb's channel.
And as I mentioned earlier on, if you're one of&nbsp;my Patreon supporters, I am going to email a unique frame of that RGB Perlin overlays noise. It's like an NFT but less naff. It's all yours.
And&nbsp;if you support me at the "Statistically Significant" level or higher. [Future Matt] Psst. Over here! Hey, it's&nbsp;me, Future Matt. I filmed that&nbsp;back in 2021 and then never finished the edit to release it.
Which is going to be a theme of this update. if you want this year's Patreon Christmas card, which will be Perlin Noise based,
you have&nbsp;until the end of November 2025 to sign up and get that. Oh, it's raining, great... Um, this&nbsp;is what I get for filming on location again. Um, I'm also here to apologise for my previous Patreon&nbsp;supporters,
who will have noticed they probably got their birthday card late if they were entitled to&nbsp;it last year. And they didn't get a Christmas card at all. And that's because last year I took&nbsp;on too much stuff, which is on me.
What was I going to do, not calculate pi on the moon? I didn't burn out, um, because I have a release valve where I just&nbsp;stopped doing some things and I figured Patreon supporters wouldn't mind if everything was super&nbsp;late.
So, I meant to put the laser video with Seb, I thought it was late at the end of 2024. So, if you were a Patreon supporter before, you&nbsp;will get the extra RGB postcard as well as your Christmas card this year.
Oh, and if you were signed up and now you're not, I'll just send you the RGB Christmas card. I'm going to make a dash for it now. Um, I really appreciate you supporting everything&nbsp;I do.
And oh, I'm here in Leeds, by the way, because I'm doing my show, "Getting Triggy With It"&nbsp;tonight. That's one ex-. It's been such a year. which is the day after the deadline for joining Patreon in time to&nbsp;get the Christmas card.
But if you want to come to the it's on the set of, um, Matilda in London,&nbsp;it's going to be amazing. Um, yeah, that's then we're on tour&nbsp;first next year.
Oh, I meant to, I meant to hand you back to 2021&nbsp;Matt. Ah, he's probably still blah-blah-blah'ing. So, anyway, thank you&nbsp;so much everyone for watching this video.
Check out said video and support me on Patreon to get&nbsp;your own, free noise by the end of the month.
