Grassia - Practical Parameterization of Rotations Using the Exponential Map Grassia's paper introduces a way of mapping a vector in 3-space to a corresponding rotation in SO(3) (special orthogonal 3-space 3x3 matrix) in order to compute, differentiate, and integrate rotations with three DOF (degrees of freedom) by encoding the angular velocity. The problem Grassia's exponential map attempts to solve is the "freely rotating body" problem using differential control and dynamics, and to do so in a way that is more robust and accurate when compared to using Euler angles or quaternions. To illustrate the benefits of the exponential map over other methods, Grassia explains the limitations of Euler angles and quaternions and explains how the exponential map gets around these pitfalls. The idea is to use the exponential map as an intermediate step in calculating information about a rotation by first using a log map to convert an orientation into a 3-vector describing the axis and magnitude of the 3-DOF rotation, and then converted back into a corresponding rotation after the vector has undergone any programmatic changes. The log map used for converting the orientation data to a vector was provided from work done by Hanotaux and Peroche. Conceptually, the paper does a good job explaining the role of the exponential map, but the mathematical proofs are not always straightforward.