Difference between revisions of "Inverse transformation"

From Robotics
Jump to: navigation, search
Line 29: Line 29:
 
&  &\mathbf{R}_i& \qquad\qquad \vec{\mathbf{p}}_i\\
 
&  &\mathbf{R}_i& \qquad\qquad \vec{\mathbf{p}}_i\\
 
\end{align}</math>  
 
\end{align}</math>  
 
+
So the inverse of a homogeneous transformation matrix is defined as:<br/>
 +
:<math>
 +
\mathbf{T}^{-1}=
 +
\left[\begin{array}{ccc|c}
 +
&  &  &  \\
 +
& \mathbf{R} &  & \vec{\mathbf{p}}\\
 +
& & & \\ \hline
 +
0 & 0 & 0 & 1
 +
\end{array}\right]^{-1}=
 +
\left[\begin{array}{ccc|c}
 +
&  &  &  \\
 +
& \mathbf{R}_i &  & \vec{\mathbf{p}}_i\\
 +
& & & \\ \hline
 +
0 & 0 & 0 & 1
 +
\end{array}\right]=
 +
\left[\begin{array}{ccc|c}
 +
&  &  &  \\
 +
& \mathbf{R}^T &  & -\mathbf{R}^T\vec{\mathbf{p}}\\
 +
& & & \\ \hline
 +
0 & 0 & 0 & 1
 +
\end{array}\right]
 +
</math>
  
  
 
[[Category:Article]]
 
[[Category:Article]]
 
[[Category:Transformations]]
 
[[Category:Transformations]]

Revision as of 16:32, 17 June 2014

← Back: Combinations of transformations Overview: Transformations Next: ???

Let \mathbf{T} be a general homogeneous transformation matrix. The inverse transformation \mathbf{T}^{-1} corresponds to the transformation that reverts the rotation and translation effected by \mathbf{T}. If a vector is pre-multiplied by \mathbf{T} and subsequently pre-multiplied by \mathbf{T}^{-1}, this results in the original coordinates because \mathbf{T}^{-1}\mathbf{T}=\mathbf{I} and multiplication with the identity matrix does not change anything (see transformations).

The general homogeneous transformation matrix \mathbf{T} for three-dimensional space consists of a 3-by-3 rotation matrix \mathbf{R} and a 3-by-1 translation vector \vec{\mathbf{p}} combined with the last row of the identity matrix:


\mathbf{T}=
\left[\begin{array}{ccc|c}
 &  &  &  \\ 
 & \mathbf{R} &  & \vec{\mathbf{p}}\\
 & & & \\ \hline
0 & 0 & 0 & 1
\end{array}\right]

As stated in the article about homogeneous coordinates, multiplication with \mathbf{T} is equivalent in cartesian coordinates to applying the rotation matrix \mathbf{R} first and then translating the coordinates by \vec{\mathbf{p}}:


\vec{\mathbf{q}}_1=
\mathbf{T} \cdot \vec{\mathbf{q}}_0 \equiv
\mathbf{R}\cdot \vec{\mathbf{q}}_0 + \vec{\mathbf{p}}

The equation above is now solved for \vec{\mathbf{q}}_1. Here the fact is used, that the inverse of 3-by-3 rotation matrices equals the transpose of the matrix:

\begin{align}
\vec{\mathbf{q}}_1&=\mathbf{R} \vec{\mathbf{q}}_0 + \vec{\mathbf{p}}  & &  \\
\vec{\mathbf{q}}_1-\vec{\mathbf{p}}&=\mathbf{R} \vec{\mathbf{q}}_0  & & \\
\mathbf{R}^{-1}(\vec{\mathbf{q}}_1-\vec{\mathbf{p}})&=\mathbf{R}^{-1}\mathbf{R} \vec{\mathbf{q}}_0  & & \\
\mathbf{R}^{T}(\vec{\mathbf{q}}_1-\vec{\mathbf{p}})&=\mathbf{R}^{T}\mathbf{R} \vec{\mathbf{q}}_0  & & \\
\mathbf{R}^{T}\vec{\mathbf{q}}_1-\mathbf{R}^{T}\vec{\mathbf{p}}&=\vec{\mathbf{q}}_0 \qquad\quad \rightarrow \qquad\quad \vec{\mathbf{q}}_0=&\underbrace{\mathbf{R}^{T}}&\vec{\mathbf{q}}_1+(\underbrace{-\mathbf{R}^{T}\vec{\mathbf{p}}})\\
&  &\mathbf{R}_i& \qquad\qquad \vec{\mathbf{p}}_i\\
\end{align}

So the inverse of a homogeneous transformation matrix is defined as:


\mathbf{T}^{-1}=
\left[\begin{array}{ccc|c}
 &  &  &  \\ 
 & \mathbf{R} &  & \vec{\mathbf{p}}\\
 & & & \\ \hline
0 & 0 & 0 & 1
\end{array}\right]^{-1}=
\left[\begin{array}{ccc|c}
 &  &  &  \\ 
 & \mathbf{R}_i &  & \vec{\mathbf{p}}_i\\
 & & & \\ \hline
0 & 0 & 0 & 1
\end{array}\right]=
\left[\begin{array}{ccc|c}
 &  &  &  \\ 
 & \mathbf{R}^T &  & -\mathbf{R}^T\vec{\mathbf{p}}\\
 & & & \\ \hline
0 & 0 & 0 & 1
\end{array}\right]