Math library for the Tranquility Engine
This library will contain all math functions and structures to support those functions that will be required by the Tranquility Engine
While the library is still under construction, there are a few features already implemented
- Float: implements a class wrapper for a single-percision floating point, correctly handles equality and comparisons
- Dual: implements a class to represent a dual number, specifically usefull for automatic differentiation.
- Point2D: implements a basic point object in 2 dimensional space
- Point3D: implements a basic point object in 3 dimensional space
- Vector2D: similar to a point, offers additional functionality for vector mathematics
- Vector3D: vector operations in 3 dimensional space
- Quaternion: a generic representation of a quaternion, primarily for rotational representations
- Complex: a generic representation for complex numbers (yes I know about std::complex)
- Matrix: a generic representation for a 3x3 matrix
- Addition
- Subtraction
- Inversion
- Quaternion Interpolation (see this for a reference on interpolation types)
- Spherical linear interpolation
- Normalized quaternion linear interpolation
- Exponential map interpolation
More as needed
- SSE4 support (potentially earlier versions as well)