# Euler's angles to axis-angle conversion

Two widely used parametrizations for SO(3) are the axis-angle, which can be expressed by three parameters $$(\phi,\theta,\psi)$$ where $$\psi$$ is the angle of rotation around the axis defined by $$(\phi,\theta)$$, and the Euler's angles, which can be expressed by three parameters $$(\alpha,\beta,\gamma)$$ where $$\gamma$$ is the angle of rotation around the $$z$$ axis, $$\beta$$ around the $$y$$ axis and again $$\alpha$$ around $$z$$ (there are different equivalent descriptions of the Euler's angles, use whichever your prefer in the answer).

I know there is an isomorphism between the two parameterizations, but how can I find it?

• This is a change of basis, write down your Lie algebra generators for $\mathfrak{so}(3)$ for each case, and then find a change of basis matrix which transforms you from one to the other – Craig Jan 13 at 22:28

## 1 Answer

I could tell you how to find it, but the answer is a mess... I wonder why you'd need it. You are essentially asking a question on how to compose three rotations $$R_z (\alpha) R_x(\beta) R_z(\gamma)$$ in a suitable extrinsic Euler angle convention, which you could convert to the angle of your choice. In effect, you are asking to convert the matrices provided here as an axis-angle form.

I could illustrate the composition of two rotations by the celebrated Rodrigues (1840) half angle formula made routine by Gibbs, for the first, especially easy and instructive, step of your composition, and let you do the second step, which is messier, if so inclined.

How do you compose $$R_x(\beta) R_z(\gamma)$$? You can use the link provided, quaternions, and all that jazz, but a sentient student would opt for the modern, less direct, way: rather than fussing with the triplet (vector) representation of the rotation group, you could get the answer virtually by inspection in the faithful doublet representation, utilizing the neat explicit formulas of Pauli matrices for the rotation group composition law, $$e^{i\frac{\beta}{2}\sigma_x}e^{i\frac{\gamma}{2}\sigma_z}= (I \cos(\beta/2) +i \sin (\beta/2) ~ \sigma_x) (I \cos(\gamma/2) +i \sin (\gamma/2) ~ \sigma_z) \\ = I \cos(\beta/2)\cos (\gamma/2) +i \bigl ( \sin (\beta/2)\cos(\gamma/2)~ \sigma_x + \cos (\beta/2)\sin(\gamma/2)~ \sigma_z + \sin (\beta/2)\sin(\gamma/2)~ \sigma_y \bigr )\\ = I\cos(\theta/2) +i\sin (\theta/2)~~ \hat n\cdot \vec \sigma = e^{i(\theta/2) \hat n\cdot \vec \sigma},$$ where $$\cos(\theta/2)= \cos(\beta/2)\cos (\gamma/2), \leadsto \\ \hat n= \bigl ( \sin (\beta/2)\cos(\gamma/2)~ \hat x + \cos (\beta/2)\sin(\gamma/2)~ \hat z + \sin (\beta/2)\sin(\gamma/2)~ \hat y \bigr )/\sin(\theta/2),$$ that is, inverting the cosine, one finds the new angle of rotation θ around the new axis $$\hat n$$ thus computed. It has to work, by the unimodularity of the product of unimodular factors. Neat, huh?

• Thank you for the doublet representation idea, it really simplifies the calculations. I ended up using Mathematica and some formulas to go Euler's angles > rotation 3x3 matrix > axis-angle. I needed it because I wanted to calculate the invariant measure in the axis-angle parameters, knowing that for Euler's angles is $\sin\beta d\alpha d \beta d\gamma$, by writing the axis-angle parameters as functions of $\alpha, \beta,\gamma$. – Mauro Giliberti Jan 14 at 18:05