Math4J is a simple mathematics library for Java.
The mathematical concepts covered are mainly those used in 3D-graphics, such as vectors, points and matrices. This is the field from which this library originated.
To clone this repository and build the project, you can type the following in Git Bash. You need Apache Ant though.
git clone https://github.com/macroing/Math4J.git
cd Math4J
ant
This library provides the following data types.
AngleD
- An angle abstraction of typedouble
that contains both degrees and radians.AngleF
- An angle abstraction of typefloat
that contains both degrees and radians.BoundingVolume3D
- A 3-dimensional bounding volume representation of typedouble
.BoundingVolume3F
- A 3-dimensional bounding volume representation of typefloat
.MathD
- An extension ofjava.lang.Math
for typedouble
.MathF
- An extension ofjava.lang.Math
for typefloat
.MathI
- An extension ofjava.lang.Math
for typeint
.Matrix44D
- A 4x4 matrix with elements of typedouble
.Matrix44F
- A 4x4 matrix with elements of typefloat
.NoiseGeneratorD
- A class that can generate noise of typedouble
.NoiseGeneratorF
- A class that can generate noise of typefloat
.OrthoNormalBasis33D
- A 3-dimensional orthonormal basis of typedouble
.OrthoNormalBasis33F
- A 3-dimensional orthonormal basis of typefloat
.Plane3D
- A plane of typedouble
.Plane3F
- A plane of typefloat
.Point2D
- A 2-dimensional point of typedouble
.Point2F
- A 2-dimensional point of typefloat
.Point2I
- A 2-dimensional point of typeint
.Point3D
- A 3-dimensional point of typedouble
.Point3F
- A 3-dimensional point of typefloat
.QuaternionD
- A quaternion of typedouble
.QuaternionF
- A quaternion of typefloat
.Ray3D
- A 3-dimensional ray of typedouble
.Ray3F
- A 3-dimensional ray of typefloat
.Rectangle2I
- A 2-dimensional rectangle of typeint
.RectangularCuboid3F
- A 3-dimensional rectangular cuboid of typefloat
.SampleGeneratorD
- A class for sampling of typedouble
.SampleGeneratorF
- A class for sampling of typefloat
.Shape2I
- A 2-dimensional shape of typeint
.Shape3D
- A 3-dimensional shape of typedouble
.Shape3F
- A 3-dimensional shape of typefloat
.Sphere3D
- A sphere of typedouble
.Sphere3F
- A sphere of typefloat
.SurfaceSample3D
- A 3-dimensional surface sample of typedouble
.SurfaceSample3F
- A 3-dimensional surface sample of typefloat
.Triangle2I
- A 2-dimensional triangle of typeint
.Triangle3D
- A 3-dimensional triangle of typedouble
.Triangle3F
- A 3-dimensional triangle of typefloat
.TriangleMesh3F
- A 3-dimensional triangle mesh of typefloat
.Vector3D
- A 3-dimensional vector of typedouble
.Vector3F
- A 3-dimensional vector of typefloat
.Vector4D
- A 4-dimensional vector of typedouble
.Vector4F
- A 4-dimensional vector of typefloat
.
This library hasn't been released yet. So, even though it says it's version 1.0.0 in all Java source code files, it shouldn't be treated as such. When this library reaches version 1.0.0, it will be tagged and available on the "releases" page.