Skip to content

Add vector, matrix and quaternion operations for 3d geometry #437

Description

@bbesseling

The library could more easily support common 3d geometry operations as e.g. used in cad and games.
Vector: If we could add left/right-handed cross product? If we could slerp and interpolate using a function?
Matrix: If we could factory scale, rotation and translation 2x2, 3x3 and 4x4 (+w) matrices and maybe their inverses?
Quaternion: If we could factory from axis+angle, euler or at+up vectors? If we could slerp, nlerp and interpolate using a function?
It is also very useful in 3d to have a Transform type that keeps scale, translation and rotation as separate vectors and a quaternion. This eliminates many matrix inversions e.g. when animating boned 3d meshes.
Stretch goal nice to have a Project type that can do perspective and isometric projections. from 3d to 2d for rendering.
Since these operations are all very simple, is it better for me to write the code and for someone then to validate the code, or is it easier for somebody who already understands the code to add these?
I'd be happy to provide C++ sample code.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions