Skip to content

NRE-API : Mathematical library including vector, matrix, curves, frustum, ...

License

Notifications You must be signed in to change notification settings

AbelDoc/NRE-Math

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NRE-Math

NRE-Math is the mathematical module used in NearlyRealEngine
It regroup simple mathematical class and a generic implementation for international unit system.

Features

  • Header-only

  • Vector 2D, 3D, 4D :
    Vector regroup all methods to describe a cartesian 2D, 3D, 4D vector. 3D & 4D Vector represent 2D & 3D homogeneous Vector.
    All bases operations are supported : +, -, *, /, dot product (|), cross product (^), ==, !=, >, <, >=, <=
    Normalisation, distance computation, individual elements access (getter or [ ]).

  • Point 2D, 3D, 4D :
    Simple aliases on Vector

  • Matrix 3x3, 4x4 :
    Allow simple use to create transformation matrix.
    All bases operations are supported : +, -, *, /, ==, !=
    Possible transformations :
    * Translation
    * Rotation
    * Sheer
    * Scale
    * Squeeze
    * Perspective
    * Orthogonal
    Transformations can be apply by multiplying the matrix with a supported object :
    * Vector
    * Point
    * Plane
    * Segment
    * BezierCurve

  • Segment 3D, 4D :
    Represent 2D & 3D homogeneous Segments

  • BezierCurve 3D, 4D :
    Represent 2D & 3D homogeneous Bezier Curves

  • Frustum :
    Represent a view frustum, used in collaboration with camera to set up a perspective camera

  • Plane :
    Represent a 3D plane, it's use 3D homogeneous coordinates to allow simple transformations with a matrix

  • Quaternion :
    Represent a simple quaternion, can be converted to a 4x4 matrix in order to represent a rotation matrix.

Architecture

UML

About

NRE-API : Mathematical library including vector, matrix, curves, frustum, ...

Resources

License

Stars

Watchers

Forks

Packages

No packages published