Noise Explorer
What is Noise Explorer?

Noise Explorer is a small tool I wrote during the Java 4K 2007 game contest, and allows you to test the different properties of 1D and 2D Perlin Nose, as well as use different basis functions and colorings. This tool is very useful for designing procedural textures, terrains and similar effects. I intend to improve it in the future to convert it into a generic procedural texture designer.
Click here to launch Noise Explorer via webstart
(A Java 1.5 runtime environment is required)
Or you can download it for offline usage.
One of the features that Noise Explorer allows you to do is to define a basis function and to introduce a random noise perturbation. The basis function can be an arbitrary mathematical expression. You can use the standard +,-,*,/, % operators, parenthesis () for grouping expressions, and the following functions and variables:
- x - X coordinate
- y - Y coordinate (only for 2D noise)
These two coordinates range from 0 to noiseSize and are always integral.
- xx - Normalized x coordinate
- yy - Normalized y coordinate
These two coordinates range from -1 to 1, regardless of the size of the noise area
- SIZE1D - size of the noise 1D area.
- SIZE2D - size of the noise 2D area Using this variable xx = (2*x-SIZE)/SIZE , yy = (SIZE-2*y)/SIZE
- PI - Mathematical constant PI
- E - Mathematical constant E (basis of natural logarithms).
- noise(x) - 1D noise at x. The return value ranges from 0 to 1
- noise(x,y) - 2D noise at (x,y). The return value ranges from 0 to 1
- sin(x), cos(x), tan(x), cotan(x) - Standard trigonometric functions. x must be expressed in radians
- arcsin(x),arccos(x),arctan(x),arccotan(x) - Standard inverse trigonometric functions
- slope(x,y) - Returns the slope of the line passing through (0,0) and (x,y)
- sinh(x),cosh(x),tanh(x),cotanh(x) - Standard hyperbolic functions.
- round(x) - Round x
- round(x,n) - Round x to n decimals
- trunc(x) - Truncate x
- trunc(x,n) - Truncate x to n decimals
- frac(x) - Fractional part of x. Equivalent to x-trunc(x)
- max(a1,a2,...,an) - Greatest value from the list of arguments
- min(a1,a2,...,an) - Smallest value from the list of arguments
- floor(x) - Greatest integer that does not exceed x
- ceil(x) - Smallest integer that is not smaller than x.
- sqrt(x) - Square root of x
- exp(x) - ex
- rad(x) - Convert x from degrees to radians
- ln(x) - Natural logarithm of x
- log(x) - Logarithm of x in base 10
- log(x,base) - Logarithm of x in the specified base
- sawtooth(x) - Saw-tooth function with an amplitude and period of 1
- sawtooth(x,period) - Saw-tooth function with the specified period and an amplitude of 1.
- sgn(x) - Signum function
- abs(x) - Absolute value of x
- delta(x) - Indicator function : It is 1 for x=0, and 0 elsewhere
- delta(x,y) - Dirac delta. 1 for x = y, 0 elsewhere.
- random() - random white-noise value in the range [0..1)
- random(a,b) - random white-noise value in the range [a..b)
- qeqn(a,b,c,n) - nth solution of the quadratic equantion ax2 + bx + c = 0. n = 1 or 2. If the polynomial has no real roots, 0 is returned
Capitalization is not significant (you can write PI or pi or Pi)