Class PerlinNoise

java.lang.Object
ActiverseUtils.PerlinNoise

public class PerlinNoise extends Object
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

    Constructors
    Constructor
    Description
    PerlinNoise(long seed)
    Constructs a new PerlinNoise generator with a given seed.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    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.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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].