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.
Use example scripts to generate gifs below. Tunable parameters include:
Nx
,Ny
,Nz
- Noise field sizeN_frames
- Number of noise fields to generatefreq_x
,freq_y
,freq_z
- Spatial frequency per dimensionfreq_t
- Temporal frequencyoffset
- Non-integer offset of sampling pointsoctaves
- Number of scales to sumamplitude
- Magnitude scaling factorlacunarity
- 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.
This project is licensed under the MIT License.