# Cartesian to spherical polar coordinates

1. Sep 23, 2009

### birdhen

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. Sep 23, 2009

### tiny-tim

Hi birdhen!

(have a theta: θ and a phi: φ and a pi: π and a degree: º )
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.

3. Sep 23, 2009

### birdhen

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!