Given two rotation matrices A and B (rotated from the same initial frame), how can I find the rotation matrix that represents the change in rotation from A to B? (I actually want to find the Euler axis and angle that represents that change in rotation.)

My one idea seems too involved: Convert A and B into their equivalent Euler angles, find the difference in Euler angles, convert the difference back into a rotation matrix, and then convert the new rotation matrix into Euler axis and angle.

Thanks for the help!

  • 6
    $\begingroup$ $BA^T$ isn't what you're looking for? $\endgroup$
    – user7530
    Dec 1 '11 at 10:28
  • 2
    $\begingroup$ You cannot add or subtract Euler angles to compose rotations. $\endgroup$
    – Tpofofn
    Mar 31 '12 at 18:15

Background: It is very convenient to use the following notation:

$\mathtt R_{UV}$ is a rotation matrix which transform points from reference frame $V$ into the reference frame $U$. Thus: $\mathbf x_U = \mathtt R_{UV} \mathbf x_V$. The inverse rotation is $\mathtt R_{VU} = \mathtt R_{UV}^{-1}=\mathtt R_{UV}^\top$.

Lets, call the initial frame $O$. I assume you mean with "rotated from the same initial frame" a change in the observer frame/passive transformation (http://en.wikipedia.org/wiki/Active_and_passive_transformation).

Thus, you have the rotation matrices $\mathtt R_{OA}$ and $\mathtt R_{OB}$ (which describe the motion of the observer from $O$ to $A$/$B$, or in other words maps points from $A$/$B$ to $O$). Now, I assume you are interested in $\mathtt R_{AB} = \mathtt R_{AO}\mathtt R_{OB} = \mathtt R_{OA}^\top\mathtt R_{OB}$.

Finally, convert $\mathtt R_{AB}$ into axis-angle...

(In case you have $\mathtt R_{AO}$ and $\mathtt R_{BO}$ and want to calculate $\mathtt R_{BA}$ , you get $\mathtt R_{BA}=\mathtt R_{BO}\mathtt R_{AO}^\top$.)

  • $\begingroup$ How does the derivation for the active transformation case differ from the passive one? $\endgroup$ Nov 13 '15 at 19:56
  • 1
    $\begingroup$ $R_{ab}$ vs $R_{ba}$... $\endgroup$
    – B0rk4
    Mar 20 '17 at 4:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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