Affine matrix

A matrix implementing an affine transformation in homogenous coordinates. For a 3 dimensional transform, the matrix is shape 4 by 4.

Affine transformation

See wikipedia affine definition. An affine transformation is a linear transformation followed by a translation.

Axis angle

A representation of rotation. See: wikipedia axis angle . From Euler’s rotation theorem we know that any rotation or sequence of rotations can be represented by a single rotation about an axis. The axis \(\boldsymbol{\hat{u}}\) is a unit vector. The angle is \(\theta\). The rotation vector is a more compact representation of \(\theta\) and \(\boldsymbol{\hat{u}}\).

Euclidean norm

Also called Euclidean length, or L2 norm. The Euclidean norm \(\|\mathbf{x}\|\) of a vector \(\mathbf{x}\) is given by:

\[\|\mathbf{x}\| := \sqrt{x_1^2 + \cdots + x_n^2}\]

Pure Pythagoras.

Euler angles

See: wikipedia Euler angles and Mathworld Euler angles.

Gimbal lock

See Gimbal lock

Homogenous coordinates

See wikipedia homogenous coordinates

Linear transformation

A linear transformation is one that preserves lines - that is, if any three points are on a line before transformation, they are also on a line after transformation. See wikipedia linear transform. Rotation, scaling and shear are linear transformations.


See: wikipedia quaternion. An extension of the complex numbers that can represent a rotation. Quaternions have 4 values, \(w, x, y, z\). \(w\) is the real part of the quaternion and the vector \(x, y, z\) is the vector part of the quaternion. Quaternions are less intuitive to visualize than Euler angles but do not suffer from gimbal lock and are often used for rapid interpolation of rotations.


A transformation that can be thought of as transforming an object to its mirror image. The mirror in the transformation is a plane. A plan can be defined with a point and a vector normal to the plane. See wikipedia reflection.

Rotation matrix

See wikipedia rotation matrix. A rotation matrix is a matrix implementing a rotation. Rotation matrices are square and orthogonal. That means, that the rotation matrix \(R\) has columns and rows that are unit vector, and where \(R^T R = I\) (\(R^T\) is the transpose and \(I\) is the identity matrix). Therefore \(R^T = R^{-1}\) (\(R^{-1}\) is the inverse). Rotation matrices also have a determinant of \(1\).

Rotation vector

A representation of an axis angle rotation. The angle \(\theta\) and unit vector axis \(\boldsymbol{\hat{u}}\) are stored in a rotation vector \(\boldsymbol{u}\), such that:

\[ \begin{align}\begin{aligned}\theta = \|\boldsymbol{u}\| \,\\\boldsymbol{\hat{u}} = \frac{\boldsymbol{u}}{\|\boldsymbol{u}\|}\end{aligned}\end{align} \]

where \(\|\boldsymbol{u}\|\) is the Euclidean norm of \(\boldsymbol{u}\)

Shear matrix

Square matrix that results in shearing transforms - see wikipedia shear matrix.

Unit vector

A vector \(\boldsymbol{\hat{u}}\) with a Euclidean norm of 1. Normalized vector is a synonym. The “hat” over the \(\boldsymbol{\hat{u}}\) is a convention to express the fact that it is a unit vector.