# Solving for Euler Angles

I would like to determine Euler angles according to the following example.

My example:

I have the three vectors in an original set of axes:

r1e = {-0.517853, 0., -0.759239}
r2e = {-0.517853, 0., 0.759239}
r3e = {0.0647316, 0., 0.}


And after expressing them in a new reference frame they obtain the following components:

rt1e={0.310733, -0.358839, -0.786917}
rt2e={0.690333, 0.298661, 0.527983}
rt3e={-0.0625667, 0.00376111, 0.0161833}


In reality, I know the Euler angles to be $$(30,60,120)$$ degrees. How can I get Mathetmatica to give me this?

• Have you tried EulerAngles? Commented Jan 6, 2019 at 18:09
• That command won't work, as the rotation matrix itself is not known. Only the two vectors. Commented Jan 6, 2019 at 18:10
• In general, a rotation matrix is not uniquely defined by the action on a single vector... Commented Jan 6, 2019 at 18:12
• What I tried to say: If you prescribe a pair $u$ and $v$ of same length $\neq 0$ in $\mathbb{R}^3$, then there will be a one-parameter family of rotations (and thus a one-parameter family of Euler angles) that map $u$ to $v$. So, it is as it is: Your problem is underdetermined. Commented Jan 6, 2019 at 18:18
• "I actually have 3 vectors" - by this, do you mean the three vectors before and after being transformed by some rotation matrix? If so, please look at FindGeometricTransform[], which can be used with EulerAngles[]. Commented Jan 6, 2019 at 18:29

As noted, you can use FindGeometricTransform[] in tandem with EulerAngles[]:
r = {{-0.517853, 0., -0.759239}, {-0.517853, 0., 0.759239}, {0.0647316, 0., 0.}};
{"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 1, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0}