Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matheus23/utils
Noise classes, Matrix-to-array Mappers, and other useful java stuff wihtout dependencies to other libs.
https://github.com/matheus23/utils
Last synced: 18 days ago
JSON representation
Noise classes, Matrix-to-array Mappers, and other useful java stuff wihtout dependencies to other libs.
- Host: GitHub
- URL: https://github.com/matheus23/utils
- Owner: matheus23
- Created: 2012-10-13T11:18:36.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2019-01-30T18:13:40.000Z (almost 6 years ago)
- Last Synced: 2024-10-08T09:25:53.404Z (28 days ago)
- Language: Java
- Size: 9.64 MB
- Stars: 29
- Watchers: 6
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[MatrixMapping]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/util/matrix "org.matheusdev.util.matrix"
[Matrix2Mapping]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/util/matrix/matrix2 "org.matheusdev.util.matrix.matrix2"
[Matrix3Mapping]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/util/matrix/matrix3 "org.matheusdev.util.matrix.matrix3"
[Templater.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/util/javatemplates/Templater.java "org.matheusdev.util.javatemplates.Templater.java"
[SimplexNoise.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/noises/SimplexNoise.java "org.matheusdev.noises.SimplexNoise.java"
[SimplexNoiseN.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/noises/SimplexNoise.java "org.matheusdev.noises.SimplexNoiseN.java"
[ValueNoise1D.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/noises/SimplexNoise.java "org.matheusdev.noises.ValueNoise1D.java"
[GifSequenceWriter.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/util/GifSequenceWriter.java "org.matheusdev.util.GifSequenceWriter.java"
[FrameUtils.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/util/FrameUtils.java "org.matheusdev.util.FrameUtils.java"
[GriddedImage.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/GriddedImage.java "org.matheusdev.GriddedImage.java"
[NumUtils.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/util/NumUtils.java "org.matheusdev.NumUtils.java"
[TextFileReader.java]: https://github.com/matheus23/Utils/blob/master/Utils/src/org/matheusdev/util/TextFileReader.java "org.matheusdev.util.TextFileReader.java"
[Noise2]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/noises/noise2 "org.matheusdev.noises.noise2"
[Noise3]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/noises/noise3 "org.matheusdev.noises.noise3"
[Vecmath]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/util/vecmath "org.matheusdev.util.vecmath"
[Collision]: https://github.com/matheus23/Utils/tree/master/Utils/src/org/matheusdev/util/collision "org.matheusdev.util.collision"[SimplexNoiseDemoImg]: http://dl.dropbox.com/u/45530199/Programs/SimplexNoiseN/image37.gif "Demo GIF"
# MatheusDev's Utils
## What is this?
This is a collection of useful classes in java, without dependencies to outer libs, except the standard java lib.
## What does it have?
Currently, the following stuff is implemented:
* ["Matrix" -> Array mapping][MatrixMapping] for N dimensions.
* Optimized [2D][Matrix2Mapping] and [3D][Matrix3Mapping] versions of the above.
* A "[javatemplater][Templater.java]", which was used to create the Matrix->Array Mapping classes.
* [1D Simplex Noise][SimplexNoise.java].
* [Simplex Noise for N Dimensions][SimplexNoiseN.java].
* [2D][Noise2] and [3D][Noise3] optimized versions of the SimplexNoiseN algorithm.
* [1D Value Noise][ValueNoise1D.java].
* Helper for writing [Gif-Animations][GifSequenceWriter.java] to files.
* Lots of [Vector math utilities][Vecmath] for multiplying matrices, vectors, etc.
* A [collision detection framework][Collision] using the Seperating Axis Theorem (SAT) and rotateable Quads and Polygons.
* A bunch of other Utilities, like [FrameUtils][FrameUtils.java], for positioning java.awt.Frame's in the mid of a desired screen, [GriddedImage][GriddedImage.java] to create png-Image grids for SpriteSheets, [NumUtils][NumUtils.java] and a [TextFileReader][TextFileReader.java].## What can I do with this?
Look at this:
![Demo GIF][SimplexNoiseDemoImg]All the Noise values generated for this image are basically gotten from this code:
```java
MatrixNf values = new SimplexNoiseN(
5, // Octaves
new Random(), // Random number generator RNG
new FloatInterpolationCubicSpline(), // Value interpolator
64, 256, 256 // Dimensions (3D)
).get();
```