space, coordinate system

This defines what the coordinates used to refer to positions actually mean. Coordinate systems have a dimensionality (the number of coordinates), a basis vector for each of the dimensions, and an origin position. A coordinate system of 3 dimensions therefore is defined by 3 vectors and a position. The X, Y and Z coordinates in that coordinate system refer to the value you get when you multiply the X, Y, Z values into the X, Y, and Z axes, then add the origin position to those values.

basis vector

One of the vectors that define a coordinate system. The basis vectors of a coordinate system do not have to be orthogonal or of unit length.


The process of moving objects defined in one space to be defined in another space.

model space

The space that a particular model is expected to be in. Vertex data stored in buffer objects is expected to be in model space.

translation transform

A transform between two spaces, where the origin of the spaces are not in the same location. This causes objects to shift as they are transformed between the two spaces.

identity matrix

The matrix I such that the following is true: MI = M , for any matrix M. Identity matrices only exist for square matrices (a matrix with the same number of columns and rows). An identity matrix consists of a matrix with ones along the diagonal from the top-left to the lower-right, and zeros everywhere else.

scale transform

A transform between two spaces where the axis vectors of the source space are longer or shorter than the corresponding axis vectors in the destination space. This causes objects to stretch or shrink along the axes as they are transformed between the two spaces.

scale inversion

Performing a scale by a negative value. This is perfectly allowed, though it can change the winding order of triangles, depending on the axis being scaled.


Two vectors are orthogonal if they are perpendicular to each other. Three vectors are othogonal if each vector is perpendicular to the other two.

rotation transform, orientation transform

A transform between two spaces, where the axis vectors of the two spaces are not pointed in the same direction, but the angle between the axis vectors stay the same. This cause a reorientation of objects as they are transformed from the initial space to the destination space.

hierarchical model

Models can be conceptually composed of multiple independent pieces in a hierarchy. The space of each component of that hierarchy is stored relative to its parent in the hierarchy.


A single model space transform within a hierarchy of model transforms. The node's transform is stored relative to the transform of the node beneath it, called the parent. Nodes can have a single parent node and multiple child nodes; the child nodes' transforms are relative to this node's space.

Fork me on GitHub