3D Motion

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\]


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\]


  • 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


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}\)