New Readme
This commit is contained in:
3
Doxyfile
3
Doxyfile
@@ -918,7 +918,8 @@ WARN_LOGFILE =
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = include \
|
||||
src
|
||||
src \
|
||||
README.md
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
|
64
README.md
64
README.md
@@ -1,17 +1,57 @@
|
||||
# Josh's 3D Math Library - J3ML
|
||||
|
||||
===============================
|
||||
Yet Another C++ Math Standard
|
||||
|
||||
## Motivation
|
||||
This project was sparked by a desire to gain a deeper understanding into the math underlying computer graphics. While packages such as glm, eigen, etc. are amazing libraries, it removes the fun of having to learn it the hard way.
|
||||
J3ML is a "Modern C++" C++ library designed to provide comprehensive support for 3D mathematical operations commonly used in computer graphics, game development, physics simulations, and related fields. It offers a wide range of functionalities to simplify the implementation of complex mathematical operations in your projects.
|
||||
|
||||
## Use Cases
|
||||
## Features
|
||||
### LinearAlgebra
|
||||
#### Vectors
|
||||
#### Matrices
|
||||
#### Conversion Types
|
||||
### Geometry
|
||||
## Samples
|
||||
## Bugs / Issues
|
||||
## Compilation
|
||||
|
||||
* <b>Vector Operations:</b> Comprehensive support for 3D vector operations including addition, subtraction, scalar multiplication, dot product, cross product, normalization, and more.
|
||||
* **Matrix Operations:** Efficient implementation of 3x3 and 4x4 matrices with support for common operations such as multiplication, transpose, determinant calculation, and inverse calculation.
|
||||
* **Quaternion Operations:** Quaternion manipulation functions including conversion to/from axis-angle representation, quaternion multiplication, normalization, and interpolation (slerp).
|
||||
* **Transformation Functions:** Functions for transforming points, vectors, and normals using matrices and quaternions.
|
||||
* **Geometric Types:** Support for geometric types such as points, lines, rays, planes, spheres, axis-aligned bounding boxes (AABB), and oriented bounding boxes (OBB).
|
||||
* **Algorithms:** Implementation of various algorithms including Gilbert-Johnson-Keerthi (GJK) algorithm for collision detection, random number generator, and more.
|
||||
* **Utility Functions:** Additional utilities such as conversion between degrees and radians, random number generation, and common constants.
|
||||
|
||||
# Usage
|
||||
|
||||
To use J3ML in your C++ project, simply include the necessary header files and link against the library. Here's a basic example of how to use the library to perform vector addition:
|
||||
|
||||
|
||||
```cpp
|
||||
|
||||
#include <iostream>
|
||||
#include "j3ml/vector3.h"
|
||||
|
||||
int main() {
|
||||
// Create two 3D vectors
|
||||
j3ml::Vector3 v1(1.0, 2.0, 3.0);
|
||||
j3ml::Vector3 v2(4.0, 5.0, 6.0);
|
||||
|
||||
// Perform vector addition
|
||||
j3ml::Vector3 result = v1 + v2;
|
||||
|
||||
// Output the result
|
||||
std::cout << "Result: " << result << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
For more detailed usage instructions and examples, please refer to the documentation.
|
||||
# Documentation
|
||||
|
||||
Documentation is automatically generated from latest commit and is hosted at https://doc.redacted.cc/j3ml .
|
||||
|
||||
# Contributing
|
||||
|
||||
Contributions to J3ML are welcome! If you find a bug, have a feature request, or would like to contribute code, please submit an issue or pull request to the GitHub repository.
|
||||
|
||||
# License
|
||||
|
||||
J3ML is licensed under the Public Domain. See the LICENSE file for details.
|
||||
|
||||
# Acknowledgements
|
||||
|
||||
J3ML is developed and maintained by Joshua O'Leary from Redacted Software and contributors. Special thanks to William J Tomasine II.
|
Reference in New Issue
Block a user