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
Rangeclass to model the range of the generated values. - Added
RangedValueclass to model generated values in a specified range. RangedValueobjects 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
RangedValueusegetValue()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);