A specialized SIMD Geometric Algebra library for high-performance 3D projective geometry operations.
Klein is a specialized SIMD Geometric Algebra library implementing 3D Projective Geometric Algebra (P(R*_{3, 0, 1})) for high-performance geometric computations. It solves the problem of performing fast geometric operations like projections, rotations, and intersections on points, lines, and planes by leveraging SSE SIMD instructions for maximum throughput.
Developers working on animation libraries, kinematic solvers, and other applications requiring high-throughput 3D geometric computations, particularly those already using or considering geometric algebra approaches.
Developers choose Klein for its specialized high-performance implementation using SSE SIMD, unified algebra that streamlines quaternions and dual-quaternions, and efficient geometric operations optimized for throughput in 3D projective geometry.
P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library
Leverages SSE SIMD instructions for maximum throughput in geometric operations, as optimized in the data layout to minimize shuffling and cross-lane arithmetic.
Combines quaternions and dual-quaternions into a single algebra (P(R*_{3, 0, 1})), streamlining operations and reducing code complexity for 3D projective geometry.
Supports a wide range of operations like projecting, measuring distances, rotating, and intersecting points, lines, and planes with an optimized implementation.
Enables smooth rigid body transforms and interpolation using motors, making it ideal for animation libraries and kinematic solvers as highlighted in the features.
Sacrifices generalization of metric or dimensionality, as admitted in the README, making it unsuitable for applications requiring 4D or other geometric algebras.
The project is temporarily archived with no active maintenance, posing risks for bug fixes, updates, and long-term support in production environments.
Requires SSE3 or later support, restricting use to x86 architectures and excluding platforms like ARM, mobile devices, or embedded systems.
A toolkit for making real world machine learning and data analysis applications in C++
OpenGL Mathematics (GLM)
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
The QuantLib C++ library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.