**3D Coordinate Frames**

## Coordinate frames

To describe the motion in 3D space, we need to define a coordinate system.
A coordinate system defines 3-dimensional space with three perpendicular axes, which are usually called as *x-axis*, *y-axis*, and *z-axis*.
When visualized, these axes are rendered in *red*, *green*, *blue* colors respectively.

The *origin of the coordinate frame* is generally set to a point in 3D space, usually by the pre-determined position in Image target or QR code target.
The position of another point in 3D space can be described by the distance between the point and the origin in the x, y, and z direction respectively.
This distance is called the ** translation ** of the point to the coordinate frame.

The rotation directions are also defined by the axes directions.
The most common convention for the rotation direction is the *right-hand rotation rule*, where the thumb of the right hand represents the axis' direction and the direction of the rest of the fingers curling is the rotation direction.
The Track framework uses the same convention for the rotation direction.

The Track framework uses a ** right-handed coordinate system **, which defines the x, y, and z axes in the right-hand's order (thumb, index, middle finger).
This is used in the popular open-sourced computer vision library OpenCV.
Many Game engines, for example, Unity Engine, use a

**, which defines the x,y, and z axes in the left-hand order.**

*left-handed coordinate system*The Track framework provides a **convenient API interface** to load 3D rotation and translation data in the coordinate system of your choice.
The composition of 3D position and rotation is also called ** transformation ** or

**.**

*3D pose*