Exponential Map for Rotations
This demo goes with Lecture 7. It demonstrates a visual example of Rodrigues’ formula for $SO(2)$. These concepts extend to $SO(3)$ but everything is harder to visualize. To emphasize the full extension, the math is written for $SO(3)$ with all rotations being restricted to +z, but the visualizations are limited to $SO(2)$.
1 Visualizing SO(2)
A rotation about $\hat z$ keeps everything in the plane, so we can draw the whole thing. The unit circle on the left is the Lie group \(SO(2)\), with every possible element $R \in SO(2)$ represented as a point on the unit circle. The straight line on the right, tangent to $SO(2)$ at $I$ is the Lie algebra $\mathfrak{so}(2)$, with the element $[\omega]_\times \in \mathfrak{so}(2)$ (equivalently, $[\omega]_\times = [\hat\omega]_\times \theta$). These tangent elements map velocities onto $SO(2)$ using the exponential map. You can see this by dragging the frame. Note that the tangent vector and the arc always have the same length, because that is what \(\exp\) does.
\([\omega]_\times=[\hat\omega]_\times\theta =\) 0.000.000.00 0.000.000.00 0.000.000.00 \(R =\) 1.000.000.00 0.001.000.00 0.000.001.00
\(\theta =\) 0.90 rad = 52°
Both matrices have a third row and column that never change, because \(\hat z\) does not move. Keep dragging past a full turn: \(\theta\) keeps growing but the point comes back round, so \(\theta\) and \(\theta + 2\pi\) give the same \(R\).
2 Using Rodrigues' Equation
The general form of Rodrigues' equation is given by the formula:
$$ R = e^{[\hat{\omega}]_{\times}\theta} = I + \sin(\theta)\,[\hat\omega]_\times + (1-\cos(\theta))\,[\hat\omega]_\times^2 $$
This formula explicitly maps elements on the Lie algebra $\mathfrak{so(2)}$ to the Lie group $SO(2)$. This formula is equivalent to the matrix exponential but can be computed easily by hand. The formula can also be interpreted as having the input of time (duration $\tau$), which is mathematically equivalent to the previous formula. This formula is:
$$ R = e^{[\omega]_{\times}\tau} = I + \sin(\|\omega\|\tau)\,\frac{[\hat\omega]_\times}{\|\omega\|} + (1-\cos(\|\omega\|\tau))\,\frac{[\hat\omega]_\times^2}{\|\omega\|} $$
You can demonstrate this mapping for yourself below by specifying either an angle or a speed and duration and then simulating the resulting motion:
from direction and angle
\(\hat\omega\,\theta =\) 0.000.001.00 \(\cdot\) 1.60 \(=\) 0.000.001.60
from speed and duration
\(\omega\,\tau = \|\omega\|\hat\omega\,\tau =\) 0.000.001.00 \(\cdot\) 1.60 \(=\) 0.000.001.60
swept so far: 0.00 rad of 1.60, elapsed: 0.00 s of 1.60 s
The rotation \(R\) shown here is computed with Rodrigues' equation.