Perlin noise: Difference between revisions
Line 5: | Line 5: | ||
# For each point, find the closest corners in the grid and compute the dot product between the vector from the corner and the corner's random vector. | # For each point, find the closest corners in the grid and compute the dot product between the vector from the corner and the corner's random vector. | ||
# Interpolate between these using smoothstep. | # Interpolate between these using smoothstep. | ||
#* In improved perlin noise, use smootherstep which has zero first and second derivatives at the boundaries: | |||
#* <math>\operatorname{smootherstep}(x) = 6x^5 - 15x^4 + 10x^3</math> | |||
==Resources== | ==Resources== | ||
* https://rtouti.github.io/graphics/perlin-noise-algorithm | * https://rtouti.github.io/graphics/perlin-noise-algorithm |
Revision as of 18:43, 29 March 2023
Algorithm
- Generate a grid of random unit-length vectors
- In improved perlin noise, vectors which only contain +=1 and 0 such as (1, 1, 0) are used
- For each point, find the closest corners in the grid and compute the dot product between the vector from the corner and the corner's random vector.
- Interpolate between these using smoothstep.
- In improved perlin noise, use smootherstep which has zero first and second derivatives at the boundaries:
- \(\displaystyle \operatorname{smootherstep}(x) = 6x^5 - 15x^4 + 10x^3\)