noise_simplex {ambient}R Documentation

Simplex noise generator

Description

Simplex noise has been developed by Ken Perlin, the inventor of perlin noise, in order to address some of the shortcomings he saw in perlin noise. Compared to perlin noise, simplex noise has lower computational complexity, making it feasable for dimensions above 3 and has no directional artifacts.

Usage

noise_simplex(dim, frequency = 0.01, interpolator = "quintic",
  fractal = "fbm", octaves = 3, lacunarity = 2, gain = 0.5,
  pertubation = "none", pertubation_amplitude = 1)

Arguments

dim

The dimensions (height, width, (and depth, (and time))) 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 'linear', 'hermite', or 'quintic' (default), ranging from lowest to highest quality.

fractal

The fractal type to use. Either 'none', 'fbm' (default), 'billow', or 'rigid-multi'. It is suggested that you experiment with the different types to get a feel for how they behaves.

octaves

The number of noise layers used to create the fractal noise. Ignored if fractal = 'none'. Defaults to 3.

lacunarity

The frequency multiplier between successive noise layers when building fractal noise. Ignored if fractal = 'none'. Defaults to 2.

gain

The relative strength between successive noise layers when building fractal noise. Ignored if fractal = 'none'. Defaults to 0.5.

pertubation

The pertubation to use. Either 'none' (default), 'normal', or 'fractal'. Defines the displacement (warping) of the noise, with 'normal' giving a smooth warping and 'fractal' giving a more eratic warping.

pertubation_amplitude

The maximal pertubation distance from the origin. Ignored if pertubation = 'none'. Defaults to 1.

Value

If length(dim) == 2 a matrix, if length(dim) %in% c(3, 4) a 3- or 4-dimensional array.

References

Ken Perlin, (2001) Noise hardware. In Real-Time Shading SIGGRAPH Course Notes, Olano M., (Ed.)

Examples

# Basic use
noise <- noise_simplex(c(100, 100))

image(noise, col = grey.colors(256, 0, 1))


[Package ambient version 0.1.0 Index]