The concept, purpose and derivation process of Euler angle

There are many definitions of Euler angles on the Internet. You can find out if you search them, but these concepts and definitions seem to understand, but for some beginners, there may be some places that are difficult to understand. This article will give some ideas and try to describe this If there are any errors, please correct me.
This article focuses on describing concepts and does not involve specific calculations.

Let’s look at a problem first. A point p in space rotates around an axis by an angle of ω to point p'. Find the coordinates and rotation matrix of p'. This is the problem to be solved by
Euler angles . However, the Euler angle method will "One axis rotates 1 angle" is decomposed into "continuously rotate 3 angles around 3 axes". (That is, the conversion problem between axis angle and Euler angle, interested students can study by themselves).
After decomposition, 3 rotations appear Axis, and as the direction of the three rotation axes is rotated, the direction of the rotation axis (right-hand rule) represents the "direction", "orientation", or "orientation", "facing" of the rigid body. This is where these nouns are The meaning of some Euler angle concepts.
Let me explain in detail below. Then I will deduce how to calculate Euler angle.

The vector of a point p on the rigid body in the fixed coordinate system xyz is v . The active coordinate system X0Y0Z0 on the rigid body coincides with xyz, and X0Y0Z0 moves synchronously with the rigid body.

Pronation/dynamic Euler angle

Internal rotation/dynamic Euler angle, axis sequence: Z0-X1-Y2; angle sequence: (γ, α, β).
3 times counterclockwise rotation, the active coordinate system is oX0Y0Z0->oX1Y1Z1->oX2Y2Z2->oX3Y3Z3.
After completing 3 rotations, set the vector of point p in oX3Y3Z3 to V3 . Because it is a synchronous rotation, V3 = v . It
should be noted that the rotation axis of internal rotation is the "axis of the active coordinate system". Or, "active coordinate" Tied around its own axis"

Now, what to calculate is "oX3Y3Z3 vector V3 in oX0Y0Z0 vector V30 ". It is equivalent to calculating:
"P point after 3 rotations" is "oX0Y0Z0 vector V30 ". Because oX0Y0Z0 coincides with oxyz, so too It is to calculate the vector V30 of "point p after 3 rotations" in oxyz .

V3 is the vector in oX3Y3Z3, and the vector in oX0Y0Z0 is V30 . Finding V30 according to V3 is obviously a coordinate transformation, that is, transforming the vector V3 in oX3Y3Z3 into the vector V30 in oX0Y0Z0 . Let the transformation matrix be R, Then: V30 = R * V3 only requires the transformation matrix R, then V30 can be obtained .

Of course, it is very troublesome to find R directly, so you need to find R through indirect methods. The calculation is mainly divided into 3 steps.
1. First find the vector V32 of V3 in oX2Y2Z2, that is , transform the vector V3 in oX3Y3Z3 to V32 in oX2Y2Z2 .Equivalent to the coordinate system oX3Y3Z3 around the rotation axis oY3 clockwise rotation β to oX2Y2Z2 position (or counterclockwise rotation -β to oX2Y2Z2 position). Set the transformation matrix to R32, there are: V32 = R(Y3,-β) * V3

2. Find the vector V31 of V32 in oX1Y1Z1, that is , transform the vector V32 in oX2Y2Z2 to oX1Y1Z1. It is equivalent to the coordinate system oX3Y3Z3 from the oX2Y2Z2 position and the rotation axis oX2 clockwise rotation α to oX1Y1Z1 position (or counterclockwise rotation -α to oX1Y1Z1 position). Suppose the transformation matrix is ​​R31, there are: V31 = R(X2,-α) * V32

3. Find the vector V30 of V31 in oX0Y0Z, that is , transform the vector V31 in oX1Y1Z1 to oX0Y0Z0. It is equivalent to the coordinate system oX3Y3Z3 from the oX1Y1Z1 position and the rotation axis oZ1 clockwise rotation γ to the oX0Y0Z position (or counterclockwise rotation-γ to oX0Y0Z0 position)... Suppose the transformation matrix is ​​R(Z1,-γ), there are: V30 = R(Z1,-γ) * V31

4.Finally obtained: V30 = R(Z1,-γ) * V31 = R(Z1,-γ) * R(X2,-α) * V32 = R(Z1,-γ) * R(X2,-α ) * R(Y3,-β) * V3 .

5. 设 复合 矩阵 矩阵 R (γ, α, β) :V30 = R (γ, α, β) * V3 = R (γ, α, β) * v .
R (γ, α, β) = R (Z1, -γ) * R (X2, -α) * R (Y3, -β)

The final result is: the
The concept, purpose and derivation process of Euler angle
final result is the same as the result in the description of Wanweipedia. Please add the link description (the last Z1X2Y3=...Note that this Z1X2Y3 represents the order of matrix multiplication. This result is actually a static Euler Angle composite rotation matrix, its angle order (γ, α, β), axis order is yxz; but static/dynamic Euler angles are equivalent, so it is equivalent to dynamic Euler angle (γ, α, β), axis order Z0- X1-Y2).

Regarding the composite rotation matrix and the composite transformation matrix, the
above composite transformation matrix is ​​for the active coordinate system, and it involves the transformation of coordinates in the active coordinate system. The
above rotation process can also be considered as a point on the rigid body from p in the fixed coordinate system oxyz The coordinates are continuously rotated around 3 different axes (3 straight lines in oxyz) to the p'coordinate, and the composite rotation matrix is ​​R, then:
p'= R * p.
The composite rotation matrix R here actually has a composite transformation Matrix R(γ,α,β): R = R(γ,α,β)
Note: p, p'all represent the coordinates in the fixed coordinate system oxyz, which has nothing to do with the active coordinate system.

Although the "transformation matrix" is used in the calculation process, the ultimate goal is actually to find the "composite rotation matrix" in order to find the coordinates of p'.

External rotation/stationary Euler angle

External rotation/static Euler angle, axis order: yxz; angle order: (γ,α,β).
3 times of counterclockwise rotation, the active coordinate system is oX0Y0Z0->oX1Y1Z1->oX2Y2Z2->oX3Y3Z3.
Note that external The rotation axis of the spin is the "axis of the fixed coordinate system". In other words, the active coordinate system rotates around the "coordinate axis of the fixed coordinate system" instead of rotating around its own coordinate axis.

This kind of Euler angle is easier to understand. It is necessary to continuously rotate the zxy coordinate axis (β, α, γ) in the 3D coordinate system oxyz. There is no explanation.
Because the point p on the rigid body always rotates around the coordinate axis of the fixed coordinate system oxyz, it has nothing to do with the active coordinate system, and the calculation process does not involve the active coordinate system.

Set the vector v of point p in the fixed coordinate system oxyz .
Calculation process:
1. The first rotation, point p rotates γ counterclockwise around the y axis, set the basic rotation matrix r(y, γ), and the rotated vector v1 : v1 = r(y, γ) v . 2. For the second rotation, point p continues to rotate counterclockwise α around the x axis, set the basic rotation matrix r(x, α), and the rotated vector v2 : v2 = r(x ,α) v1 . 3. For the third rotation, point p continues to rotate β counterclockwise around the z axis, set the basic rotation matrix r(z, β), and the rotated vector v3 : v3 = r(z, β) v2 4 . v3 = r(z,β) v2 = r(z,α) r(x,α) v1 = r(z,β) r(x,α) r(y,γ) v . 5. Let the compound rotate Matrix r(γ,α,β): v3 = r(γ,α,β) v r(γ,α,β) = r(z,β)




r(x,α) r(y,γ)
Final result:
The concept, purpose and derivation process of Euler angle
This result is consistent with the Wanwei encyclopedia result, please add the link description (the last Z1X2Y3=...Z1X2Y3 is the order of the basic rotation matrix multiplication, the axis order is actually yxz ).

Internal rotation and external rotation are equivalent

The internal rotation Euler angle and the external rotation Euler angle are equivalent, meaning that the final "composite rotation matrix is ​​the same", as calculated above:
r(γ,α,β) = r(z,β) r(x, α) r(y,γ) = R(γ,α,β) = R(Z1,-γ) R(X2,-α) R(Y3,-β)
Of course, the "angle of these two Euler angles The order is the same","the axis order is opposite".

Guess you like

Origin blog.51cto.com/jetyi/2551233