Let's say I have a fixed base body $B_0$ with a reference frame $X_0Y_0Z_0$, and two other bodies, $B_1$ and $B_2$, rotated arbitrarily with respect to this base body. Coordinate systems fixed to $B_1$ and $B_2$ are $X_1Y_1Z_1$ and $X_2Y_2Z_2$ respectively.

Now, I know these two sets of Euler angles:

  • for $B_1$ with respect to $B_0$, and
  • for $B_2$ with respect to $B_1$

Now, my question is how to find the Euler Angles of $B_2$ w.r.t. $B_0$?

A natural procedure is to first find the Rotation Matrices for $B_0$ to $B_1$ (i.e. $[R]_0^1$) and $B_1$ to $B_2$ (i.e. $[R]_1^2$) and then multiply them to get the Rotation Matrix for $B_0$ to $B_2$ (i.e. $[R]_0^2$). Then, using $[R]_0^2$, we can get the Euler Angles.

Now, my main question is this: Is it possible to directly find the Euler angles for $B_2$ w.r.t. $B_0$? I do understand that Euler Angles can't be added or subtracted as they are not vectors, so a direct method would not be possible. But if there is some other easier method for the same which doesn't involve these matrix calculations?


1 Answer 1


For high-performance graphics, where this thing has to be done all the time, the most common way to do these sorts of rotations is to store quaternions rather than Euler angles. You can convert between them with these techniques and then use them do to spatial rotations,

Quaternions are not the simplest way to go but realistically, it's probably not going to get significantly more simple than that.

For example, it's common in spinor theory to store a "null direction" by taking a vector $(x, y, z)$ with $r = \sqrt{x^2 + y^2 + z^2}$ and producing the 2x2 Hermitian matrix with determinant 0:$$ V = \left[ \begin{array}{cc} r + z & x + i y \\ x - i y & r - z \end{array} \right].$$ Since it has zero determinant it must factor into the form $$V = v ~ v^\dagger = \left[ \begin{array}{c} \alpha \\ \beta \end{array}\right] ~ \left[ \begin{array}{cc} \alpha^* & \beta^* \end{array}\right] $$ which gives you, like quaternions, 4 real numbers -- but in the form of 2 complex numbers $(\alpha, \beta)$. Of these two complex parameters, $\alpha/\beta = (x + i y)/(r - z)$ is the stereographic projection of $(x, y, z)$ onto the complex plane, so it contains pitch and yaw directly. Roll probably needs to be added into the choice of the point that comes in, perhaps by encoding it in $r$.

Given two spinors $(\alpha, \beta)$ and $(\gamma, \delta)$, there is a coordinate-independent sum $(\alpha + \gamma, \beta + \delta)$ and a coordinate-independent complex product $\alpha \beta - \gamma \delta$; you'd have to figure out what those look like physically and then you'd be able to compose two rotations. It probably works out to be a variant of the quaternion mathematics, though, since quaternions are known to have an encoding in $\mathbb C^2$, which is what $(\alpha, \beta)$ is.

  • 1
    $\begingroup$ @shivams I added a note about maybe doing it with spinors, too. $\endgroup$
    – CR Drost
    Jun 18, 2015 at 16:54

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.