--- title: 3D Motion categories: lecture geometry: margin=2cm fontsize: 12pt --- # 3D Motion ## Rigid Body Motion + an object $O$ is a set of points $O\subset\mathbb{R}^3$ + Movement (or **displacement**) is a map $g:\mathbb{R}^3\to\mathbb{R}^3$ acting on all points in $O$. + Motion is a displacement $g(t)$ for every point $t$ in time - $g(t): \mathbb{R}^3\to\mathbb{R}^3; \mathbf{X}\mapsto g(t)(\mathbf{X})$ ## Euclidean Transformation + A rigid body does not change shape when it moves. + In particular, the distance between two points does not change $$|| \mathbf{X} - \mathbf{Y} || = ||g(\mathbf{X})-g(\mathbf{Y})||$$ If this identity is satisfied for all points $\mathbf{X},\mathbf{Y}$, we have a **Euclidean Transformation** and write $g\in E(3)$ The map $g$ induces a map $g_*$ on free vectors, $$g_*(v) = g(\mathbf{X}) - g(\mathbf{Y})\quad\text{where}\quad v = \mathbf{X}) -\mathbf{Y})$$ ## Special Euclidean Transformation + Consider mirroring: $[X_1,X_2,X_3]\mapsto[X_1,X_2,-X_3]$ + Euclidean transformation, but not a rigid body displacement + Rigid body motion preserves orientation, i.e. + For three points $\mathbf{X},\mathbf{Y},\mathbf{Z}$ + define vectors $u=\mathbf{Y}-\mathbf{X}$ and $v=\mathbf{Z}-\mathbf{X}$ + To preserve orientation we preserve the cross product $$g_*(u)\times g_*(v) = g_*(u\times v),\quad\forall u,v\in\mathbb{R}^3$$ ## Summary A **Special Euclidean Transformation** $g\in SE(3)$ satisfies $$\langle u,v\rangle = \langle g_*(u),g_*(v)\rangle$$ $$g_*(u)\times g_*(v) = g_*(u\times v),\quad\forall u,v\in\mathbb{R}^3$$ ## Translation + Vectors act on points $$v: x \mapsto x+v$$ $$[x_1,x_2,x_3]^\mathrm{T} + [v_1,v_2,v_3]^\mathrm{T} = [x_1+v_1,x_2+v_2,x_3+v_3]^\mathrm{T}$$ + The vector defines a **translation** + Translate object by translating every point in the object # Rotation ## Rotational Matrix + The Rotational Matrix is orthogonal: $R(t)\cdot R^\mathrm{T}(t)=I$ + Differentiation gives $$\dot R(t)R\mathrm{T}(t) + R(t)\dot R^\mathrm{T}=0 \Longrightarrow \dot R(t)R\mathrm{T}(t) = -(\dot R(t) R^\mathrm{T})^\mathrm{T} $$ + I.e. skew-symmetric $\dot R(t) = \hat\omega(t)R(t)$ for some $\omega$ + This gives a first-order approximation $R(t_0+dt)\approx I + \hat\omega(t_0)dt$ ## Matrix Exponential ODE: $\dot x(t) = \hat\omega x(t)$ $$x(t) = e^{\hat\omega t}x(0)$$ $$e^{\hat\omega t} = I + \hat\omega t + \frac{(\hat\omega t)^2}{2!} + \cdots \frac{(\hat\omega t)^n}{n!} + \cdots$$ + Assume $||\omega||=1$. $R(t)=e^{\hat\omega t}$ rotates by $t$ radians around the axis $\omega$ # 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 ## Homogenous Co-ordinats + Point $\textbf{X}=[X_1,X_2,X_3]^\mathrm{T}\in\mathbb{R}^3$ + Embed in $\mathbb{R}^4$ as $\textbf{\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 # Velocity Transformations # Quaternions **Reading** Appendix 2.A. May want to drop this.