View Full Version : Velocity & Acceleration in Spherical coordiantes?
10-19-02, 08:13 PM
My question comes after some introductory background because I do not know how to construct a simpler form of the question.
Suppose I have some equations such as
x = xFunction(time)
y = yFunction(Time)
From the above, I can compute the following via taking derivatives
Vx = VxFunction(Time)
. . .
Ax = AxFunction(Time)
. . .
The above is (I think) very elementary for an introductory calculus course.
Now suppose I want to express the Positions, Velocities, and Accelerations in Spherical coordinates.
Positions are as follows.
R = SquareRoot(x^2 + y^2 + z^2)
Longitude = InverseTangent( y / x)
Latitude = InverseTangent[ z / SquareRoot(x^2 + y^2) ]
Now what formulae do I use for Velocites & Accelerations in Spherical coordinates?
Method one: Apply the above formulae for (R, Longitude, & Latitude) to the Cartesian Velocity & Accelerations Vectors.
Method two: Differentiate the (R, Longitude, Latitude) Position Vector once to get Spherical Velocities and again to get Spherical Accelerations.
The second method is a formidable task.
Are the two methods equivalent?
Is the first method valid?
If you answer, please tell me if you really know or are making a SWAG.
BTW: At another Forum, there is VB code for subscripts & exponents (or superscripts). It that possible here?
10-19-02, 08:38 PM
you mean <sub>subscript</sub> and <sup>superscript</sup>
Use HTML instead of Vb (thats arrow brackets around sub or sup)
The two are equivalent: in general, you can use the vector notation R(t) for the position and V(t) for the velocity. By definition
V(t) = d R(t) / dt
which is ofcourse independent of the coordinate representation (a vector does not change because you look at it from a different perspective/origin/coordinate system).
To get the coordinate representation, it depends on what you need. If you need the velocity in cartesian coordinates, then you'll need to express the position in function of those coordinates, i.e. substitute x = r sin(theta) cos(phi) , or whatever, in your cartesian expressions for position and work out the time derivates. You can also derive expressions for spherical velocity vectors given spherical coordinates, which is basically:
v_theta(t) = d Theta / dt
v_phi(t) = d Phi / dt
v_r(t) = d r(t) / dt
These representations all describe the same vector, but just using different component expressions for different coordinate systems.
10-25-02, 10:41 PM
I just fought through the algebra and calculus starting with
x = xFunction(t)
y = yFunction(t)
z = zFunction(t)
R = SquareRoot(x<sup>2</sup> + y<sup>2</sup> + z<sup>2</sup>)
Longitude = InverseTangent( y/x )
Latitude = InverseTangent[ z / SquareRoot( x<sup>2</sup> + y<sup>2</sup>) ]
I took derivatives to get formulae for velocites and accelerations in both XYZ & spherical coordinates.
I applied the simple XYZ to Spherical transformation to the XYZ velocity and acceleration vectors.
The results did not match. The derivatives of R, Longitude, and Latitude did not agree numerically with the transformed XYZ velocity & accelerations vectors.
I used MathCad7 to do the computations, and am pretty sure that I did everything correctly.
I have created a VB application which does gravitational computations. All the computations use XYZ coordinates, but it would be nice to provide an optional user interface accepting spherical coordinates as input and displaying results using spherical coordinates.
Does anybody know what transformation formulae should I use?
10-25-02, 10:54 PM
If you have spherical coordinates r, p and q, then the cartesian coordinates are given by:
x = r (cos p)(cos q)
y = r (cos p)(cos q)
z = r sin p
You can work out velocity components by differentiating. For example:
v_x(t) = (dx/dr)(dr/dt) + (dx/dp)(dp/dt) + (dx/dq)(dq/dt)
= (cos p cos q)(dr/dt) + (-r sin p cos q)(dp/dt) + (-r cos p sin q)(dq/dt)
Note: the derivatives here are partial derivatives.
10-25-02, 11:04 PM
James R: I am quite familiar with the formulae for transforming Position Vectors from Cartesian to Spherical coordinates and vice versa.
My problem is a bit more complex. It essentially asks if those same transformations can be applied to Velocity & Acceleration vectors.
10-26-02, 02:34 AM
I just gave you one transformation for a velocity component.
10-26-02, 08:56 AM
James R: I derived the first & second derivatives of the simple coordinate transformation, but am not sure that this is necessary.
I have heard from people who claim that a vector is a vector and that position, velocity, & acceleration vectors can all be tranformed using the same equations. This seems like a reasonable claim, but I can find no justification for it, nor can I find a refutation of it.
Given a Velocity vector in Cartesian coordinates, why can it not be transformed using the same equations as those used to transform a position vector?
When I searched for derivative-derived transformation formulae, I could not find any. That makes me wonder if one transformation formula fits all vectors.
Yes, indeed, a vector is a vector is a vector. Any coordinate system you'd like can be used to represent it. The only things to worry about are any singularities or other oddities imposed by the coordinate system itself -- in such a case, you'd just pick a different coordinate system.