Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Transformation matrix

  1. Jul 30, 2006 #1
    Find the transformation matrix that rotates the axis [tex]x_3[/tex] of a rectangular coordinate system 45 degrees toward [tex]x_1[/tex] around the [tex]x_2[/tex] axis.

    I have a question about what exactly are the [tex]x_1,x_2,x_3[/tex] supposed to be. Do I assume that they are the x,y,z axis?

    Also, what is the general form of a two-dimensional transformation matrix? I know that there are different ones for rotation, scaling, shearing, and so on. But is there a general form for a 2x2 transformation matrix?
  2. jcsd
  3. Jul 30, 2006 #2


    User Avatar
    Science Advisor

    Yes, they are the x, y, z axes. The x1 x2 x3 just refer to three coordinates in your vectors. The x2 axis is all points of the form (0, x2, 0).

    The "general form" of a 2x2 matrix is just any 2x2 matrix. Every matrix can be seen as a "transformation matrix."
  4. Aug 1, 2006 #3
    [tex]\left(\begin{array}{c}x \\y\\z \end{array}\right)\left(\begin{array}{ccc} cos45 & 0 & -sin45 \\ 0&1&0 \\ sin25&0&cos45 \end{array}\right) [/tex]

    would this be the matrix to rotate the z axis 45 degrees towards the x axis and around he y axis?
  5. Aug 1, 2006 #4


    User Avatar
    Science Advisor

    Well, (1, 0, 0), on the x-axis, should be rotated to [itex](\frac{\sqrt{2}}{2}, 0, \frac{\sqrt{2}}{2}). Does your matrix do that?

    (The answer is "no" for two reasons! First, you are multiplying the matrices in the wrong order. You can't multiply the matrices as you show them. Second, you have a typo, writing one of the angles as "25" rather than "45".)
  6. Aug 1, 2006 #5
    this look better?

    [tex]\left(\begin{array}{ccc}x &y&z \end{array}\right) \left( \begin{array}{ccc} cos45 & 0 & sin45 \\ 0&1&0 \\ -sin45&0&cos45 \end{array}\right) [/tex]
  7. Aug 1, 2006 #6


    User Avatar
    Science Advisor
    Homework Helper

    Surprisingly, yes. But only because you did the inverse of an inverse. It gets you the correct result, but it's not set up in the standard way.

    You only have one rotation matrix:

    [tex]\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0&cos \theta& sin\theta \\ 0&-sin \theta&cos \theta \end{array}\right)[/tex]
    The '1' should be on the axis you're rotating around (xx, yy, or zz). Shift the rest of the matrix over and down as necessary (rows shifting off the bottom wrap around to the top; columns shifting off the right wrap around to the left).

    The vector you're transforming should be written as a 3x1 matrix.

    [tex]\left(\begin{array}{c}x\\y\\z \end{array}\right)[/tex]

    Your rotation matrix is multiplied by the vector. Since you're rotating about the y axis, it would look like this:

    [tex]\left( \begin{array}{ccc} cos \theta & 0 & -sin \theta \\ 0&1& 0\\ sin\theta&0&cos \theta \end{array}\right) * \left(\begin{array}{c}x\\y\\z \end{array}\right)[/tex]

    The rotation is counter-clockwise. If you want to rotate clockwise, you need to the inverse of the rotation matrix you used. Since you're using an orthogonal rotation matrix, the inverse is just the transpose of the counter-clockwise rotation matrix.
    Last edited: Aug 1, 2006
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook