This is a collection of useful classes in java, without dependencies to outer libs, except the standard java lib.
Currently, the following stuff is implemented:
- "Matrix" -> Array mapping for N dimensions.
- Optimized 2D and 3D versions of the above.
- A "javatemplater", which was used to create the Matrix->Array Mapping classes.
- 1D Simplex Noise.
- Simplex Noise for N Dimensions.
- 2D and 3D optimized versions of the SimplexNoiseN algorithm.
- 1D Value Noise.
- Helper for writing Gif-Animations to files.
- Lots of Vector math utilities for multiplying matrices, vectors, etc.
- A collision detection framework using the Seperating Axis Theorem (SAT) and rotateable Quads and Polygons.
- A bunch of other Utilities, like FrameUtils, for positioning java.awt.Frame's in the mid of a desired screen, GriddedImage to create png-Image grids for SpriteSheets, NumUtils and a TextFileReader.
All the Noise values generated for this image are basically gotten from this code:
MatrixNf values = new SimplexNoiseN(
5, // Octaves
new Random(), // Random number generator RNG
new FloatInterpolationCubicSpline(), // Value interpolator
64, 256, 256 // Dimensions (3D)
).get();