# composition of rotation matrices

I am the moment learning about rotation matrices. It seems confusing how it could be that $R_A^C=R_A^BR_B^C$ is the rotation from coordinate frame A to C C to A, and A,B,C are different coordinate frames.

$R_A^C$ must for a 2x2 matrix be defined as $$R_A^C= \left( \begin{matrix} xa⋅xb & xa⋅xb \\ ya⋅yb & ya⋅yb \end{matrix} \right)$$

$x_a, y_a and x_b,y_b$ are coordinates for points given in different coordinate frame. I don't see how, using this standard, the multiplication stated above will give the same matrix as for $R_A^C$. Some form for clarification would be helpful here.

• user25778, I made some minor edits for clarity, and one major change, that the rotation is from coordinate frame C to A instead of A to C. If that part of the edit is wrong, please edit it yourself and fix it. Sep 10 '15 at 19:51
• user25778, as Chuck pointed out in a comment, that $R_A^C=R_A^B⋅R_B^C$ product is a matrix product, not a dot product. Sep 11 '15 at 3:36

I'm not sure what you mean by:

$R_A^C$ must for a 2x2 matrix be defined as $[xa \cdot xb , xa \cdot xb ; ya \cdot yb , ya \cdot yb]$

because I don't know where you are getting the names or formulas from. If you have:

$$R_A^B = \left[ \begin{array}{ccc} a & b \\ c & d \end{array} \right] \\ R_B^C = \left[ \begin{array}{ccc} e & f \\ g & h \end{array} \right] \\$$

Then in multiplying the two you get:

$$R_A^C = R_A^B R_B^C = \left[ \begin{array}{ccc} (ae + bg) & (af + bh) \\ (ce + dg) & (cf + dh) \end{array} \right] \\$$

A 2x2 rotation matrix has the form:

$$R_A^B = R(\alpha) = \left[ \begin{array}{ccc} \cos{\alpha} & -\sin{\alpha} \\ \sin{\alpha} & \cos{\alpha} \end{array} \right] \\ R_B^C = R(\beta) = \left[ \begin{array}{ccc} \cos{\beta} & -\sin{\beta} \\ \sin{\beta} & \cos{\beta} \end{array} \right] \\$$

If you go through two successive rotations:

$$R_A^C = R(\alpha + \beta) = R(\alpha)R(\beta) = R_A^B R_B^C \\ R_A^C = \left[ \begin{array}{ccc} (\cos{\alpha} \cos{\beta} + (-\sin{\alpha} \sin{\beta})) & ((-\cos{\alpha} \sin{\beta}) + (-\sin{\alpha} \cos{\beta})) \\ (\sin{\alpha} \cos{\beta} + \cos{\alpha} \sin{\beta}) & ((-\sin{\alpha} \sin{\beta}) + \cos{\alpha} \cos{\beta}) \end{array} \right] \\$$

Using the angle sum identities:

$$\sin{(\alpha + \beta)} = \sin{\alpha}\cos{\beta} + \cos{\alpha}\sin{\beta} \\ \cos{(\alpha + \beta)} = \cos{\alpha}\cos{\beta} - \sin{\alpha}\sin{\beta} \\$$

You can simplify the result of the matrix multiplication: $$R_A^C = \left[ \begin{array}{ccc} (\cos{\alpha} \cos{\beta} + (-\sin{\alpha} \sin{\beta})) & ((-\cos{\alpha} \sin{\beta}) + (-\sin{\alpha} \cos{\beta})) \\ (\sin{\alpha} \cos{\beta} + \cos{\alpha} \sin{\beta}) & ((-\sin{\alpha} \sin{\beta}) + \cos{\alpha} \cos{\beta}) \end{array} \right] \\$$ $$R_A^C = \left[ \begin{array}{ccc} (\cos{\alpha} \cos{\beta} - \sin{\alpha} \sin{\beta}) & -(\cos{\alpha} \sin{\beta} + \sin{\alpha} \cos{\beta}) \\ (\sin{\alpha} \cos{\beta} + \cos{\alpha} \sin{\beta}) & (-\sin{\alpha} \sin{\beta} + \cos{\alpha} \cos{\beta}) \end{array} \right] \\$$ $$R_A^C = \left[ \begin{array}{ccc} \cos{(\alpha + \beta)} & -\sin{(\alpha + \beta)} \\ \sin{(\alpha + \beta)} & \cos{(\alpha + \beta)} \end{array} \right] \\$$

And that's how you get $R_A^C = R_A^B R_B^C$. It works out because the matrix multiplication results in angle additions.

• Chuck, I edited question for clarity, which mostly has no effect on your answer. However, the from-and-to for matrices in the question may be unclear. For going C to A, it's as you show in your answer. For A to C, the order of matrices on the right hand side needs to be reversed Sep 10 '15 at 19:55
• Thank you for the answer. One thing that still confuses me is how you in the last line define $R_A^C$ to be that.. I am missing the proof that states the equality.. what you have stated is the multiplication of 2 matrices. Sep 10 '15 at 21:04
• @jwpat7 - I wrote the answer on a desktop computer earlier today, but I'm phone only until Monday and I'm not going to attempt that Latex on my phone. Feel free to make whatever edits you want and I'll accept them if you don't have edit privilege. Sep 11 '15 at 2:11
• @user25778 - My point at the beginning is that I think you may be confused about the operation. The successive rotations is a matrix multiplication. In re-reading your question earlier it looks like you're trying to use a dot product between the matrices to do the successive rotations, which is incorrect. The point of my post is to show that, with matrix multiplication, successive rotations winds up giving you the sum of the rotation angles. Sep 11 '15 at 2:15
• Chuck, answer is ok as is so I won't edit it. (It doesn't specify if the overall rotation is A to C or C to A but that doesn't affect your demonstration, using angle sum identities, that the matrix product represents a composition of rotations.) (Also, although 2x2 in general don't commute, rotation matrices do commute.) Sep 11 '15 at 3:43