PlanetPhysics/Direction Cosine Matrix to Euler 313 Angles

Starting with a direction cosine matrix (DCM), we need to determine the three Euler angles. The connection is made by comparing the DCM elements with the combined Euler 313 sequence. It is important to note that the 12 combinations of Euler angles for a given sequence can be found from a given DCM. The DCM matrix is

$$ DCM = \left[ \begin{matrix} A_{11} & A_{12} & A_{13} \\ A_{21} & A_{22} & A_{23} \\ A_{31} & A_{32} & A_{33} \end{matrix} \right] $$

The Euler 313 sequence is

$$ R_3(\psi)R_1(\theta)R_3(\phi) = \left[ \begin{matrix} c_{\psi} c_{\phi} - s_{\psi} s_{\phi} c_{\theta} & c_{\psi} s_{\phi} + s_{\psi} c_{\theta} c_{\phi} & s_{\psi} s_{\theta} \\ -s_{\psi} c_{\phi} - c_{\psi} s_{\phi} c_{\theta} & -s_{\psi} s_{\phi} + c_{\psi} c_{\theta} c_{\phi} & c_{\psi} s_{\theta} \\ s_{\theta} s_{\phi} & -s_{\theta} c_{\phi} & c_{\theta} \end{matrix} \right] $$

If we examine the element in coloum 3 row 3, then by inspection

$$A_{33} = cos(\theta)$$

Solving for $$\theta$$ yields

$$ \theta = cos^{-1}(A_{33}) $$

Care must now be taken when evaluating the inverse cosine. It is a multivalued function. Analytically, the convention is to choose the principle value such that

$$0 \le \theta \le \pi$$

If a numerical program is used, a function acos usually does this for us. The next step is to analyze the ratio $$\frac{A_{31}}{A_{32}}$$. Using these values from the Euler sequence we get

$$\frac{A_{31}}{A_{32}}= \frac{sin(\theta) sin(\phi)}{-sin(\theta) cos(\phi)}$$

Rearranging and using the tangent yields

$$tan(\phi) = \frac{A_{31}}{-A_{32}}$$

Solving the quadrant ambiguity caused by the inverse tangent is done by examining the signs of the numerator and denominator. Denoting y as the numerator and x as the denominator, then the quadrant is chosen by:

quadrant 1 $$ \left[ \begin{matrix} y & x \\ + & + \\ \end{matrix} \right] $$

so if x and y are both positive, then $$0 \le \phi \le \pi /2$$. Similarly for the other quadrant possibilities

quadrant 2 $$ \left[ \begin{matrix} y & x \\ + & - \\ \end{matrix} \right] $$

quadrant 3 $$ \left[ \begin{matrix} y & x \\ - & - \\ \end{matrix} \right] $$

quadrant 4 $$ \left[ \begin{matrix} y & x \\ - & + \\ \end{matrix} \right] $$

Of course, it is much simplier to use a calculator or numerical program that uses the atan2 function which will choose the principle value. In a similar fashion we can find the final Euler angle by looking at the ratio $$\frac{A_{13}}{A_{23}}$$ which gives the relation $$\frac{A_{13}}{A_{23}} = \frac{sin(\psi) sin(\theta)}{cos(\psi)sin(\theta)}$$

Canceling terms and rearrangeing gives us

$$\psi = tan^{-1}(\frac{A_{13}}{A_{23}})$$

which uses the same method to resolove quadrant ambiguity as above. To summarize, we will give the formulas for the conversion from a direction cosine matrix to the Euler 313 angles in Matlab syntax. Be careful how you implement this in other numerical programs. In Matlab it goes atan2(y,x) and in Mathematica it is ArcTan[x, y].

$$\phi = atan2(A_{31}, -A_{32})$$ $$\theta = acos(A_{33})$$ $$\psi = atan2(A_{13}, A_{23})$$