--- title: Representations of 3D Motion categories: lectures 3D mathematics --- # Representation of Rotations Consider what happens when an object rotates continuously over time, i.e. the rotational matrix is a function $R(t)$ of time. ## The derivative 1. Rotation is represented by an orthogonal matrix $R$ $$R(t)\cdot R^T(t)=I$$ 2. Implicit derivation $$\dot R(t)\cdot R^T(t)+R(t)\cdot\dot R^T(t)=I$$ 3. by transposing the product and moving one term across, we have $$\dot R(t)\cdot R^T(t) = -(\dot R(t)\cdot R^T(t))^T$$ 4. This is a skew-symmetric matrix, hence $$\exists \vec{\omega}\in\mathbb{R}^3, \text{s.t.} \dot R^T(t)\cdot R^T(t) = \hat\omega(t)$$ 5. Multiply by $R(t)$ to get $$\dot R^T(t) = \hat\omega(t)\cdot R(t)$$ 6. If $R(t_0)=I$ as an initial condition, then $\dot R(t)=\hat\omega(t)$ Note $so(3)$ is the space of all skew-symmetric matrices. ## The differential equation Let $x(t)$ be a point rotated over time. Assume that $\omega$ is constant. 1. **ODE:** $$\dot x(t) = \hat\omega x(t), \quad x(t)\in\mathbb{R}^3$$ 2. Solution: $$x(t) = e^{\hat\omega t} x(0)$$ 3. where $$e^{\hat\omega t} = I + \sum_{i=1}^\infty \frac{(\hat\omega )^i}{i!}$$ 4. The rotational matrix $$R(t)=e^{\hat\omega t}$$ signifies a rotation around the axis $\omega$ by $t$ radians. $$\exp : \mathrm{so}(3)\to\mathrm{SO}(3); \hat\omega\mapsto e^{\hat\omega}$$ For any $R$, such an $\hat\omega$ can be found, not necessarily unique. Rotation is obviously periodic. A rotation by $2\pi$ is back to start. # 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 ## 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\cot\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!