11
$\begingroup$

I have two 3D rotations about the origin, represented as $3 \times 3$ orthogonal matrices $M_1$ and $M_2$ (specified by numerical entries), and I would like to interpolate (and compute) a continuous sequence of rotations between $M_1$ and $M_2$. Ideally this interpolation would follow a geodesic on SO($3$).

Assuming this is well-known, (Q1): I would appreciate a pointer to geodesics on SO($3$), especially suited to my computational task.

(Q2) [added]. I wonder if the geodesics identified by Benjamin, Paul Siegel, and Francois Ziegler, which effectively answer Q1, can be viewed as equivalent to following a great-circle arc on $S^3$ between unit quaternions representing the two rotations?

Update (25Jan2019): A paper was just published on this topic:

Novelia, Alyssa, and Oliver M. O’Reilly. "On geodesics of the rotation group $SO(3)$." Regular and Chaotic Dynamics 20, no. 6 (2015): 729-738. Springer link.

Update (26Jan2019): The paper above raises the interesting question whether saccadic motions of the eye follow $SO(3)$ geodesics, an issue possibly dating back to Helmholtz's investigations in the late $19^{\mathrm{th}}$ century:

von Helmholtz, H., "Über die normalen Bewegungen des menschlichen Auges," Archiv für Ophthalmologie, 1863, Vol. 9, No. 2, pp. 153–214; DOI: 10.1007/BF02720895.

$\endgroup$
8
  • 5
    $\begingroup$ The geodesics on $SO(3)$ depend on your choice of metric. There is a canonical choice, up to a constant multiple, formed by the right/left translation of the Killing form from the tangent space at the identity (i.e. the Lie algebra $\mathfrak{so}(3)$). $\endgroup$
    – Benjamin
    Aug 26, 2015 at 23:48
  • 11
    $\begingroup$ Isn't the geodesic from $I$ to $A$ just $exp(tA)$ (which you can compute explicitly by diagonalising)? If so, you get the rest by left multiplication. $\endgroup$ Aug 26, 2015 at 23:48
  • 3
    $\begingroup$ (My comment assumes we use the metric coming from the Killing form.) $\endgroup$ Aug 26, 2015 at 23:49
  • 2
    $\begingroup$ Yes, quaternions are way to go. I'm sure you'll appreciate the beauty of exposition at acko.net/blog/animate-your-way-to-glory-pt2 Beware, it is very elementary and only tangentially related to your question. $\endgroup$ Aug 27, 2015 at 0:24
  • 2
    $\begingroup$ And, if you identify SO(3) with projective space $RP^3$, geodesics are straight (projective) lines. The rotation around unit vector u with angle $\alpha$ is mapped to $\tan(\alpha/2)u$. Half-turns are at infinity, and must be treated specially. $\endgroup$
    – BS.
    Jan 25, 2019 at 13:59

2 Answers 2

9
$\begingroup$

If you are assuming the use of the bi-invariant metric, then the geodesics are right/left translations of the one parameter sub-groups $O(t)=O(0) \exp(tG)$ where $G \in \mathfrak{so}(3)$ (i.e. it is anti-symmetric and traceless) and $O(0)\in SO(3)$.

The curve you want will have $O(0)=M_1$ and thus be of the form $O(t) = M_1 \exp(tG)$ with $G=\log(M_1^{-1}M_2)$ (the matrix log). You need to choose a specific matrix log as generically there will be many, you many wish to read about principal matrix logs if you are going to do any numerical computations. This is what will likely come out of Matlab etc. The curve is parameterised by $t \in [0,1]$, it is smooth, is a geodesic of the aforementioned metric and has the end points you hoped for.

$\endgroup$
1
  • 3
    $\begingroup$ principle -> principal $\endgroup$
    – David Roberts
    Aug 27, 2015 at 0:57
9
$\begingroup$

The geodesics (of the unique connection invariant under left and right translations and inversion) are the translates of one-parameter subgroups: see Helgason, exerc. 6(iii), p. 148. So given your $M_1$ and $M_2$, find (by surjectiveness of $\exp$) a $Z\in\mathfrak{so}(3)$ such that $\exp(Z)=M_1^{-1}M_2$, and put $g(t) = M_1\exp(tZ)$.

$\endgroup$
3
  • 3
    $\begingroup$ Sorry, I didn't realize others had posted essentially the same answer (or comment) while I was typing this one. And Re: Q2 yes Joseph, these geodesics are the projections of great circles on $S^3$. $\endgroup$ Aug 27, 2015 at 0:17
  • 1
    $\begingroup$ Sorry, I also did not realise. $\endgroup$
    – Benjamin
    Aug 27, 2015 at 0:23
  • 1
    $\begingroup$ @JosephO'Rourke Re: your computational task (finding $Z$), there are some good remarks in Wikipedia. $\endgroup$ Aug 27, 2015 at 1:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.