Linear transformations

A rotation is a special case of a linear transformation, which is generally expressed by an $ n \times n$ matrix, $ M$, assuming the transformations are performed over $ {\mathbb{R}}^n$. Consider transforming a point $ (x,y)$ in a 2D robot, $ {\cal A}$, as

$\displaystyle \begin{pmatrix}m_{11} & m_{12}  m_{21} & m_{22}  \end{pmatrix} \begin{pmatrix}x  y  \end{pmatrix}.$ (3.82)

If $ M$ is a rotation matrix, then the size and shape of $ {\cal A}$ will remain the same. In some applications, however, it may be desirable to distort these. The robot can be scaled by $ m_{11}$ along the $ x$-axis and $ m_{22}$ along the $ y$-axis by applying

$\displaystyle \begin{pmatrix}m_{11} & 0  0 & m_{22}  \end{pmatrix} \begin{pmatrix}x  y  \end{pmatrix},$ (3.83)

for positive real values $ m_{11}$ and $ m_{22}$. If one of them is negated, then a mirror image of $ {\cal A}$ is obtained. In addition to scaling, $ {\cal A}$ can be sheared by applying

$\displaystyle \begin{pmatrix}1 & m_{12}  0 & 1  \end{pmatrix} \begin{pmatrix}x  y  \end{pmatrix}$ (3.84)

for $ m_{12} \not = 0$. The case of $ m_{12} = 1$ is shown in Figure 3.28.

Figure 3.28: Shearing transformations may be performed.
\begin{figure}\begin{center}
\centerline{\psfig{file=figs/shear.eps,width=3.0in}}
\end{center}
\end{figure}

The scaling, shearing, and rotation matrices may be multiplied together to yield a general transformation matrix that explicitly parameterizes each effect. It is also possible to extend the $ M$ from $ n \times n$ to $ (n+1) \times (n+1)$ to obtain a homogeneous transformation matrix that includes translation. Also, the concepts extend in a straightforward way to $ {\mathbb{R}}^3$ and beyond. This enables the additional effects of scaling and shearing to be incorporated directly into the concepts from Sections 3.2-3.4.

Steven M LaValle 2012-04-20