com.jhlabs.math

Class Noise

Implemented Interfaces:
Function1D, Function2D, Function3D

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

Perlin Noise functions

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.

Method Details

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

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.

lerp

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

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
Returns:
noise value at (x,y,z)

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)