Radial/transverse orbital velocity
Eccentricity 0.2, true anomaly 90°, angular momentum 60000 and gravitational parameter 398600 give a radial speed of 1.32866666667 and a transverse speed of 6.64333333333. You also get total speed and flight-path angle. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Eccentricity
- 0.2
- True anomaly
- 90
- Specific angular momentum
- 60,000
- Mu
- 398,600
- True anomaly rad
- 1.5707963268
- Angle unit
- Deg
- Radial velocity
- 1.3286666667
- Transverse velocity
- 6.6433333333
Mission analysts, orbital mechanics students, and guidance software all need the polar split of orbital velocity: the radial component along the position vector and the transverse component perpendicular to it in the orbit plane. Those two scalars are not the same as Cartesian inertial components; they come from eccentricity, true anomaly, and specific angular momentum through textbook identities that every Curtis and Vallado chapter reuses.
Radial and transverse speed in plain words
At any point of an orbit, the velocity of a satellite can be split into two parts. The radial part runs along the line from the central body to the satellite and tells you whether it is climbing away or falling back. The transverse part is the local horizontal speed, perpendicular to that line in the orbit plane. The radial speed equals the gravitational parameter divided by the angular momentum, times the eccentricity, times the sine of the true anomaly. The transverse speed uses the same ratio, multiplied by one plus the eccentricity times the cosine of the true anomaly. The total speed combines both like the sides of a right triangle.
When to use it and common mistakes
Students use it to check textbook exercises at a given true anomaly without slipping on trigonometry. Mission planners use the two parts to size a burn along the radial and along-track directions before running a full simulation, and ground teams compare measured rates with the ideal pair. The most frequent mistake is mixing units: the gravitational parameter and the angular momentum must use the same length and time units, or both speeds will be wrong. Angular momentum must also be positive, because it sets the scale of both parts.
Where splitting orbital velocity helps
Preliminary mission design scripts need the polar split when sizing burns relative to the local radial and along-track directions without standing up a full propagator. Ground-system sanity checks compare telemetry-derived radial and transverse rates against the analytic pair from the current best-estimate eccentricity, anomaly, and angular momentum. Failed validation does not consume balance.
Keep units consistent between μ and h, pin the rounded fields in tests, and you get reproducible polar velocity components for classrooms, notebooks, and edge workers without importing a heavy astrodynamics library for a four-line identity.
What you can do with it
Homework and exam checks
Verify radial and transverse velocity at a given true anomaly from e, h, and μ against textbook worked examples without hand trig errors.
Preliminary burn design
Obtain local radial and along-track speed components for sizing impulsive Δv in polar coordinates before full force-model propagation.
Telemetry sanity checks
Compare on-board radial and transverse rates to the analytic Keplerian pair from estimated eccentricity, anomaly, and specific angular momentum.
FAQ
What happens if specific angular momentum is zero or negative?
Non-positive h cannot scale the polar velocity components and is not billed.
What is the default value of μ?
mu defaults to 1 for canonical textbook units. Pass your central-body μ in units consistent with h when you need SI or kilometre-second results.
What is the difference between radial and transverse velocity?
Radial velocity runs along the line from the central body to the satellite; transverse velocity is perpendicular to it, in the orbit plane. Together they give the total speed, and the transverse part is the one that carries the angular momentum.
Why is the radial velocity sometimes negative?
A negative radial velocity means the satellite is falling back toward periapsis; a positive one means it is climbing away from the central body. In a circular orbit it is exactly zero and all the speed is transverse.
What is the flight-path angle?
It is how far the velocity tilts away from the local horizontal, given in degrees. In the example with eccentricity 0.2 at a true anomaly of 90°, it comes out at 11.309932474 degrees.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/astro/orbital-velocity-vector \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"eccentricity":0.2,"true_anomaly":90,"specific_angular_momentum":60000}'const res = await fetch("https://api.kit.forhosting.com/astro/orbital-velocity-vector", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"eccentricity": 0.2,
"true_anomaly": 90,
"specific_angular_momentum": 60000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/orbital-velocity-vector",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"eccentricity": 0.2,
"true_anomaly": 90,
"specific_angular_momentum": 60000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/orbital-velocity-vector", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"eccentricity":0.2,"true_anomaly":90,"specific_angular_momentum":60000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"eccentricity":0.2,"true_anomaly":90,"specific_angular_momentum":60000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/orbital-velocity-vector", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"eccentricity": 0.2,
"true_anomaly": 90,
"specific_angular_momentum": 60000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.orbital_velocity_vector",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
This radial and transverse velocity calculator accepts eccentricity e, true anomaly ν, specific angular momentum h, and an optional gravitational parameter μ, then returns v_r, v_⊥, the speed magnitude, and the flight-path angle in degrees. Non-positive specific angular momentum is rejected with invalid_input because angular momentum sets the scale of both components.
What radial and transverse velocity mean in a Keplerian orbit
In two-body orbital mechanics the position of a satellite relative to the focus is often written in polar form: the radius vector of length r points from the central body to the satellite, and the true anomaly ν measures how far the satellite has travelled past periapsis along the orbit. The inertial velocity vector at that instant always lies in the orbit plane and can be decomposed into a radial part parallel to the position vector and a transverse part perpendicular to it. Their Euclidean norm is the inertial speed. The radial component v_r is positive when the satellite is climbing away from the focus and negative when it is falling back toward periapsis. The transverse component v_⊥ is the local horizontal speed that carries angular momentum; for a circular orbit it is the entire speed and v_r is exactly zero. The classical closed-form identities used by this endpoint are v_r equals (μ divided by h) times e times sin of ν, and v_⊥ equals (μ divided by h) times one plus e times cos of ν, where e is eccentricity, h is specific angular momentum, and μ is the standard gravitational parameter of the central body. The flight-path angle measured from the local horizon is the two-argument arctangent of v_r over v_⊥. Those four numbers let you reconstruct the polar velocity state without a full Cartesian ephemeris, which is why radial-and-transverse calculators show up in preliminary design notebooks, exam solvers, and lightweight edge workers that must stay deterministic.
Input contract, units, defaults, and error behaviour
Optional mu defaults to one so textbook problems written in canonical units work without an extra field; when you work in SI or kilometre-second units, pass μ consistent with h (for example Earth μ about 3.986 times ten to the five km cubed per second squared with h in km squared per second). Values are rounded to twelve significant digits for stable goldens across runtimes. POST a JSON body with three required finite numbers: eccentricity e (non-negative), true_anomaly ν, and specific_angular_momentum h (strictly positive). Optional angle_unit is an enum of deg or rad and defaults to deg; true anomaly is converted to radians only for the sine and cosine calls. Each numeric field may arrive as a JSON number or as a numeric string; missing fields, empty strings, and non-finite values fail with invalid_input naming the field. On success the body echoes the cleaned inputs, returns true_anomaly_rad normalized to the interval from zero to two pi, radial_velocity, transverse_velocity, speed, flight_path_angle_deg, a formula string restating the polar identities, and method equal to orbital_velocity_vector. Pair the response with your own orbit plotter if you need a sketch; this endpoint only evaluates the velocity split at one true anomaly.
Where a polar orbital velocity API earns its keep
University orbital mechanics courses ask students to compute v_r and v_⊥ at selected true anomalies for elliptical, parabolic, and hyperbolic transfer legs; a free browser tool that matches the paid API byte-for-byte removes calculator drift between homework and LMS auto-graders.
Technical questions
How do I compute radial and transverse orbital velocity?
Send eccentricity e (≥ 0), true_anomaly ν, and specific_angular_momentum h (> 0). Optionally pass mu (default 1). The API returns v_r = (μ/h)·e·sin(ν), v_⊥ = (μ/h)·(1+e·cos(ν)), speed, and flight-path angle.
Is true anomaly in degrees or radians?
Degrees by default (angle_unit=deg). Set angle_unit to rad for radians. The response always includes true_anomaly_rad and flight_path_angle_deg.
What does the radial and transverse velocity calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.