Mathematics is a linear algebra and geometry library written in header-only C++20.
⚠️ Important: This project is currently under active development. Expect bugs and incomplete features.
- Algebra: Vectors and matrices in 2D, 3D, and 4D, transformations using translations, rotations, and scale, rotational representations including matrices, quaternions, axis-angle, and Euler angles.
- Primitives: Geometric primitives for 2D and 3D - line, ray, line segment, plane, aligned and oriented box, triangle, quadrangle, circle, sphere, ellipsoid, tetrahedron, cylinder, cone, capsule, torus.
- Bezier Curves
- Shapes: Complex 3D geometric shapes - convex polyhedron, triangle mesh, tetrahedral mesh.
- Analysis: Containment, distance, and intersection queries of geometric primitives and complex shapes.
- Miscellaneous: Polygon triangulation, random number, and Perlin Noise generators.
- Complex 3D geometric shapes - Work in progress ⚙️
- Convex polyhedron - Work in progress ⚙️
- Triangle mesh - Work in progress ⚙️
- Tetrahedral mesh - Work in progress ⚙️
- Random number generator
- Place header files in subfolders by category
- Unit tests
- Full SIMD support
- Documentation for usage
Code released under the MIT license.