Skip to content

flow-zone/Perlin-Noise4D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Perlin Noise

A fast NumPy implementation of Perlin noise. Generates 3D or 4D procedural noise as an image or volume evolving over time respectively. Includes fractal, turbulent and ridge multiscale forms with tunable parameters.

Usage

Use example scripts to generate gifs below. Tunable parameters include:

  • Nx,Ny,Nz - Noise field size
  • N_frames - Number of noise fields to generate
  • freq_x, freq_y, freq_z - Spatial frequency per dimension
  • freq_t - Temporal frequency
  • offset - Non-integer offset of sampling points
  • octaves - Number of scales to sum
  • amplitude - Magnitude scaling factor
  • lacunarity - Frequency scaling factor

The last three parameters are only relevant for the multiscale forms. Noise fields with parameters Nx, Ny, Nz,N_frames are generated with array dimensions [Ny, Nx, Nz,N_frames]. Thus, 0th and 1st dimensions correspond to rows (Ny) and columns (Nx) and the last dimension always corresponds to the temporal dimension (N_frames). The temporal dimension is scaled during generation therefore the animation timescale is independent of the number of frames being generated.

2D Examples

Classic Perlin Noise

classic perlin

Fractal Perlin Noise

fractal perlin

Turbulent Perlin Noise

turbulent perlin

Ridge Perlin Noise

ridge perlin

License

This project is licensed under the MIT License.

About

A NumPy implementation of various types of Perlin noise up to 4 dimensions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages