Class NoiseGenerator

  • Direct Known Subclasses:
    PerlinNoiseGenerator

    public abstract class NoiseGenerator
    extends Object
    Base class for all noise generators
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected double offsetX  
      protected double offsetY  
      protected double offsetZ  
      protected int[] perm  
    • Constructor Summary

      Constructors 
      Constructor Description
      NoiseGenerator()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected static double fade​(double x)  
      static int floor​(double x)
      Speedy floor, faster than (int)Math.floor(x)
      protected static double grad​(int hash, double x, double y, double z)  
      protected static double lerp​(double x, double y, double z)  
      double noise​(double x)
      Computes and returns the 1D noise for the given coordinate in 1D space
      double noise​(double x, double y)
      Computes and returns the 2D noise for the given coordinates in 2D space
      abstract double noise​(double x, double y, double z)
      Computes and returns the 3D noise for the given coordinates in 3D space
      double noise​(double x, double y, double z, int octaves, double frequency, double amplitude)
      Generates noise for the 3D coordinates using the specified number of octaves and parameters
      double noise​(double x, double y, double z, int octaves, double frequency, double amplitude, boolean normalized)
      Generates noise for the 3D coordinates using the specified number of octaves and parameters
      double noise​(double x, double y, int octaves, double frequency, double amplitude)
      Generates noise for the 2D coordinates using the specified number of octaves and parameters
      double noise​(double x, double y, int octaves, double frequency, double amplitude, boolean normalized)
      Generates noise for the 2D coordinates using the specified number of octaves and parameters
      double noise​(double x, int octaves, double frequency, double amplitude)
      Generates noise for the 1D coordinates using the specified number of octaves and parameters
      double noise​(double x, int octaves, double frequency, double amplitude, boolean normalized)
      Generates noise for the 1D coordinates using the specified number of octaves and parameters
    • Field Detail

      • perm

        protected final int[] perm
      • offsetX

        protected double offsetX
      • offsetY

        protected double offsetY
      • offsetZ

        protected double offsetZ
    • Constructor Detail

      • NoiseGenerator

        public NoiseGenerator()
    • Method Detail

      • floor

        public static int floor​(double x)
        Speedy floor, faster than (int)Math.floor(x)
        Parameters:
        x - Value to floor
        Returns:
        Floored value
      • fade

        protected static double fade​(double x)
      • lerp

        protected static double lerp​(double x,
                                     double y,
                                     double z)
      • grad

        protected static double grad​(int hash,
                                     double x,
                                     double y,
                                     double z)
      • noise

        public double noise​(double x)
        Computes and returns the 1D noise for the given coordinate in 1D space
        Parameters:
        x - X coordinate
        Returns:
        Noise at given location, from range -1 to 1
      • noise

        public double noise​(double x,
                            double y)
        Computes and returns the 2D noise for the given coordinates in 2D space
        Parameters:
        x - X coordinate
        y - Y coordinate
        Returns:
        Noise at given location, from range -1 to 1
      • noise

        public abstract double noise​(double x,
                                     double y,
                                     double z)
        Computes and returns the 3D noise for the given coordinates in 3D space
        Parameters:
        x - X coordinate
        y - Y coordinate
        z - Z coordinate
        Returns:
        Noise at given location, from range -1 to 1
      • noise

        public double noise​(double x,
                            int octaves,
                            double frequency,
                            double amplitude)
        Generates noise for the 1D coordinates using the specified number of octaves and parameters
        Parameters:
        x - X-coordinate
        octaves - Number of octaves to use
        frequency - How much to alter the frequency by each octave
        amplitude - How much to alter the amplitude by each octave
        Returns:
        Resulting noise
      • noise

        public double noise​(double x,
                            int octaves,
                            double frequency,
                            double amplitude,
                            boolean normalized)
        Generates noise for the 1D coordinates using the specified number of octaves and parameters
        Parameters:
        x - X-coordinate
        octaves - Number of octaves to use
        frequency - How much to alter the frequency by each octave
        amplitude - How much to alter the amplitude by each octave
        normalized - If true, normalize the value to [-1, 1]
        Returns:
        Resulting noise
      • noise

        public double noise​(double x,
                            double y,
                            int octaves,
                            double frequency,
                            double amplitude)
        Generates noise for the 2D coordinates using the specified number of octaves and parameters
        Parameters:
        x - X-coordinate
        y - Y-coordinate
        octaves - Number of octaves to use
        frequency - How much to alter the frequency by each octave
        amplitude - How much to alter the amplitude by each octave
        Returns:
        Resulting noise
      • noise

        public double noise​(double x,
                            double y,
                            int octaves,
                            double frequency,
                            double amplitude,
                            boolean normalized)
        Generates noise for the 2D coordinates using the specified number of octaves and parameters
        Parameters:
        x - X-coordinate
        y - Y-coordinate
        octaves - Number of octaves to use
        frequency - How much to alter the frequency by each octave
        amplitude - How much to alter the amplitude by each octave
        normalized - If true, normalize the value to [-1, 1]
        Returns:
        Resulting noise
      • noise

        public double noise​(double x,
                            double y,
                            double z,
                            int octaves,
                            double frequency,
                            double amplitude)
        Generates noise for the 3D coordinates using the specified number of octaves and parameters
        Parameters:
        x - X-coordinate
        y - Y-coordinate
        z - Z-coordinate
        octaves - Number of octaves to use
        frequency - How much to alter the frequency by each octave
        amplitude - How much to alter the amplitude by each octave
        Returns:
        Resulting noise
      • noise

        public double noise​(double x,
                            double y,
                            double z,
                            int octaves,
                            double frequency,
                            double amplitude,
                            boolean normalized)
        Generates noise for the 3D coordinates using the specified number of octaves and parameters
        Parameters:
        x - X-coordinate
        y - Y-coordinate
        z - Z-coordinate
        octaves - Number of octaves to use
        frequency - How much to alter the frequency by each octave
        amplitude - How much to alter the amplitude by each octave
        normalized - If true, normalize the value to [-1, 1]
        Returns:
        Resulting noise