Skip to content

kmclarnon/Tranquility-Math

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tranquility-Math

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

Current Features

While the library is still under construction, there are a few features already implemented

Basic Types

  • 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.

Structures

  • 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

To-Do List

Structures

  • Complex: a generic representation for complex numbers (yes I know about std::complex)
  • Matrix: a generic representation for a 3x3 matrix

Functions

  • 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

Implementation

  • SSE4 support (potentially earlier versions as well)

About

Math library for the Tranquility Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages