The basic matrix representations of rotations about the three fixed axes of an orthonormal coordinate system are easy to derive.

For right-handed rotation of an angle a, and column vectors, we get the following:

Using column vectors, matrix multiplication (as defined using linear map composition) is from right to left, so to rotate around fixed axis

Euler angles do not operate on fixed axes, but on moving ones, as shown in the animation. So we cannot use the fixed axes matrices, at least not directly.

The solution is to reverse the order. This means to perform an Euler angle rotation around

But why does this work out? Here is a proof using basic linear algebra.

Proof:

To perform an Euler angle rotation around

We call the basis (or frame) obtained by rotating the standard basis

Formally, with

Notice that the representation of the basis

Additionally, as we explained,

In terms of matrices, this change of basis is:

Replacing

So, we can always use composition in reverse order (post multiplication) of fixed axis rotation matrices to obtain the total rotation matrix for a sequence of Euler angle rotations.

For right-handed rotation of an angle a, and column vectors, we get the following:

**Around x, Around y, Around z**

| 1 0 0 | | c 0 s | | c -s 0 |

| 0 c -s | | 0 1 0 | | s c 0 |

| 0 s c | | -s 0 c | | 0 0 1 |

Where c = cosine(a), s = sin(a).| 1 0 0 | | c 0 s | | c -s 0 |

| 0 c -s | | 0 1 0 | | s c 0 |

| 0 s c | | -s 0 c | | 0 0 1 |

Where c = cosine(a), s = sin(a).

*Note: An easy way to derive these matrices without having to go back to pictures is use 'c' for the direction cosine of a component along it's direction, and 's' or '-s' along the remaining direction depending on the order of the components in the string x,y,z,x,y,z.*

So per example, x on y gives 's' (since we have x,y in the string) while y on x gives '-s' (since we have z in between: y,So per example, x on y gives 's' (since we have x,y in the string) while y on x gives '-s' (since we have z in between: y,

__z__,x).Using column vectors, matrix multiplication (as defined using linear map composition) is from right to left, so to rotate around fixed axis

**z**(matrix**Rz**) and then around fixed axis**x**(matrix**Rx**), we write the multiplication to get the total rotation matrix**R**this way:**R = Rx * Rz**.Euler angles do not operate on fixed axes, but on moving ones, as shown in the animation. So we cannot use the fixed axes matrices, at least not directly.

The solution is to reverse the order. This means to perform an Euler angle rotation around

**z**and then (moving axis)**x**we use:**R = Rz * Rx**.But why does this work out? Here is a proof using basic linear algebra.

Proof:

To perform an Euler angle rotation around

**z**and then (moving axis)**x'**the matrix composition goes this way:**R = Rx' * Rz**, where**x'**is the moving axis, obtained by rotating**x**by**Rz**.We call the basis (or frame) obtained by rotating the standard basis

**E3**by**Rz**the basis**F'**. Using a change of basis, we notice that in the basis**F'**, the rotation around**x'**is simply a rotation around the 'fixed' axis**x**(of that basis).Formally, with

**rx'**being the linear map represented by**Rx'**in the standard basis, we have this change of basis:**Rep{E3,E3}(rx') = Rep{F',E3}(id) * Rep{F',F'}(rx') * Rep{E3,F'}(id)**Notice that the representation of the basis

**F'**with respect to**E3**, is Actually**Rz**, since the column vectors of**Rz**are the representations in**R3**of the rotated**E3**vectors, so**Rep{F',E3}(id) = Rz**and, since rotation matrices are non-singular (invertible)**Rep{E3,F'}(id) = (Rz)^-1**.Additionally, as we explained,

**Rep{F',F'}(rx)**is simply equal to**Rx.**In terms of matrices, this change of basis is:

**Rx' = Rz * Rx * (Rz)^-1**.Replacing

**Rx'**in the expression of the total rotation, we get:**R**

= Rx' * Rz

= ( Rz * Rx * (Rz)^-1 ) * Rz

= Rz * Rx * ( (Rz)^-1 * Rz )

= Rz * Rx * ( I )

= Rz * Rx.= Rx' * Rz

= ( Rz * Rx * (Rz)^-1 ) * Rz

= Rz * Rx * ( (Rz)^-1 * Rz )

= Rz * Rx * ( I )

= Rz * Rx.

**Q.E.D**

So, we can always use composition in reverse order (post multiplication) of fixed axis rotation matrices to obtain the total rotation matrix for a sequence of Euler angle rotations.

## 1 comment:

Cool! helped me a lot! Thanks!

Post a Comment