Inverse of a rigid transformation

14.6k Views Asked by At

I would be grateful for any help with the steps required to complete this calculation. You may assume that I have some experience with matrices from before, but I am obviously no master!

So we have a transformation between the frame $O$ and $O'$. It's a rigid transformation so it shouldn't deform the object. Supposedly first you align the axes by rotating the frame $O$ around $x$, then translate the frame $O$ to $O'$ - and finally align the two coordinate frames. I've seen the problem in practice, but I struggle to understand the problem when I'm supposed to express it as a function of the rotation matrix.

enter image description here

I've found it difficult to find documentation on this online, any good resources relevant to this question are gladly accepted!

1

There are 1 best solutions below

2
On

This looks like a homework question. Because, there is not other way to represent the inverse of the transformation without using the provided rotation matrix and translation vector.

I guess the person who asked the question would like you to see that the form of the inverse looks "nice" because the last row of the transformation ins [0, 0, 0, 1]

You could derive this by hand for a generic 4x4 matrix. See here for a formula.

Another way to derive this is to go to first principles. The inverse of a matrix $A$ is a matrix $B$ such that $AB=I$.

Let us look at the rotation part. Rotations are members of the Special Orthogonal group $SO(3)$ and have the property that for $R\in SO(3)$, and $det(R)=+1$ $R^{-1} = R^T$.

Look at a rigid transformation with rotation only, i.e.

$\begin{pmatrix}R & 0 \\ 0^T & 1\end{pmatrix}$, its inverse is:

$\begin{pmatrix}R^T & 0\\ 0^T & 1\end{pmatrix}$ because:

$\begin{pmatrix} R & 0 \\ 0^T & 1 \end{pmatrix} \begin{pmatrix}R^T & 0\\ 0^T & 1\end{pmatrix} = \begin{pmatrix} RR^T & 0 \\ 0^T & 1 \end{pmatrix} = \begin{pmatrix}I & 0\\ 0^T & 1 \end{pmatrix} = I $

Now, if we have a translation vector you should be able to see that the inverse is given by: $\begin{pmatrix} R^T & -R^Tt\\ 0^T & 1 \end{pmatrix}.$

Another way of deriving this is to forget about the matrix form and look at the effect of a rigid-body transformation on $3$D point. Let $Y = RX + t$ be a transformed point with rotation matrix $R$ and translation vector $t$. The inverse transform is a rotation matrix and translation vector such that we get back the point $X$, i.e.: $X = R^T(Y - t) = R^TY - R^T t$. Hence, the inverse rotation is simply $R^T$ and the inverse translation is $-R^T t$. Writing this in homogeneous coordinates, the inverse transform is: $T^{-1} = \begin{pmatrix}R^T & -R^T t\\ 0^T & 1\end{pmatrix}$