Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Euler angles
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Angles of a given frame== [[Image:EulerProjections.svg|right|thumb|200px|Projections of ''Z'' vector]] [[Image:EulerProjections2.svg|right|thumb|200px|Projections of ''Y'' vector]] A common problem is to find the Euler angles of a given frame. The fastest way to get them is to write the three given vectors as columns of a matrix and compare it with the expression of the theoretical matrix (see later table of matrices). Hence the three Euler Angles can be calculated. Nevertheless, the same result can be reached avoiding matrix algebra and using only elemental geometry. Here we present the results for the two most commonly used conventions: ''ZXZ'' for proper Euler angles and ''ZYX'' for Tait–Bryan. Notice that any other convention can be obtained just changing the name of the axes. ===Proper Euler angles=== Assuming a frame with [[unit vector]]s (''X'', ''Y'', ''Z'') given by their coordinates as in the main diagram, it can be seen that: :<math>\cos (\beta) = Z_3.</math> And, since :<math>\sin^2 x = 1 - \cos^2 x,</math> for <math> 0<x<\pi </math> we have :<math>\sin (\beta) = \sqrt {1 - Z_3^2}.</math> As <math>Z_2</math> is the double projection of a unitary vector, :<math>\cos(\alpha) \cdot \sin(\beta) = -Z_2,</math> :<math>\cos(\alpha) = -Z_2 / \sqrt{1 - Z_3^2}.</math> There is a similar construction for <math>Y_3</math>, projecting it first over the plane defined by the axis ''z'' and the line of nodes. As the angle between the planes is <math>\pi/2 - \beta</math> and <math>\cos(\pi/2 - \beta) = \sin(\beta)</math>, this leads to: :<math>\sin(\beta) \cdot \cos(\gamma) = Y_3,</math> :<math>\cos(\gamma) = Y_3 / \sqrt{1 - Z_3^2},</math> and finally, using the [[inverse trigonometric functions|inverse cosine]] function, :<math>\alpha = \arccos\left(-Z_2 / \sqrt{1 - Z_3^2}\right),</math> :<math>\beta = \arccos\left(Z_3\right),</math> :<math>\gamma = \arccos\left(Y_3 / \sqrt{1 - Z_3^2}\right).</math> ===Tait–Bryan angles=== [[File:Projections_of_Tait-Bryan_angles.svg|thumb|right|Projections of ''x''-axis after three Tait–Bryan rotations. Notice that theta is a negative rotation around the axis ''y''′.]] Assuming a frame with [[unit vector]]s (''X'', ''Y'', ''Z'') given by their coordinates as in this new diagram (notice that the angle theta is negative), it can be seen that: :<math>\sin (\theta) = -X_3</math> As before, :<math>\cos^2 x = 1 - \sin^2 x,</math> for <math> -\pi/2<x<\pi/2 </math> we have :<math>\cos (\theta) = \sqrt {1 - X_3^2}.</math> in a way analogous to the former one: :<math>\sin(\psi) = X_2 / \sqrt{1 - X_3^2}.</math> :<math>\sin(\phi) = Y_3 / \sqrt{1 - X_3^2}.</math> Looking for similar expressions to the former ones: :<math>\psi = \arcsin\left(X_2 / \sqrt{1 - X_3^2}\right),</math> :<math>\theta = \arcsin(-X_3),</math> :<math>\phi = \arcsin\left(Y_3 / \sqrt{1 - X_3^2}\right).</math> ===Last remarks=== Note that the inverse sine and cosine functions yield two possible values for the argument. In this geometrical description, only one of the solutions is valid. When Euler angles are defined as a sequence of rotations, all the solutions can be valid, but there will be only one inside the angle ranges. This is because the sequence of rotations to reach the target frame is not unique if the ranges are not previously defined.<ref>[http://eecs.qmul.ac.uk/~gslabaugh/publications/euler.pdf Gregory G. Slabaugh, Computing Euler angles from a rotation matrix]</ref> For computational purposes, it may be useful to represent the angles using {{nowrap|[[atan2]](''y'', ''x'')}}. For example, in the case of proper Euler angles: :<math>\alpha = \operatorname{atan2}(Z_1 , -Z_2),</math> :<math>\gamma = \operatorname{atan2}(X_3 , Y_3).</math>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)