Skip to content

pmrochen/Mathematics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mathematics

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.

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.

To Do

  • 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

License

Code released under the MIT license.

About

Linear algebra and geometry library in header-only C++20

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors