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 in spherical coordinates

  1. Aug 27, 2013 #1
    Hi guys,

    This isn't really a homework problem but I just need a bit of help grasping rotations in spherical coordinates.

    My main question is,

    Is it possible to rotate a vector r about the y axis by an angle β if r is expressed in spherical coordinates and you don't want to convert r cartesian coordinates to do the rotation (just using 1 rotation matrix?

    I've been searching the web for a while in hope for a simple explanation and a straight forward rotation matrix so I can play with it / test it and the only things I have found are based in cartesian coordinates.

    Of course the y axis rotation is just an example for me to learn from but in this case.

    I know that in cartesian coordinates the rotation matrix will be:

    cos β.....0.....-sin β
    sin β.....0......cos β

    But you can only apply this to vectors which are represented in cartesian coordinates right? How can I write this rotation matrix in spherical coordinates so I can applying to a vector writing in sphereical coordinates?

    Would anyone be able to give me a hand?

    The correct thing to do would be this right?


    What I'm trying to ask is if there is an easier way?
    Last edited by a moderator: May 6, 2017
  2. jcsd
  3. Aug 28, 2013 #2


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Maybe I'm being dumb, but I don't understand what the vector on the right hand end of that equation represents. Is it supposed to be a position vector expressed in spherical coordinates? You can't write conversion to Cartesian in matrix form since it is not a linear transformation.
    To get Cartesian coordinates from applying the rightmost matrix, the vector it's applied to would consist of (r, r, r)T.
    Last edited by a moderator: May 6, 2017
  4. Aug 28, 2013 #3

    I like Serena

    User Avatar
    Homework Helper

    Hi linda! :smile:

    The vector on the right hand would represent a vector in a local cartesian system. A system that is defined for a specific point in spherical coordinates. It changes when that point changes.

    That transformation looks correct.
    It would transform a localized vector to another localized vector after a rotation by an angle beta with respect to the y axis through the point where the vector is localized.
    I do not see a way to significantly simplify that.

    In advanced computer graphics, a typical way to simplify it (or rather reduce the amount of memory and number of operations to evaluate it), is by doing the same thing using octonions.
    But I suspect that is not what you're looking for.
  5. Aug 28, 2013 #4


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    More thoughts...
    You could do it very easily if you had a way to transpose the Cartesian coordinates while working only in polar form. Suppose you want to swap x and z. The new polar angles are θ', ϕ'.
    sin θ cos ϕ = cos θ'
    sin θ sin ϕ = sin θ' sin ϕ'
    (whence tan ϕ = tan θ' sin ϕ')
    cos θ = sin θ' cos ϕ'
    So it's easy to find θ and ϕ from θ' and ϕ'.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted