3.1 Representation

The group of rigid transformations in 3D space, $ \mathrm{SE}(3)$, is well represented by linear transformations on homogeneous four-vectors:


$\displaystyle \mathbf{R}$ $\displaystyle \in$ $\displaystyle \mathrm{SO}(3),\:\mathbf{t}\in\mathbb{R}^{3}$ (50)
$\displaystyle C$ $\displaystyle =$ $\displaystyle \left(\begin{array}{c\vert c}
\mathbf{R} & \mathbf{t}\\
\hline \mathbf{0} & 1
\end{array}\right)\in\mathrm{SE}(3)$ (51)

Note that, in an implementation, only $ \mathbf{R}$ and $ \mathbf{t}$ need to be stored. The remaining matrix structure can be implicitly imposed.

This representation, as in $ \mathrm{SO}(3)$, means that transformation composition and inversion are coincident with matrix multiplication and inversion:


$\displaystyle C_{1},C_{2}$ $\displaystyle \in$ $\displaystyle \mathrm{SE}(3)$ (52)
$\displaystyle C_{1}\cdot C_{2}$ $\displaystyle =$ $\displaystyle \left(\begin{array}{c\vert c}
\mathbf{R}_{1} & \mathbf{t}_{1}\\
...
... c}
\mathbf{R}_{2} & \mathbf{t}_{2}\\
\hline \mathbf{0} & 1
\end{array}\right)$ (53)
  $\displaystyle =$ $\displaystyle \left(\begin{array}{c\vert c}
\mathbf{R}_{1}\mathbf{R}_{2} & \mat...
...R}_{1}\mathbf{t}_{2}+\mathbf{t}_{1}\\
\hline \mathbf{0} & 1
\end{array}\right)$ (54)
$\displaystyle C_{1}^{-1}$ $\displaystyle =$ $\displaystyle \left(\begin{array}{c\vert c}
\mathbf{R}_{1}^{T} & -\mathbf{R}_{1}^{T}\mathbf{t}\\
\hline \mathbf{0} & 1
\end{array}\right)$ (55)

The matrix representation also makes the group action on 3D points and vectors clear:


$\displaystyle \mathbf{x}$ $\displaystyle =$ $\displaystyle \left(\begin{array}{cccc}
x & y & z & w\end{array}\right)^{T}\in\...
...bb{RP}^{3}\quad(\lambda\mathbf{x}\simeq\mathbf{x}\:\forall\lambda\in\mathbb{R})$  
$\displaystyle C\cdot\mathbf{x}$ $\displaystyle =$ $\displaystyle \left(\begin{array}{c\vert c}
\mathbf{R} & \mathbf{t}\\
\hline \mathbf{0} & 1
\end{array}\right)\cdot\mathbf{x}$ (56)
  $\displaystyle =$ $\displaystyle \left(\begin{array}{c}
\mathbf{R}\left(\begin{array}{ccc}
x & y & z\end{array}\right)^{T}+w\mathbf{t}\\
w
\end{array}\right)$ (57)

Typically, $ w=1$, so that $ \mathbf{x}$ is a Cartesian point. The action by matrix-vector multiplication corresponds to first rotating $ \mathbf{x}$ and then translating it. For direction vectors, encoded with $ w=0,$ translation is ignored.

The Lie algebra $ \mathrm{se}(3)$ is the set of $ 4\times4$ matrices corresponding to differential translations and rotations (as in $ \mathrm{so}(3)$). There are thus six generators of the algebra:

\begin{displaymath}\begin{array}{ccc} G_{1}=\left(\begin{array}{cccc} 0 & 0 & 0 ...
...\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{array}\right) \end{array}\end{displaymath} (58)

An element of $ \mathrm{se}(3)$ is then represented by multiples of the generators:


$\displaystyle \left(\begin{array}{cc}
\mathbf{u} & \boldsymbol{\omega}\end{array}\right)^{T}$ $\displaystyle \in$ $\displaystyle \mathbb{R}^{6}$ (59)
$\displaystyle \mathbf{u}_{1}G_{1}+\mathbf{u}_{2}G_{2}+\mathbf{u}_{3}G_{3}+\boldsymbol{\omega}_{1}G_{4}+\boldsymbol{\omega}_{2}G_{5}+\boldsymbol{\omega}_{3}G_{6}$ $\displaystyle \in$ $\displaystyle \mathrm{se}(3)$ (60)

For convenience, we write $ \left(\begin{array}{cc}
\mathbf{u} & \boldsymbol{\omega}\end{array}\right)^{T}\in\mathrm{se}(3)$, with multiplication against the generators implied.

Ethan Eade 2012-02-16