--- 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! ## 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} $$ # Motion as a function of time 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 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 \\ 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) = \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