Class PerlinNoise
java.lang.Object
ActiverseUtils.PerlinNoise
PerlinNoise generates smooth gradient-based noise commonly used for
procedural textures, terrain, and other effects. This implementation supports
1D, 2D, and 3D Perlin noise with support for fractal octave noise.
Based on Ken Perlin's original algorithm.
- Version:
- 1.4.0
- Author:
- Knivier
-
Constructor Summary
ConstructorsConstructorDescriptionPerlinNoise
(long seed) Constructs a new PerlinNoise generator with a given seed. -
Method Summary
Modifier and TypeMethodDescriptiondouble
noise
(double x) Computes 1D Perlin noise.double
noise
(double x, double y) Computes 2D Perlin noise.double
noise
(double x, double y, double z) Computes 3D Perlin noise.double
octaveNoise
(double x, double y, int octaves, double persistence) Computes 2D fractal Perlin noise using multiple octaves.double
octaveNoise
(double x, int octaves, double persistence) Computes 1D fractal Perlin noise using multiple octaves.
-
Constructor Details
-
PerlinNoise
public PerlinNoise(long seed) Constructs a new PerlinNoise generator with a given seed.- Parameters:
seed
- Seed for the internal random number generator.
-
-
Method Details
-
noise
public double noise(double x) Computes 1D Perlin noise.- Parameters:
x
- Input coordinate.- Returns:
- Noise value in the range [-1, 1].
-
noise
public double noise(double x, double y) Computes 2D Perlin noise.- Parameters:
x
- X coordinate.y
- Y coordinate.- Returns:
- Noise value in the range [-1, 1].
-
noise
public double noise(double x, double y, double z) Computes 3D Perlin noise.- Parameters:
x
- X coordinate.y
- Y coordinate.z
- Z coordinate.- Returns:
- Noise value in the range [-1, 1].
-
octaveNoise
public double octaveNoise(double x, int octaves, double persistence) Computes 1D fractal Perlin noise using multiple octaves.- Parameters:
x
- Input coordinate.octaves
- Number of layers of detail.persistence
- Controls amplitude scaling between octaves.- Returns:
- Fractal noise value in the range [-1, 1].
-
octaveNoise
public double octaveNoise(double x, double y, int octaves, double persistence) Computes 2D fractal Perlin noise using multiple octaves.- Parameters:
x
- X coordinate.y
- Y coordinate.octaves
- Number of layers of detail.persistence
- Controls amplitude scaling between octaves.- Returns:
- Fractal noise value in the range [-1, 1].
-