edu.turtlekit2.tools.fillers
Class PerlinSolidNoiseGenerator

java.lang.Object
  extended by edu.turtlekit2.tools.fillers.PerlinSolidNoiseGenerator
All Implemented Interfaces:
SolidNoiseGenerator

public class PerlinSolidNoiseGenerator
extends Object
implements SolidNoiseGenerator

A Perlin noise generator to generate noise of grid variables.

Version:
1.0 - 6/2008 Adapted from source code by Carl Burke. Adapted from copyrighted source code by Ken Perlin and F. Kenton Musgrave to accompany: Texturing and Modeling: A Procedural Approach Ebert, D., Musgrave, K., Peachey, P., Perlin, K., and Worley, S. AP Professional, September, 1994. ISBN 0-12-228760-6
Author:
G. Beurier

Field Summary
static int BLACK
           
static int BLUE0
           
static int BLUE1
           
 double land
           
static int LAND0
           
static int LAND1
           
 boolean latic
           
static int METHOD_BASIC
           
static int METHOD_HETERO_TERRAIN
           
static int METHOD_HYBRID_MULTIFRACTAL
           
static int METHOD_MULTIFRACTAL
           
static int METHOD_RIDGED_MULTIFRACTAL
           
 double water
           
static int WHITE
           
 
Constructor Summary
PerlinSolidNoiseGenerator()
           
PerlinSolidNoiseGenerator(double hIn, double lacIn, double octIn)
           
PerlinSolidNoiseGenerator(double hIn, double lacIn, double octIn, double offIn, double gainIn)
           
PerlinSolidNoiseGenerator(int methIn, double hIn, double lacIn, double octIn, double offIn)
           
 
Method Summary
 int background()
          Returns an (alpha, red, green, blue) color value associated with the background value in lieu of valid noise.
 double bias(double a, double b)
          Supporting/filtering methods
 int color(double x, double y, double z)
          Returns an (alpha, red, green, blue) color value associated with the value() at the specified point.
 double fBm(double[] point, double H, double lacunarity, double octaves)
           
 double gain(double a, double b)
           
 double getSeed()
           
 double Hetero_Terrain(double[] point, double H, double lacunarity, double octaves, double offset)
           
 double HybridMultifractal(double[] point, double H, double lacunarity, double octaves, double offset)
           
 double lerp(double t, double a, double b)
           
 double multifractal(double[] point, double H, double lacunarity, double octaves, double offset)
           
 double noise(double[] vec, int len)
           
 double noise1(double arg)
           
 double noise2(double[] vec)
           
 double noise3(double[] vec)
           
 double RidgedMultifractal(double[] point, double H, double lacunarity, double octaves, double offset, double gain)
           
 double s_curve(double t)
           
 void setScaling(double M, double W, double H)
          Sets internal variables required for a selected magnification, image width, and image height.
 void setSeed(double s)
           
 double turbulence(double[] v, double freq)
           
 double value(double x, double y, double z)
          Calculates an intensity value in [0.0,1.0] at the specified point.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

METHOD_BASIC

public static final int METHOD_BASIC
See Also:
Constant Field Values

METHOD_MULTIFRACTAL

public static final int METHOD_MULTIFRACTAL
See Also:
Constant Field Values

METHOD_HETERO_TERRAIN

public static final int METHOD_HETERO_TERRAIN
See Also:
Constant Field Values

METHOD_HYBRID_MULTIFRACTAL

public static final int METHOD_HYBRID_MULTIFRACTAL
See Also:
Constant Field Values

METHOD_RIDGED_MULTIFRACTAL

public static final int METHOD_RIDGED_MULTIFRACTAL
See Also:
Constant Field Values

BLACK

public static final int BLACK
See Also:
Constant Field Values

BLUE0

public static final int BLUE0
See Also:
Constant Field Values

BLUE1

public static final int BLUE1
See Also:
Constant Field Values

LAND0

public static final int LAND0
See Also:
Constant Field Values

LAND1

public static final int LAND1
See Also:
Constant Field Values

WHITE

public static final int WHITE
See Also:
Constant Field Values

latic

public boolean latic

land

public double land

water

public double water
Constructor Detail

PerlinSolidNoiseGenerator

public PerlinSolidNoiseGenerator()

PerlinSolidNoiseGenerator

public PerlinSolidNoiseGenerator(double hIn,
                                 double lacIn,
                                 double octIn)

PerlinSolidNoiseGenerator

public PerlinSolidNoiseGenerator(int methIn,
                                 double hIn,
                                 double lacIn,
                                 double octIn,
                                 double offIn)

PerlinSolidNoiseGenerator

public PerlinSolidNoiseGenerator(double hIn,
                                 double lacIn,
                                 double octIn,
                                 double offIn,
                                 double gainIn)
Method Detail

setSeed

public void setSeed(double s)

getSeed

public double getSeed()

bias

public double bias(double a,
                   double b)
Supporting/filtering methods


gain

public double gain(double a,
                   double b)

turbulence

public double turbulence(double[] v,
                         double freq)

s_curve

public double s_curve(double t)

lerp

public double lerp(double t,
                   double a,
                   double b)

noise1

public double noise1(double arg)

noise2

public double noise2(double[] vec)

noise3

public double noise3(double[] vec)

noise

public double noise(double[] vec,
                    int len)

fBm

public double fBm(double[] point,
                  double H,
                  double lacunarity,
                  double octaves)

multifractal

public double multifractal(double[] point,
                           double H,
                           double lacunarity,
                           double octaves,
                           double offset)

Hetero_Terrain

public double Hetero_Terrain(double[] point,
                             double H,
                             double lacunarity,
                             double octaves,
                             double offset)

HybridMultifractal

public double HybridMultifractal(double[] point,
                                 double H,
                                 double lacunarity,
                                 double octaves,
                                 double offset)

RidgedMultifractal

public double RidgedMultifractal(double[] point,
                                 double H,
                                 double lacunarity,
                                 double octaves,
                                 double offset,
                                 double gain)

setScaling

public void setScaling(double M,
                       double W,
                       double H)
Sets internal variables required for a selected magnification, image width, and image height.

Specified by:
setScaling in interface SolidNoiseGenerator

value

public double value(double x,
                    double y,
                    double z)
Calculates an intensity value in [0.0,1.0] at the specified point.

Specified by:
value in interface SolidNoiseGenerator

color

public int color(double x,
                 double y,
                 double z)
Returns an (alpha, red, green, blue) color value associated with the value() at the specified point.

Specified by:
color in interface SolidNoiseGenerator

background

public int background()
Returns an (alpha, red, green, blue) color value associated with the background value in lieu of valid noise.

Specified by:
background in interface SolidNoiseGenerator