2D Computer Graphics - Translation

Translation

Since a translation is an affine transformation but not a linear transformation, homogeneous coordinates are normally used to represent the translation operator by a matrix and thus to make it linear. Thus we write the 3-dimensional vector w = (wx, wy, wz) using 4 homogeneous coordinates as w = (wx, wy, wz, 1).

To translate an object by a vector v, each homogeneous vector p (written in homogeneous coordinates) would need to be multiplied by this translation matrix:

 T_{\mathbf{v}} =
\begin{bmatrix}
1 & 0 & 0 & v_x \\
0 & 1 & 0 & v_y \\
0 & 0 & 1 & v_z \\
0 & 0 & 0 & 1
\end{bmatrix}

As shown below, the multiplication will give the expected result:

 T_{\mathbf{v}} \mathbf{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}
= \mathbf{p} + \mathbf{v}

The inverse of a translation matrix can be obtained by reversing the direction of the vector:

Similarly, the product of translation matrices is given by adding the vectors:

Because addition of vectors is commutative, multiplication of translation matrices is therefore also commutative (unlike multiplication of arbitrary matrices).

Read more about this topic:  2D Computer Graphics

Famous quotes containing the word translation:

    Any translation which intends to perform a transmitting function cannot transmit anything but information—hence, something inessential. This is the hallmark of bad translations.
    Walter Benjamin (1892–1940)

    Well meant are the wounds a friend inflicts, but profuse are the kisses of an enemy.
    Bible: Hebrew, Proverbs 27:6.

    KJ translation reads: Faithful are the wounds of a friend.

    The Bible is for the Government of the People, by the People, and for the People.
    General prologue, Wycliffe translation of the Bible (1384)