View Full Version : Getting vectors out of JPL Horizons
DiamondGeezer
Apr17-09, 12:10 AM
Does anyone know how to manipulate the ephemeris data from JPL HORIZONS in order to find out the tangential velocity of a body relative to a topographic center, eg the Sun?
Use the vector output capability rather than observer (right ascenscion/declination) output. This will give you the position vector and velocity vector in ICRF coordinates of some body relative to some origin. Computing the component of the velocity vector normal to the position vector is vector simple arithmetic.
DiamondGeezer
Apr17-09, 06:54 AM
Use the vector output capability rather than observer (right ascenscion/declination) output. This will give you the position vector and velocity vector in ICRF coordinates of some body relative to some origin. Computing the component of the velocity vector normal to the position vector is vector simple arithmetic.
Well it might be easy but I don't know.
There is one way to get the tangential velocity directly by using the orbital period T, so that
v_{tangent}=\frac{2 \pi r}{T}
but I'd like to work it out from the velocity vectors given.
As far as I can tell, the JPL Horizons program produces coordinate axes in fixed directions rather than rotating with the orbiting body. It does produce a range rate (RR) parameter but I'd still like to know how to utilize the data WITHOUT referencing the radius from the origin, since that is what I'm trying to measure as accurately as I can.
So if someone knows how to produce tangential velocity from the three velocity vectors + RR (or some other equivalent method) then I'm all ears.
The projection of any vector b onto some other vector a is
{\boldsymbol b}_a =
\frac{({\boldsymbol b}\cdot{\boldsymbol a})\, {\boldsymbol a}}
{||{\boldsymbol a}||^2}
The component of b orthogonal to some another vector a is simply the difference between b and its projection onto a:
{\boldsymbol b}_{\perp} =
{\boldsymbol b} -
\frac{({\boldsymbol b}\cdot{\boldsymbol a})\, {\boldsymbol a}}
{||{\boldsymbol a}||^2}
Alternatively you can use the vector triple product:
{\boldsymbol b}_{\perp} =
\frac{{\boldsymbol a}\times({\boldsymbol b}\times{\boldsymbol a})}
{||{\boldsymbol a}||^2}
DiamondGeezer
Apr18-09, 11:54 PM
The way I see it is like this:
From the Horizons vector output, you have x-y-z position of Sun wrt object, so
can get the radial vector. Normalize it to get the unit vector basis u1.
The velocity vector is in the plane of motion. Normalize it to get v1, then
compute the cross-product v1 x u1 to get 2nd basis vector out of the plane, u2.
Then compute the cross product of the radial (in-plane) and out-of-plane
basis vectors to get a third vector in the plane: u1 x u2 = u3
u3 defines the tangential direction. Resolve the original velocity
vector along it (dot product) to get the tangential component of velocity.
Well that's fine but I need to work out from an example:
Here is the data from one particular time for a spacecraft relative to the Sun:
2453736.875000000, A.D. 2006-Jan-01 09:00:00.0000, -2.156346497896881E+07, 1.320794658183279E+08, -4.625147324320897E+05, -2.902293022684082E+01, -9.759936201814883E+00, -6.652160516632621E-02, 4.464052560742120E+02, 1.338289289826075E+08, -4.955740573003551E+00
where the data is
JDCT Epoch Julian Date, Coordinate Time
X x-component of position vector (km)
Y y-component of position vector (km)
Z z-component of position vector (km)
VX x-component of velocity vector (km/sec)
VY y-component of velocity vector (km/sec)
VZ z-component of velocity vector (km/sec)
LT One-way down-leg Newtonian light-time (sec)
RG Range; distance from coordinate center (km)
RR Range-rate; radial velocity wrt coord. center (km/sec)
in that order.
Q1: How do I calculate u1, u2, u3?
Q2: The radial velocity is RR, can we confirm that with a calculation?
DiamondGeezer
Apr19-09, 01:03 AM
v=(v_x,v_y,v_z) = (-2.902293022684082E+01, -9.759936201814883E+00, -6.652160516632621E-02)
p=(x,y,z) = (-2.156346497896881E+07, 1.320794658183279E+08, -4.625147324320897E+05)
Therefore
|p|= \sqrt{x^2+y^2+z^2}
therefore the unit radial vector is
u_1 = \frac{p}{|p|}
To be continued...
DiamondGeezer
Apr19-09, 01:09 AM
Therefore the radial velocity is
v_{rad} = v \cdot u_1
DiamondGeezer
Apr19-09, 01:20 AM
|p| = 1.33828928982607E+8
therefore u_1= \frac{1}{1.33828928982607E+8} (-2.156346497896881E+07, 1.320794658183279E+08, -4.625147324320897E+05)
DiamondGeezer
Apr19-09, 01:48 AM
I've just run through the vector algebra on MathCAD and got v_rad = -4.95574057300355 which is correct.
And now to cross products...
DiamondGeezer
Apr19-09, 02:13 AM
OK after squeezing my brain back into vector algebra, I calculated
v_1= \frac{v}{|v|}
u_2 = v_1 \times u_1
u_3 = u_1 \times u_2
Then v_{tangent}= v \cdot u_3 which I calculate to be 2.98180455442852 x 10^1 km/s
If somebody could check this, I would be very grateful....
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.