Cartesian to spherical polar coordinates

  1. Hi there,
    I am getting confused about how to work this out.
    I know that to convert cartesian coordinates to spherical coordinates you can use:
    theta=arccos(z)
    phi=arcsin(y/sin(theta))

    my problem is that I have a list of coordinates, lets call them THETA and PHI. I change them into X,Y,Z and then rotate them by 2 Euler angles.
    THETA is in the range(0->2pi)
    PHI is in the range (-pi/2->pi/2).

    the problem is once I have completed the transforms I want the new value theta, As it is found using arccos the value returned is only in the range 0->pi, the values come back between 0 and 180, where as the THETA values are between 0 and 360, and therefore I want my transformed values to be in the range 0 to 360. I think I need to use quadrants but I have been searching the internet and can't find the info I need.

    Any help would be greatly appreciated.
     
  2. jcsd
  3. tiny-tim

    tiny-tim 26,041
    Science Advisor
    Homework Helper

    Hi birdhen! :smile:

    (have a theta: θ and a phi: φ and a pi: π and a degree: º :wink:)
    I normally do it the other way round …

    θ from -π/2 to π/2, and φ from 0 to 2π …

    then you have x = rsinθcosφ, y = rsinθsinφ, so you can use x as well as y to work out what φ is. :smile:
     
  4. ah, thank you,
    so y/x=tanφ,
    and the value of φ will depend on whether x and y are negative or positve.

    Wonderful, that was the hint I needed,

    Thank you!
     
Know someone interested in this topic? Share this thead via email, Google+, Twitter, or Facebook

Have something to add?