Rotating a velocity (tangent) vector (not at the origin) in spherical coordinates

coordinate systemsdifferential-geometrygeometryspherical coordinatestransformation

Consider a particle at point, $\vec{r} = (r,\phi,\theta)$, where the azimuthal angle from $\hat{x}$ axis is $\phi$; polar angle from $\hat{z}$ axis is $\theta$. This particle has a velocity $\vec{v} = (\dot{r}, r \dot{\phi}, r \dot{\theta})$. How do I calculate the components of this velocity vector in a reference frame $(\hat{r}', \hat{\phi}', \hat{\theta}')$ that is rotated arbitrarily from the $(\hat{r}, \hat{\phi}, \hat{\theta})$ frame?

I have the rotation matrix that rotates the cartesian components, $\vec{r} = (x, y, z)$, into this new frame, lets call it $R(\alpha)$; i.e. $\vec{r}' = R(\alpha) \, \vec{r}$. So if this was just a position vector, I would transform to cartesian coordinates, rotate, and rotate back. But the velocity vector points from the position along the velocity direction. So the rotation must depend on the position, but that's not included in either the velocity vector itself, nor in the rotation matrix. Thus the same procedure doesn't work.

Does this mean that $(dr, d\phi, d\theta)$ transform differently from $(r, \phi, \theta)$? Or, perhaps I'm missing that there should be additional terms from the changes in the basis vectors (i.e. terms like $\frac{d\hat{\phi}}{dt}$)? Because this is an instantaneous velocity, and the tangent basis-vectors are orthogonal to eachother at the point $\vec{r}$, it almost seems like they could be treated as if they were cartesian?

Edit: perhaps the solution is to first translate the vector from the point $\vec{r}$ to the origin, then rotate, then translate to the rotated position? That seems reasonable, but how do I know (i.e. mathematically/rigorously) that translating, rotating, and translating back has the same effect (is this a question of commutation?)?

Best Answer

A velocity vector has no position. It has only direction and magnitude. However, the coordinate frame in which the coordinates of your vector are measured is dependent on the position of the point at which the velocity was measured. So I think your concern is justified.

Assuming the coordinates of $\vec v$ were determined by the usual orthonormal basis for velocity at the spherical coordinates of your position vector $\vec r,$ you can express that basis in the (unrotated) Cartesian coordinates. You can express the coordinates of each basis vector either in terms of the spherical or Cartesian coordinates of $\vec r$ (using different formulas for spherical and Cartesian coordinates, of course).

Next you can find the coordinates of the position vector in the rotated frame. Using the same formulas you would use in the unrotated frame, you can find the orthonormal basis at that point, with each basis vector expressed in the rotated Cartesian coordinates.

Convert the rotated-frame Cartesian coordinates of each basis vector to Cartesian coordinates in the unrotated frame.

Now you have two sets of orthonormal basis vectors. The matrix that converts one to the other has the form of a rotation matrix. In general, however, it will be different from the rotation matrix that you already know for the rotation of the position coordinate frame.


As an aside, the velocity vector in an orthonormal basis should be something like $\vec{v} = (\dot{r}, r \dot{\phi}\sin\theta, r \dot{\theta})$. If you really mean what you wrote, you will have something other than a simple rotation matrix because you have to account for the foreshortening of the basis vector in the $\dot\phi$ direction. But if you just forgot to copy the factor $\sin\theta$ to the question then you’re probably OK.