noise_perlin | R Documentation |
This function generates either 2 or 3 dimensional perlin noise, with optional pertubation and fractality. Perlin noise is one of the most well known gradient noise algorithms and have been used extensively as the basis for generating landscapes and textures, as well as within generative art. The algorithm was developed by Ken Perlin in 1983.
noise_perlin( dim, frequency = 0.01, interpolator = "quintic", fractal = "fbm", octaves = 3, lacunarity = 2, gain = 0.5, pertubation = "none", pertubation_amplitude = 1 ) gen_perlin( x, y = NULL, z = NULL, frequency = 1, seed = NULL, interpolator = "quintic", ... )
dim |
The dimensions (height, width, (and depth)) of the noise to be generated. The length determines the dimensionality of the noise. |
frequency |
Determines the granularity of the features in the noise. |
interpolator |
How should values between sampled points be calculated?
Either |
fractal |
The fractal type to use. Either |
octaves |
The number of noise layers used to create the fractal noise.
Ignored if |
lacunarity |
The frequency multiplier between successive noise layers
when building fractal noise. Ignored if |
gain |
The relative strength between successive noise layers when
building fractal noise. Ignored if |
pertubation |
The pertubation to use. Either |
pertubation_amplitude |
The maximal pertubation distance from the
origin. Ignored if |
x, y, z |
Coordinates to get noise value from |
seed |
The seed to use for the noise. If |
... |
ignored |
For noise_perlin()
a matrix if length(dim) == 2
or an array if
length(dim) == 3
. For gen_perlin()
a numeric vector matching the length of
the input.
Perlin, Ken (1985). An Image Synthesizer. SIGGRAPH Comput. Graph. 19 (0097-8930): 287–296. doi:10.1145/325165.325247.
# Basic use noise <- noise_perlin(c(100, 100)) plot(as.raster(normalise(noise))) # Using the generator grid <- long_grid(seq(1, 10, length.out = 1000), seq(1, 10, length.out = 1000)) grid$noise <- gen_perlin(grid$x, grid$y) plot(grid, noise)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.