Register to reply

Expressing cartesian unit vectors in terms of spherical unit vectors

Share this thread:
Repetit
#1
Jul20-06, 11:05 AM
Repetit's Avatar
P: 129
This is driving me crazy, I just can't see how to do it. I want to express the cartesian unit vectors [tex]\hat{x}[/tex], [tex]\hat{y}[/tex] and [tex]\hat{z}[/tex] in terms of the spherical unit vectors [tex]\hat{r}[/tex], [tex]\hat{\theta}[/tex] and [tex]\hat{\phi}[/tex]. I have tried to do something similar in polar coordinates (just to make it a bit simpler for myself) but that didn't really help alot. I have figured out how to express the polar unit vectors in terms of cartesian ones:

[tex]\hat{\theta} = -sin(\theta)\hat{x} + cos(\theta) \hat{y} [/tex]
[tex]\hat{r} = cos(\theta) \hat{x} + sin(\theta) \hat{y} [/tex]

... and I think I can do that for spherical coordinates too. But I can't see how to do it the other way around (polar to cartesian). If you could just help me do it for polar coords I think I will be able to adapt it to spherical.

Thanks!
Phys.Org News Partner Mathematics news on Phys.org
Heat distributions help researchers to understand curved space
Professor quantifies how 'one thing leads to another'
Team announces construction of a formal computer-verified proof of the Kepler conjecture
uart
#2
Jul20-06, 12:13 PM
Sci Advisor
P: 2,751
[tex]x = r \sin(\phi) \cos(\theta)[/tex]

[tex]y = r \sin(\phi) \sin(\theta) [/tex]

[tex]z = r \cos(\phi)[/tex]
StatusX
#3
Jul20-06, 12:26 PM
HW Helper
P: 2,567
You could do it geometrically if you can draw the pictures carefully. An arguably easier algebraic way to do it is to use the fact that, eg, [itex]\hat x = \nabla(x)[/itex], where x is the scalar function returning the x coordinate of a point (ie, the function f(x,y,z)=x). You can write this function in terms of r,[itex]\theta,\phi[/itex] using the formulas uart gave and then calculate the gradient in spherical coordinates. Of course, this is really a little circular, as you would usually use the expression for [itex]\hat x[/itex] in spherical coordinates to derive the form of the gradient in spherical coordinates.

Data
#4
Jul20-06, 04:13 PM
P: 998
Expressing cartesian unit vectors in terms of spherical unit vectors

Quote Quote by Repetit
This is driving me crazy, I just can't see how to do it. I want to express the cartesian unit vectors [tex]\hat{x}[/tex], [tex]\hat{y}[/tex] and [tex]\hat{z}[/tex] in terms of the spherical unit vectors [tex]\hat{r}[/tex], [tex]\hat{\theta}[/tex] and [tex]\hat{\phi}[/tex]. I have tried to do something similar in polar coordinates (just to make it a bit simpler for myself) but that didn't really help alot. I have figured out how to express the polar unit vectors in terms of cartesian ones:

[tex]\hat{\theta} = -sin(\theta)\hat{x} + cos(\theta) \hat{y} [/tex]
[tex]\hat{r} = cos(\theta) \hat{x} + sin(\theta) \hat{y} [/tex]

... and I think I can do that for spherical coordinates too. But I can't see how to do it the other way around (polar to cartesian). If you could just help me do it for polar coords I think I will be able to adapt it to spherical.

Thanks!

Your equations there for polar coords form a linear system with two equations and two unknowns. You can solve them for [itex]\hat{x}[/itex] and [itex]\hat{y}[/itex]. If you can set up the same type of system for spherical coords, then just do the same thing there (you'll have 3 eqns and 3 unknowns)!
tstin
#5
Sep17-10, 01:27 AM
P: 6
This is a problem I have seen a lot on the internet, and no one seems to know what the asker is talking about. We want to know how to express the CARTESIAN unit vectors [tex]\hat{x}, \hat{y}, \hat{z}[/tex] in terms of the spherical coordinates r, [tex]\theta[/tex], and [tex]\phi[/tex] and their respective unit vectors.

The inverse, that is expressing [tex]\hat{r}, \hat{\theta}, \hat{\phi}[/tex] in terms of Cartesian unit vectors (but spherical coordinates!) is pretty popular. It's easy to find a reference online that shows:

[tex]
\hat{r} = sin(\theta)cos(\phi)\hat{x} + sin(\theta)sin(\phi)\hat{y} + cos(\theta)\hat{z}
[/tex], etc...

(Note: gonna stop using LaTeX here, something's wrong with either my code or the compiler...)

But what about the other way around? Well, the above comments are on the right track: if you think about it, the gradient of a coordinate is a vector that points in the direction of increase of that coordinate axis. We know how to express z as a function of spherical coordinates. So, the gradient of z(r, theta, phi) is a vector that points in the z-hat direction.

Now we just need to normalize the vector. But wait! Recall that the magnitude of the gradient is just the "slope" of the scalar function along the direction of maximum increase. Well, think about the scalar function f(r, theta, phi) = z. That function is just a line along the z-axis, that increases at a rate of 1. So the gradient, in this case, is already normalized!

The main point: to find a Cartesian unit vector in terms of spherical coordinates AND spherical unit vectors, take the spherical gradient of that coordinate. For example (this is gonna be tough without LaTeX, but hopefully you will follow):

z = rcos(theta)

Now, recall the gradient operator in spherical coordinates.

grad(z) = (partial z w/r/t r, 1/r partial z w/r/t theta, 1/rsin(theta) partial z w/r/t phi).

partial z w/r/t r = cos(theta)

partial z w/r/t theta = -rsin(theta)

partial z w/r/t phi = 0

so: grad(z) = cos(theta) r-hat + -sin(theta) theta-hat = z-hat in spherical coordinates!!!!


and so on with x and y.

Hopefully that makes sense. If I can figure out the LaTeX it will be easier to read.
Char. Limit
#6
Sep17-10, 03:04 AM
PF Gold
Char. Limit's Avatar
P: 1,951
Quote Quote by tstin View Post
This is a problem I have seen a lot on the internet, and no one seems to know what the asker is talking about. We want to know how to express the CARTESIAN unit vectors [tex]\hat{x}, \hat{y}, \hat{z}[/tex] in terms of the spherical coordinates r, [tex]\theta[/tex], and [tex]\phi[/tex] and their respective unit vectors.

The inverse, that is expressing [tex]\hat{r}, \hat{\theta}, \hat{\phi}[/tex] in terms of Cartesian unit vectors (but spherical coordinates!) is pretty popular. It's easy to find a reference online that shows:

[tex]
\hat{r} = sin(\theta)cos(\phi)\hat{x} + sin(\theta)sin(\phi)\hat{y} + cos(\theta)\hat{z}
[/tex], etc...

(Note: gonna stop using LaTeX here, something's wrong with either my code or the compiler...)

But what about the other way around? Well, the above comments are on the right track: if you think about it, the gradient of a coordinate is a vector that points in the direction of increase of that coordinate axis. We know how to express z as a function of spherical coordinates. So, the gradient of z(r, theta, phi) is a vector that points in the z-hat direction.

Now we just need to normalize the vector. But wait! Recall that the magnitude of the gradient is just the "slope" of the scalar function along the direction of maximum increase. Well, think about the scalar function f(r, theta, phi) = z. That function is just a line along the z-axis, that increases at a rate of 1. So the gradient, in this case, is already normalized!

The main point: to find a Cartesian unit vector in terms of spherical coordinates AND spherical unit vectors, take the spherical gradient of that coordinate. For example (this is gonna be tough without LaTeX, but hopefully you will follow):

z = rcos(theta)

Now, recall the gradient operator in spherical coordinates.

grad(z) = (partial z w/r/t r, 1/r partial z w/r/t theta, 1/rsin(theta) partial z w/r/t phi).

partial z w/r/t r = cos(theta)

partial z w/r/t theta = -rsin(theta)

partial z w/r/t phi = 0

so: grad(z) = cos(theta) r-hat + -sin(theta) theta-hat = z-hat in spherical coordinates!!!!


and so on with x and y.

Hopefully that makes sense. If I can figure out the LaTeX it will be easier to read.
[tex]z=r cos(\theta)[/tex]

[tex]\nabla z = \left(\frac{\partial z}{\partial r}, \frac{1}{r} \frac{\partial z}{\partial \theta}, \frac{1}{r sin(\theta)} \frac{\partial z}{\partial \phi}\right)[/tex]

[tex]\frac{\partial z}{\partial r} = cos(\theta)[/tex]

[tex]\frac{\partial z}{\partial \theta} = -r sin(\theta)[/tex]

[tex]\frac{\partial z}{\partial \phi} = 0[/tex]

[tex]\nabla z = cos(\theta) \hat{r} - r sin(\theta) \hat{\theta} = \hat{z}[/tex]

There's your LaTeX for you.
tstin
#7
Sep17-10, 01:05 PM
P: 6
Quote Quote by Char. Limit View Post
[tex]\nabla z = cos(\theta) \hat{r} - r sin(\theta) \hat{\theta} = \hat{z}[/tex]

There's your LaTeX for you.
Thanks for the LaTeX help, but note that the r's cancel in the [tex] \hat{\theta}[/tex] component of the final solution because the [tex] \hat{\theta}[/tex] component of the gradient in spehrical coordinates has a 1/r in it already. So the last line should read


[tex]\nabla z = cos(\theta) \hat{r} - sin(\theta) \hat{\theta} = \hat{z}[/tex]

And to clarify: you can do a similar thing with the other cartesian unit vectors:

1) Express the cartesian COORDINATE in spherical coordinates. (Essentially, we're "pretending" the coordinate is a scalar function of spherical variables.)
2) Take the gradient of the coordinate, using the spherical form of the gradient. That just IS the unit vector of that coordinate axis.


Hope this helps. It took me a while to figure it out, so maybe this will save some people some time.
durand
#8
Jan1-11, 12:28 PM
P: 13
tstin, thanks a lot for your post, it helped a lot!
TAMEPJLAH
#9
Jan26-12, 06:39 PM
P: 5
I know its an old post, but I just wanted to add this here.
http://upload.wikimedia.org/wikipedi...2227fff791.png
Note: the matrix is an orthogonal matrix, that is, its inverse is simply its transpose.
Find the transpose of that matrix and you are done :)
All from wikipedia (http://en.wikipedia.org/wiki/Vector_...al_coordinates)

This is not as rigorous as what tstin posted, but it is much faster :) Also makes it easy to relate the unit vectors in spherical polar and cylindrical coordinates, once you know their transformation matrix from Cartesian coord.
tstin
#10
Jan27-12, 09:07 AM
P: 6
That's right... essentially, what I described above is the same as calculating the Jacobian, which is the matrix given by TAMEPLAH. A more rigorous description of coordinate transformations would involve a discussion of Jacobians and why they work and stuff.... that's for whoever's feeling ambitions (or understands those things, which I currently don't).


Register to reply

Related Discussions
Deriving the Spherical Unit Vectors General Math 4
Unit Vectors and Spherical Coordinates Calculus & Beyond Homework 2
Unit vectors Introductory Physics Homework 6
Unit vectors Introductory Physics Homework 10
Orthogonal unit vectors also unit vectors? Calculus & Beyond Homework 5