com.jhlabs.math
Class Noise

java.lang.Object
  extended by com.jhlabs.math.Noise
All Implemented Interfaces:
Function1D, Function2D, Function3D

public class Noise
extends java.lang.Object
implements Function1D, Function2D, Function3D

Perlin Noise functions


Constructor Summary
Noise()
           
 
Method Summary
 float evaluate(float x)
           
 float evaluate(float x, float y)
           
 float evaluate(float x, float y, float z)
           
static float[] findRange(Function1D f, float[] minmax)
          Returns the minimum and maximum of a number of random values of the given function.
static float[] findRange(Function2D f, float[] minmax)
          Returns the minimum and maximum of a number of random values of the given function.
static float lerp(float t, float a, float b)
           
static float noise1(float x)
          Compute 1-dimensional Perlin noise.
static float noise2(float x, float y)
          Compute 2-dimensional Perlin noise.
static float noise3(float x, float y, float z)
          Compute 3-dimensional Perlin noise.
static float turbulence2(float x, float y, float octaves)
          Compute turbulence using Perlin noise.
static float turbulence3(float x, float y, float z, float octaves)
          Compute turbulence using Perlin noise.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Noise

public Noise()
Method Detail

evaluate

public float evaluate(float x)
Specified by:
evaluate in interface Function1D

evaluate

public float evaluate(float x,
                      float y)
Specified by:
evaluate in interface Function2D

evaluate

public float evaluate(float x,
                      float y,
                      float z)
Specified by:
evaluate in interface Function3D

turbulence2

public static float turbulence2(float x,
                                float y,
                                float octaves)
Compute turbulence using Perlin noise.

Parameters:
x - the x value
y - the y value
octaves - number of octaves of turbulence
Returns:
turbulence value at (x,y)

turbulence3

public static float turbulence3(float x,
                                float y,
                                float z,
                                float octaves)
Compute turbulence using Perlin noise.

Parameters:
x - the x value
y - the y value
octaves - number of octaves of turbulence
Returns:
turbulence value at (x,y)

noise1

public static float noise1(float x)
Compute 1-dimensional Perlin noise.

Parameters:
x - the x value
Returns:
noise value at x in the range -1..1

noise2

public static float noise2(float x,
                           float y)
Compute 2-dimensional Perlin noise.

Parameters:
x - the x coordinate
y - the y coordinate
Returns:
noise value at (x,y)

noise3

public static float noise3(float x,
                           float y,
                           float z)
Compute 3-dimensional Perlin noise.

Parameters:
x - the x coordinate
y - the y coordinate
y - the y coordinate
Returns:
noise value at (x,y,z)

lerp

public static float lerp(float t,
                         float a,
                         float b)

findRange

public static float[] findRange(Function1D f,
                                float[] minmax)
Returns the minimum and maximum of a number of random values of the given function. This is useful for making some stab at normalising the function.


findRange

public static float[] findRange(Function2D f,
                                float[] minmax)
Returns the minimum and maximum of a number of random values of the given function. This is useful for making some stab at normalising the function.