1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
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