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: Rotation Matrix?

  1. Feb 19, 2006 #1
    Problem 1.9 of DJGriffiths asks for the rotation matrix about the (1,1,1) direction.

    I thought I could rotate about z 45 degrees (R': x -> x'), then rotate about y' (R'': x' -> x''). How do I combine the two rotations to determine the final single rotation matrix... R = R''*R' or R = R'*R'' ?

    thx in advance!

    EDIT: after working on this some more, I realized that this is not the same rotation. The rotation is not from x->x'->x''. Rather it is a rotation around the (1,1,1) direction.

    Having checked what few texts I have I still do not know how to make the rotation matrix.

    After some thought ...wouldn't x go to the z position to satisfy this rotation? I'm thinking that if you look down the (1,1,1) line toward the origin, then the 3 axes make a 120o angle with each other. Thus the x-axis will spin into the original z-axis position. Also, z->y and y->x.


    EDIT: after working on this some more, I found the solution. Perhaps it is a bit pragmatic since I used the above fact. So if anyone knows how to do this in general - for any direction - then I would like the answer. (I think I need a book on crystallographic rotations - yikes!)

    100 -> 001
    010 -> 100
    001 -> 010

    Now apply these conditions to the equation: A' = R*A. Then each equation will result in the immediate solution for 3 of the rotation matrix elements.

    (0 0 1) = R (1 0 0) yields:
    [tex]R_{11} = 0[/tex]
    [tex]R_{21} = 0[/tex]
    [tex]R_{31} = 1[/tex]

    (1 0 0) = R (0 1 0) yields:
    [tex]R_{12} = 1[/tex]
    [tex]R_{22} = 0[/tex]
    [tex]R_{32} = 0[/tex]

    (0 1 0) = R (0 0 1) yields:
    [tex]R_{13} = 0[/tex]
    [tex]R_{23} = 0[/tex]
    [tex]R_{33} = 1[/tex]

    Thus, the R matrix is:

    \left( \begin{array}{ccc}
    0 & 1 & 0 \\
    0 & 0 & 1 \\
    1 & 0 & 0
    \end{array} \right)

    ...sorry I asked this and then found the solution... but as I said above, this is very pragmatic and I would really like to know how to do this for any angle of rotation about any direction in general.

    Last edited: Feb 20, 2006
  2. jcsd
  3. Feb 19, 2006 #2


    User Avatar
    Science Advisor
    Homework Helper

    Let R(a) be the rotation matrix about the z-axis through angle a. Let R(v) be the rotation matrix that sends the vector v to the z axis. Then the rotation about v through angle a is:


    You know how to find R(a). To find R(v), first find the polar and azimuthal angles of v/|v|, suppose they are b and c respectively. Then R(v) is a rotation about the z axis through the angle -c, followed by a rotation about the y-axis through angle -b.
    Last edited: Feb 19, 2006
  4. Feb 20, 2006 #3

    BTW, isn't that something called a similarity transformation? (I seem to remember it from Goldstein's chapter on Euler angles... so much forgotten down the corners of my mind :/ )
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook