# Euler Angles - Why postmultiply

In Industrial Robotics, you have a co-ordinate frame which is at the base & another which is at the next joint. You want to describe the
position and orientation of the 2nd frame with respect to the first in terms of position and orientation. For the position, you use a translation matrix.
The orientation is described by a rotation matrix which rotates the 2nd frame from it's coincident position with the first frame and brings it to it's final position.
Let the 1st frame have axis X, Y, Z Let 2nd frame have axis x, y, z
To describe frame 2 in terms or frame 1, you start with both frames very fully coincident at the beginning (i.e. even in orientation).
Then you have 2 methods. (You have many methods, actually)
1) Fixed Axis angles. Then - you rotate frame 2 by t1 about X - Rx(t1) - you rotate frame 2 by t2 about Y - Ry(t2) - you rotate frame 2 by t3 about Z - Rz(t2)
So new orientation of frame 2 is given by
Rz(t3) * Ry(t2) * Rx(t1)
(Obviously, you pre-multiply the 1st matrix by the 2nd. And the premultiply the result with the 3rd matrix)
2) Euler Angles 2nd way of describing it is by Euler angles - i.e. you rotate the 2nd frame about one of it's own axis (x or y or z), instead of (X, Y or Z)
- rotate frame 2 by t3 about x - (y becomes y' & z becomes z') - rotate frame 2 by t2 about y' - (x becomes x' & z becomes z'') - rotate frame 2 by t1 about z" - (x' becomes x'' & y becomes y")
Now this transform is described again by Rz(t3) * Ry(t2) * Rx(t1)
I want to know how is this 2nd transform derived?
I know how the first one is derived because I know how to find the rotation matrix for rotating a point about about a fixed axis. And I know that if you are working with column vectors (for the point), you premultiply the 1st rotation matrix by the 2nd rotation matrix.
However, I am not able to grok how you write the transformation matrices for the 2nd case.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Phiby wrote:

is at the

describe the

the first in

a
rotates the 2nd

brings it

frames very

orientation).
the
rotate the 2nd

(X, Y or Z)

z')
z'')
becomes y")

find the

axis. And I

point), you

matrix.
transformation matrices

You have it, just multiply the 3 rotation matrices together, but it has to be in the correct order. In robotics, we often use pitch-yaw-roll Euler sequences, while pilots often use yaw-pitch-roll (although they will sometimes call it heading- elevation-banking). An Euler sequence is like a procedure, it can't be treated like a vector. And part of that procedure is whether you're moving from the target to the base, or the base to target with your rotation sequences. But once you've got that agreed to, you set up the rotation matrices accordingly and multiply to get the final rotation matrix from frame1 to frame2.
Mike Ross