Doing a change of basis in homogeneous coordinates

442 Views Asked by At

Let $Q$ be a rotation matrix $b$ a translation vector and $a$ a vector, which we want to transform.

A rigid body rotation is done as follows: $$a_n = Qa +b$$ Now my first question is: If we instead want to do a change of basis with both a rotation and a translation, do we have to do: $$ a' = Q^Ta - Q^Tb = Q^T ( a- b ) $$ ?

Which first does a change of basis of $a$ and then substracts $b$ which is also in the new basis with $Q^Tb$.

Now if we do everything in homogeneous coordinates, then a rigid body translation works as follows: $$ \begin{bmatrix} a_n \\ 1 \end{bmatrix} = \begin{bmatrix} Q & b \\ 0 & 1 \end{bmatrix} \begin{bmatrix} a \\ 1 \end{bmatrix} $$

Now if we want to do a change of basis in homogeneous coordinates, do we analogously have to do: $$ \begin{bmatrix} a \\ 1 \end{bmatrix}' = \begin{bmatrix} Q^T & - Q^Tb \\ 0 & 1 \end{bmatrix} \begin{bmatrix} a \\ 1 \end{bmatrix} $$ ?

Did I get anything wrong?