Skip to content

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

@bbesseling

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.

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