[Physics] formula for the rotation vector in terms of the angular velocity vector

angular velocityrigid-body-dynamicsrotationrotational-dynamicsrotational-kinematics

Euler's theorem of rotations states that for any rigid body motion with one point fixed is equivalent to a rotation about some axis passing through that fixed point. So let's consider a rigid body with one point fixed, and for any time $t$ let $\vec{\alpha}(t)$ denote the "rotation vector" of the rotation corresponding to the rigid body's motion between time $t_0$ and time $t$. For those who don't know, the rotation vector of a rotation is a vector whose magnitude is equal to the angle of the rotation and which points along the axis of the rotation; see this Wikipedia article.

Now due to the non-commutative nature of rotations, the angular velocity $\vec{\omega}(t)$ does not in general equal the time derivative of $\vec{\alpha}(t)$ as one might intuitively expect. The relationship between the two is considerably more complicated: $$ \vec{\omega}= \dot{\vec{\alpha}} – \frac{1 – \cos \alpha}{\alpha^2} \left(\vec{\alpha} \times \dot{\vec{\alpha}}\right) + \frac{\alpha – \sin \alpha}{\alpha^3} \left(\vec{\alpha} \times \left(\vec{\alpha} \times \dot{\vec{\alpha}}\right)\right)\, $$

Now this is a formula for the angular velocity vector in terms of the rotation vector and its time derivative. But my question is, is there a formula for the rotation vector in terms of the angular velocity vector? That is to say, if you knew what $\vec{\omega}(t)$ was for all times $t$, is it possible to calculate what $\vec{\alpha}(t)$ for any given value value of $t$.

If rotations were commutative, of course, you could just integrate $\vec{\omega}(t)$ from $t_0$ to $t$. But they aren't, so something more complicated may be required. One thought I had was that in my question and answer here I gave the formula for the composition of two rotation vectors. So what you could do is for each infinitesimal time interval $[t,t+\mathrm dt]$, you could take the rotation vector of the rigid body's motion during that time interval, which is given by $\vec{\omega}(t)~\mathrm dt$ (as you can see here). And then in principle you could compose all those infinitely many $\vec{\omega}(t)~\mathrm dt$'s together. But does anyone know how that would work?

EDIT: To be clear, I want an explicit expression for the rotation vector in terms of the angular velocity vector which makes no reference to matrices. If one wanted to use matrices, one could convert the angular velocity vector to a skew-symmetric matrix, use the time-ordered exponential to get the rotation matrix, use the log map to get a skew-symmetric matrix corresponding to $\alpha$, and then convert that to a rotation vector. But that's not the sort of thing I'm looking for; I want a formula entirely in terms of vector operations.

Best Answer

I'll try to give here a very partial answer to the question. Not sure whether it is interesting in itself, but it might provide a hint for further development. Possibly its place would be within a comment, but comments are limited in length and it wouldn't fit.

Let's define $\alpha (t_0,t)$ as the $\alpha (t)$ from the question related to the given $t_0$. We identify the rotation vector with the rotation itself. For $t_i = t_0 + i\ dt$ and $t = t_0 + n\ dt$, we have by simple composition of successive rotations $$\alpha (t_0,t) = \prod_{i=n-1}^{0} \alpha (t_i,t_{i+1}).$$ We know from this question/answer that $\partial_2 \alpha (t,t) = \omega(t)$ for all $t$. Using $\alpha (t,t+dt) = I+\partial_2 \alpha (t,t)\ dt + o(dt) = I+\omega(t)\ dt + o(dt)$, we have $$\alpha (t_0,t) = \prod_{i=n-1}^{0} I+\omega(t_i)\ dt + o(dt).$$ This provides by the way a numerical method expressing $\alpha$ in terms of $\omega$.

In the very special case where all these rotations commute (example of common axis), the limit is an exponential: taking the log and the limit when $dt \to 0$, we have $$\log (\alpha (t_0,t)) = \sum_{i=n-1}^{0} \omega(t_i)\ dt + o(dt) \to \int_{t_0}^{t} \omega(s) \ ds,$$ hence $$\alpha (t_0,t) = \exp \left( \int_{t_0}^{t} \omega(s) \ ds \right).$$

In the general non commutative case, the log will involve Lie brackets starting with $dt^2[\omega(t_i),\ \omega(t_j)]$ (cf. Dynkin's formula), and some more courage seems required.

EDIT: according to a comment below from Keshav Srinivasan, the expression above becomes in the general non commutative case $$\alpha (t_0,t) = \operatorname{OE}[\omega](t_0,t)= \mathcal{T} \left\{e^{\int_{t_0}^{t} \omega(s) \, ds}\right\},$$ see Ordered exponential for the definition of $\operatorname{OE}[\omega](t)$. Though this is not an exact answer to the question, as it involves rotation matrices instead of the required rotation vectors.

Related Question