========== Glossary ========== .. glossary:: Affine matrix A matrix implementing an :term:`affine transformation` in :term:`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 :term:`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 :term:`unit vector`. The angle is $\theta$. The :term:`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: .. math:: \|\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 :ref:`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. Quaternion 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 :term:`Euler angles` but do not suffer from :term:`gimbal lock` and are often used for rapid interpolation of rotations. Reflection 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 :term:`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 :term:`axis angle` rotation. The angle $\theta$ and unit vector axis $\boldsymbol{\hat{u}}$ are stored in a *rotation vector* $\boldsymbol{u}$, such that: .. math:: \theta = \|\boldsymbol{u}\| \, \boldsymbol{\hat{u}} = \frac{\boldsymbol{u}}{\|\boldsymbol{u}\|} where $\|\boldsymbol{u}\|$ is the :term:`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 :term:`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. .. include:: links_names.inc