Math library for Java that offers easy conversion between math types, fast trigonometric functions, vectors, matrices, complex numbers, quaternions, and operation chaining, with a focus on games and computer graphics.
The latest and greatest source can be found here on GitHub. If you are using Git, use this command to clone the project:
git clone git://github.com/CloudburstMC/math.git
Or download the latest development archive or the latest stable archive.
The following dependencies are only needed if you compiling the tests included with this project. Gotta test 'em all!
This project can be built with the latest Java Development Kit and Maven. Maven is used to simplify dependency management, but using it is optional.
For Maven, the command mvn clean package
will build the project and will put the compiled JAR in target
, and mvn clean install
will copy it to your local Maven repository.
Are you a talented programmer looking to contribute some code? We'd love the help!
- Open a pull request with your changes, following our guidelines and coding standards.
- Please follow the above guidelines for your pull request(s) accepted.
- For help setting up the project, keep reading!
By default, an immutable
implementation is provided, however an API is available.
If you're using Maven to manage project dependencies, simply include the following in your pom.xml
file:
<repository>
<id>opencollab-repo</id>
<url>https://repo.opencollab.dev/maven-releases</url>
</repository>
<dependency>
<groupId>org.cloudburstmc.math</groupId>
<artifactId>immutable</artifactId>
<version>2.0</version>
</dependency>
If you're using Gradle to manage project dependencies, simply include the following in your build.gradle
file:
repositories {
maven {
url 'https://repo.opencollab.dev/maven-releases'
}
}
dependencies {
compile 'org.cloudburstmc.math:immutable:2.0'
}
If you intend to only shade in the API and provide the implementations yourself, replace immutable
with api
.
If you plan on using snapshots and do not already have the snapshot repo in your repository list, you will need to add this as well:
https://oss.sonatype.org/content/groups/public/
If you'd prefer to manually import the latest .jar file, you can get it here.
Want to get friendly with the project and put it to good use? Check out the latest Javadocs.
To generate Javadocs with Maven, use the mvn javadoc:javadoc
command. To view the Javadocs simply go to target/site/apidocs/
and open index.html
in a web browser.
We've adopted the git flow branching model in our projects. The creators of git flow released a short intro video to explain the model.
The master
branch is production-ready and contains the latest tagged releases. Before a release is made, it is stagged in release/x
branches before being pushed and tagged in the master
branch. Small patches from hotfix/x
branches are also pushed to master
, and will always have a release version. The develop
branch is pre-production, and is where we push feature/x
branches for testing.
Flow Math is licensed under the MIT License. Basically, you can do whatever you want as long as you include the original copyright. Please see the LICENSE.txt
file for details.