Revision cf40246653f809c7cb08bac1bed6d1d82fd60625 (click the page title to view the current version)

Representations of 3D Motion

Representation of Rotations

Homogenous Co-ordinates

Six degrees of Freedom

  • Translation - add \(T=[y_1,y_2,y_3]\)
  • Rotation - multiply by \(\exp(\hat{[\omega_1,\omega_2,\omega_3]})\)
  • \(x\mapsto xR+T\) is affine, not linear

Points in Homogenous Co-ordinates

  • Point \(\textbf{X}=[X_1,X_2,X_3]^\mathrm{T}\in\mathbb{R}^3\)
  • Embed in \(\mathbb{R}^4\) as \(\mathbf{\tilde X}=[X_1,X_2,X_3,1]^\mathrm{T}\in\mathbb{R}^4\)
  • Vector \(\vec{pq}\) is represented as \[\mathbf{\tilde X}(q)-\mathbf{\tilde X}(p) = \begin{bmatrix} \mathbf{ X}(q) \\ 1 \end{bmatrix} - \begin{bmatrix} \mathbf{ X}(p) \\ 1 \end{bmatrix} = \begin{bmatrix} \mathbf{X}(q) - \mathbf{X}(p) \\ 0 \end{bmatrix}\]
  • In homogenous co-ordinates,
    • points have 1 in last position
    • vectors have 0 in last position
  • Arithmetics
    • Point + Point is undefined
    • Vector + Vector is a Vector
    • Point + Vector is a Point

Rotation

Let \(R\) be a \(3\times3\) rotation matrix.

\[ R\cot\vec{x}= R \cdot \begin{bmatrix} x\\y\\z \end{bmatrix} = \begin{bmatrix} x'\\y'\\z' \end{bmatrix} \]

\[ \begin{bmatrix} R & 0 \\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x\\y\\z\\1 \end{bmatrix} = \begin{bmatrix} x'\\y'\\z'\\1 \end{bmatrix} \]

Arbitrary motion

What happens if we change some of the zeroes?

\[ \begin{bmatrix} R & \vec{t} \\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x\\y\\z\\1 \end{bmatrix} = \begin{bmatrix} x'\\y'\\z'\\0 \end{bmatrix} + \begin{bmatrix} \vec{t}\\1 \end{bmatrix} =R\vec{x}+\vec{t} \]

We have rotated and translated!