Revision d6891d33e94e5780d2d188aa45bb52713d344020 (click the page title to view the current version)
Changes from d6891d33e94e5780d2d188aa45bb52713d344020 to 16737ddd47409afcb85ddd15f9f233d3c8dcd976
---
title: Homogeneous Coordinates
categories: lectures 3D mathematics
geometry: margin=2cm
fontsize: 12pt
---
# Homogenous Co-ordinates
## Six degrees of Freedom
+ Translation - add $T=[y_1,y_2,y_3]$
+ Rotation - multiply by $R=\exp(\hat{[\omega_1,\omega_2,\omega_3]})$
+ $x\mapsto xR+T$ is affine, not linear
This is the same for motion and for change of basis
(rotate and shift the origin).
## 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\cdot\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!
## Motion as a function of time
## The group structure
$$
g =
\begin{bmatrix}
R & T\\
0 & 1
\end{bmatrix}
\in \mathrm{SE}(3)
$$
+ This is a group
+ motions can be applied sequentially
$$g_1\cdot g_2 =
\begin{bmatrix} R_1 & T_1\\ 0 & 1 \end{bmatrix}\cdot
\begin{bmatrix} R_2 & T_2\\ 0 & 1 \end{bmatrix}
=
\begin{bmatrix} R_1R_2 & R_1T_2+T_1\\ 0 & 1 \end{bmatrix}
\in \mathrm{SE}(3)
$$
$$g^{-1} =
\begin{bmatrix} R & T\\ 0 & 1 \end{bmatrix}^{-1}
=
\begin{bmatrix} R^T & -R^TT\\ 0 & 1 \end{bmatrix}
$$
# Canonical Exponential Co-ordinates
# Motion as a function of time
1. A homogeneous motion matrix
1. A homogeneous motion matrix as a function of time $t$
$$ g(t) = \begin{bmatrix} R(t) & T(t)\\ 0 & 1 \end{bmatrix} $$
2. We can differentiate, invert, and multiply to get
$$
\dot g(t)\cdot g^{-1}(t) =
\begin{bmatrix}
\dot R(t) R^T(t) & \dot T(t)- \dot R(t)R^T(t)T(t) \\
0 & 0 \end{bmatrix}
\in\mathbb{R}^{4\times4}
$$
3. $\dot R(t) R^T(t)$ is skew-symmetric, hence
3. $\dot R(t) R^T(t)$ is skew-symmetric as we saw in
[Representations of 3D Motion](), hence
$$
\dot g(t)\cdot g^{-1}(t) =
\begin{bmatrix}
\hat\omega & \dot T(t)- \dot R(t)R^T(t)T(t) \\
0 & 0 \end{bmatrix}
$$
for some $\omega\in\mathrm{so}(3)$
+ This can be seen by differentiation $R(t)R^TR(t)=I$
4. Write
$$
\begin{align}
\dot v(t)= \dot T(t)- \hat\omega(t)T(t) \\
\dot g(t)\cdot g^{-1}(t) =
\begin{bmatrix}
\hat\omega & \dot v(t) \\
0 & 0 \end{bmatrix}
\end{align}
$$
4. Call this matrix $\hat\xi(t)$
+ i.e. $\hat\xi(t) =\dot g(t)\cdot g^{-1}(t) $
+ $\hat\xi$ is the tangent vector along $g(t)$
+ the $4\times4$ matrix corresponding $\hat\xi$ is called a *twist*
+ set of all twists is called $se(3)$; the tangent space or Lie group of $SE(3)$
5. This give the differential equation
$$\dot g(t) = (\dot g(t) g^{-1}(t))g(t)$$
$$\dot g(t) = \hat\xi\cdot g(t)$$
6. If $\hat\xi$ is constant, we can integrate to solve the ODE
$$g(t) = e^{\hat\xi t}g(0)$$
+ we typically assume $g(0)=I$ as the initial condition
+ $v(t)$ is linear velocity
+ $\omega(t)$ as angular velocity