1. Not finding help here? Sign up for a free 30min 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!

Matrix Rotation

  1. Jun 12, 2010 #1
    1. The problem statement, all variables and given/known data

    Suppose that you want to rotate 80 degrees a cube in three dimensional space centered at the point C(2,4,5) about the x-axis. In other words, you want a pitch 80 degrees centered at the point C(2,4,5). Suppose that you want to rotate a vertex of the cube, the point (x,y,z) = (6,7,9) at an 80 degree pitch centered at point C. What is the resulting point (x',y',z')?



    2. Relevant equations

    Pitch rotation for x-axis:

    [1____ 0______0_____0]
    [0___cos80___-sin80__0]
    [0___sin80____cos80__0]
    [0____ 0______0_____1]


    and Scaling with respect to the center point (although I do not need to scale the object):


    [x'] [1__0__0__xc] [1____0_____0____0] [1__0__0__-xc] [x]
    [y'] [0__1__0__yc] [0__cos80 _-sin80__0] [0__1__0__-yc] [y]
    [z']= [0__0__1__zc] [0__sin80__cos80__0] [0__0__1__-zc] [z]
    [1] [0__0__0__1] [0____0_____0____1] [0__0__0__1] [1]


    3. The attempt at a solution

    What I did was I went ahead and replaced the scaling matrix (middle) with the pitch rotation matrix..I don't think this is right, because my answers need "6" as the resulting x-component.

    Could someone just show me the matrix formula to use for this problem?
     
  2. jcsd
  3. Jun 12, 2010 #2

    HallsofIvy

    User Avatar
    Staff Emeritus
    Science Advisor

    Start by translating the cube so that its center is at (0, 0, 0).

    That is, given any point (x, y, z) change it to (x- 2, y- 4, z- 5).

    Now rotate about the x-axis 80 degrees:
    [tex]\begin{bmatrix}1 & 0 & 0 \\ 0 & cos(80) & -sin(80) \\0 & sin(80) & cos(80)\end{bmatrix}[/tex]

    Then translate back: change the new (x, y, z) to (x+ 2, y+ 4, z+ 5).

    That appears to be exactly what you have done, using "projective" notation. That certainly will give "6" as the resulting component. Multiplying
    [tex]\begin{bmatrix}1 & 0 & 0 & -2 \\ 0 & 1 & 0 & -4 \\ 0 & 0 & 1 & -5 \\ 0 & 0 & 0 & 1\end{bmatrix}\begin{bmatrix} 6 \\ 7 \\ 9\end{bmatrix}[/tex]
    will give x component 6- 2= 4, multiplying by the rotation matrix will not change that, and multiplying by the third matrix gives 4+ 2= 6 again.
     
  4. Jun 12, 2010 #3
    I'm afriad I might be doing something wrong..Let me show exactly what I do step by step:

    I am translating the object to the origin using the stack:

    [1__0__0__2]__[1____0__ _____0____0]___[1__0__0__-2]__[x]
    [0__1__0__4]__[0___cos80__-sin80___0]___[0__1__0__-4]__[y]
    [0__0__1__5]__[0___sin80___cos80___0]___[0__0__1__-5]_[z]
    [0__0__0__1]__[0_____0______0_____1]___[0__0__0__1]__[1]

    Multiplying matrices from left to right until I get down to a single matrix:


    [1___0______0________0_] [6]
    [0__0.173__-0.985__-1.617] = [-9.271]
    [0__0.985__0.173___0.195] [8.647]
    [0____0______0_______1_] [1]

    The only answer that is even close is: (6, 0.582, 8.649)

    But I don't want to guess, I want to know.
     
    Last edited: Jun 12, 2010
  5. Jun 13, 2010 #4

    HallsofIvy

    User Avatar
    Staff Emeritus
    Science Advisor

    Why are you guessing? If you have done your multiplications correctly, that answer is right.

    As a check, try multiplying the first matrix on the right by [x, y, z, 1], the the next, then the third (which is the way I would have multiplied to begin with).
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Matrix Rotation
  1. Rotation matrix (Replies: 2)

  2. Rotation Matrix (Replies: 0)

  3. Rotation matrix (Replies: 5)

  4. Rotation matrix (Replies: 5)

Loading...