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

Representations of 3D Motion

Changes from cf40246653f809c7cb08bac1bed6d1d82fd60625 to f0c4ca5be7f95647f943ac30e563d35b1873737a

---
title: Representations of 3D Motion
categories: lectures 3D mathematics
---

# Representation of Rotations

1. Rotation is represented by an orthogonal matrix $R$
2. Consider rotation over time, i.e. the rotational matrix
   is a function $R(t)$ of time.
   $$R(t)\cdot R^T(t)=I$$
3. Implicit derivation
   $$\dot R(t)\cdot R^T(t)+R(t)\cdot\dot R^T(t)=I$$
4. by transposing the product and moving one term across, we have
   $$\dot R(t)\cdot R^T(t) = -(\dot R(t)\cdot R^T(t)^T$$
5. This is a skew-symmetric matrix, hence
   $$\exists \vec{\omega}\in\mathbb{R}^3, \text{s.t.}
     \dot R^T(t)\cdot R^T(t) = \hat\omega(t)$$
5. Multiply by $R(t)$ to get
   $$\dot R^T(t) = \hat\omega(t)\cdot R(t)$$
6. If $R(t_0)=I$ as an initial condition, then $\dot R(t)=\hat\omega(t)$

Note $so(3)$ is the space of all skew-symmetric matrices.


# 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!