Open Simplex Noise Generator
An OpenSimplex noise generation library in Java which supports 2D, 3D, and 4D OpenSimplex noise generation. For use in Java 8+ environments.
Import using Maven:
<dependency>
<groupId>com.raylabz</groupId>
<artifactId>opensimplex</artifactId>
<version>1.0.3/version>
</dependency>
or
com.raylabz:opensimplex:1.0.3
Download jar:
Updates in v1.0.3:
- Added
Range
class to model the range of the generated values. - Added
RangedValue
class to model generated values in a specified range. RangedValue
objects can now be easily shifted to a different range using thegetValue(Range range)
method.- The generator's methods now return:
eval()
returnsRangedValue
.getNoise2D()
returnsRangedValue
.getNoise3D()
returnsRangedValue
.getNoise4D()
returnsRangedValue
.getNoise2DArray()
returnsRangedValue[]
.
- To retrieve the original generated value (in the original range of -1 to 1) of a
RangedValue
usegetValue()
without specifying a range.
Usage
Create generator with random seed:
OpenSimplexNoise noise = new OpenSimplexNoise();
Create generator with specified seed:
long seed = 123;
OpenSimplexNoise noise = new OpenSimplexNoise(seed);
Generate a value for position (0,0):
RangedValue value = noise.getNoise2D(0, 0);
Get double value from RangedValue
:
double originalValue = value.getValue();
Shift value from original range to a new range (-255, 255):
double shiftedValue = value.getValue(new Range(-255, 255));
Generate an 2D array of values for positions (0,0) to (2500, 2500):
final RangedValue[][] noise2DArray = noise.getNoise2DArray(0, 0, 2500, 2500);