Revision 2b7c90d71658551f4ac59b80f0bd00af0492310c (click the page title to view the current version)

3D Motion

Changes from 2b7c90d71658551f4ac59b80f0bd00af0492310c to current

---
title: 3D Motion
categories: lecture
geometry: margin=2cm
fontsize: 12pt
---

# Velocity Transformations
This is a recap of two previous talks

+ [Change of Basis]() from [3D Modelling]()
+ [Representations of 3D Motion]() from
  [3D Objects in Python]()

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

# Additional material

## Velocity Transformations

**Adjoint Map**  
$\mathrm{ad}_g: \mathrm{se}(3)\to\mathrm{se}(3);\quad \hat\xi\mapsto g\hat\xi g^{-1}$