liyonghelpme/motion-toolkit
The Motion Toolkit is a collection of C++ class templates providing basic types for applications involving 3D geometry, kinematics and dynamics of systems composed of rigid bodies. The toolkit contains class templates for 2D, 3D, and 4D vectors (quaternions, planes), dual numbers, dual vectors (Plücker coordinates), dual quaternions, 3x3 matrices, and 4x4 homogenous matrices. Vector operators are adopted from shader languages Cg/HLSL.