Noise

Noise is the bread and butter of ambient, and the package provides a long range of different noise functions, both for creating matrices and arrays of noise and for taking full control with the tidy interface.

noise_perlin() gen_perlin()

Perlin noise generator

noise_simplex() gen_simplex()

Simplex noise generator

noise_worley() gen_worley()

Worley (cell) noise generator

noise_cubic() gen_cubic()

Cubic noise generator

noise_value() gen_value()

Value noise generator

noise_white() gen_white()

White noise generator

Patterns

Pattern generators are useful for modifying noise values and get interesting effects, such as marble, and wood rings.

gen_spheres()

Generate a pattern of concentric spheres

gen_waves()

Generate a wave pattern

gen_checkerboard()

Generate a checkerboard pattern

Noise modifiers

The raw noise values are not the end of it. ambient provides a range of functions to either modify the input, output or the generators themselves for new effects such as fractal noise.

fracture()

Create fractals of a noise or pattern

fbm()

Fractional Brownian Motion fractal

billow()

Billow (cloud-like, lumpy) fractal

ridged() spectral_gain()

Ridged-Multi fractal

clamped()

Clamped fractal

curl_noise()

Generate curl noise

gradient_noise()

Calculate the gradient of a scalar field

trans_affine() rotate() stretch() shear() translate() reflect()

Apply linear transformation to a long_grid

blend() normalise() normalize() cap()

Simply value modifications

Utilities

While ambient is mostly about generating noise patterns it does come with a few utilities, wrapped around the long_grid class, which make it easy to work flexibly with the generated values

long_grid() grid_cell() as.array(<long_grid>) as.matrix(<long_grid>) as.raster(<long_grid>) slice_at()

Create a long format grid

ambient-package

ambient: A Generator of Multidimensional Noise