Deriving a 2D Rotation Matrix
Date: 11/17/2009 at 07:33:25 From: John Subject: how to derive 2D rotation matrix geometrically Using the following as an example, compute the point (x',y') where |x'| = |cos(theta) -sin(theta)| |x| |y'| |sin(theta) cos(theta)| |y| I watch a lot of physics lectures. This comes up a lot in special relativity. My question is the teacher tried to show how this matrix was derived from the graph using geometry. I got lost. I have looked at it over and over. For the life of me I can't figure out how this matrix is derived geometrically. Can you help me with this? John
Date: 11/17/2009 at 12:49:57 From: Doctor Tom Subject: Re: how to derive 2D rotation matrix geometrically Hi John, I don't know if this will help, but I never remember the matrix and am too lazy to look it up, so I re-derive it each time I need it. If we know what the matrix does to the vectors (1,0) and (0,1), we've got the whole thing. (In your notation, those two vectors ought to be written in columns, of course.) So I draw the x-y axes, and then draw (1,0) rotated by theta. It obviously goes to: (cos theta, sin theta) Similarly, drawing where (0, 1) goes on the axes, I see it goes to: (-cos theta, sin theta) So what we want is a matrix such that: | a b | |1| = | cos theta | | c d | |0| | sin theta | And this forces a = cos theta and c = sin theta. Doing the same thing for (0, 1) yields the other two values. - Doctor Tom, The Math Forum http://mathforum.org/dr.math/
Date: 11/18/2009 at 08:24:10 From: Doctor George Subject: Re: how to derive 2D rotation matrix geometrically Hi John, Dr. Tom gave you a good explanation for how to derive the rotation matrix. There are a couple more ways to look at this. Here is a link to an article that shows another one: Rotation Matrix Using Trig Functions http://mathforum.org/library/drmath/view/70267.html Also, consider this. |x| = x |1| + y |0| |y| |0| |1| In this representation, the vector (x,y) is a linear combination of the coordinate axes unit vectors i and j. To rotate the point, we just want to use a different set of unit vectors. |x'| = x |cos(theta)| + y |-sin(theta)| |y'| |sin(theta)| | cos(theta)| Do you see that (cos(theta), sin(theta)) is the unit vector for the rotated x axis, and (-sin(theta), cos(theta)) is the unit vector for the rotated y axis? Now we just rewrite the linear combination of the vectors as a matrix multiplication. |x'| = |cos(theta) -sin(theta)| |x| |y'| |sin(theta) cos(theta)| |y| Does that make sense? Write again if you need more help. - Doctor George, The Math Forum http://mathforum.org/dr.math/
Search the Dr. Math Library:
Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.