| |||||||||
In Euclidean geometry, translation is a transformation of Euclidean space which moves every point by a fixed distance in the same direction. It can also be interpreted as the addition of a constant vector to every point, or as shifting the origin of the coordinate system. Each translation is an isometry.
A translation cannot be accomplished using a 3-by-3 matrix, so homogeneous coordinates are normally used.
To translate an object by a vector v = (vx, vy, vz), each homogeneous vector p = (px, py, pz, 1) would need to be multiplied with this translation matrix:
\begin{bmatrix} 1 & 0 & 0 & v_x \\ 0 & 1 & 0 & v_y \\ 0 & 0 & 1 & v_z \\ 0 & 0 & 0 & 1 \end{bmatrix} <math>
As shown below, the multiplication will give the expected result:
T_v p = \begin{bmatrix} 1 & 0 & 0 & v_x \\ 0 & 1 & 0 & v_y \\ 0 & 0 & 1 & v_z \\ 0 & 0 & 0 & 1 \end{bmatrix}
\begin{bmatrix} p_x \\ p_y \\ p_z \\ 1 \end{bmatrix} = \begin{bmatrix} p_x + v_x \\ p_y + v_y \\ p_z + v_z \\ 1 \end{bmatrix} <math>
The inverse of a translation matrix can be obtained by negating the vector: