Orbital semi-latus rectum calculator
An orbit with a semi-major axis of 7000 and eccentricity 0.05 has a semi-latus rectum of 6982.5, in the same unit as the axis. Use it to pin down an orbit's shape for homework or mission sketches. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Semi major axis
- 7,000
- Eccentricity
- 0.05
- Semi latus rectum
- 6,982.5
The semi-latus rectum is a fundamental geometric parameter of a Keplerian two-body orbit: half the chord through a focus perpendicular to the major axis, written p equals a times one minus e squared. Once you know the positive semi-major axis a and the dimensionless eccentricity e, that single length fully determines the polar equation r equals p over one plus e cosine of true anomaly, so mission sketches, homework checks, and light pipelines can pin the shape without integrating equations of motion. Units of a carry through to p, so kilometers stay kilometers and meters stay meters.
What the semi-latus rectum means and how to choose a and e
Under the two-body Keplerian model an orbit is often described by a positive semi-major axis a and a non-negative eccentricity e. The semi-latus rectum p equals a times one minus e squared, and it is the radial distance at a true anomaly of ninety degrees. When e is zero the path is circular and p collapses to a itself, recovering the familiar radius.
When e grows toward one from below for a bound ellipse, p shrinks toward zero relative to a, reflecting a thin chord through the focus. For hyperbolic flybys people sometimes quote e greater than one; the product formula still multiplies a by one minus e squared, which can yield a negative number if a stays positive—that is the literal algebra this tool implements, not a hidden absolute-value rewrite. Both must be finite.
Semi-major axis must be strictly positive because a non-positive a does not match the usual orbital convention this product implements. The calculator does not convert altitude above a planetary surface into center-to-body semi-major axis; if your source quotes height above Earth, form a from center-to-body apoapsis and periapsis first, or treat a and p as consistent center-referenced lengths.
FAQ
What happens if eccentricity is negative?
Eccentricity must be non-negative; a negative value is rejected by product contract and is not charged.
What units should I use for semi-major axis?
Any consistent length unit. The returned semi-latus rectum uses the same unit as a. The calculator does not convert between kilometers and meters for you.
What if eccentricity is zero?
The orbit is circular: semi-latus rectum p equals the semi-major axis a.
Is the orbital semi-latus rectum calculator free?
The browser tool runs free on your device.
Where is the semi-latus rectum on the orbit?
It is the distance from the focus to the orbit at a true anomaly of 90 degrees, which is half the chord through the focus perpendicular to the major axis. For a circle it equals the radius.
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/semilatus-rectum \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"semi_major_axis":7000,"eccentricity":0.05}'const res = await fetch("https://api.kit.forhosting.com/astro/semilatus-rectum", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"semi_major_axis": 7000,
"eccentricity": 0.05
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/semilatus-rectum",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"semi_major_axis": 7000,
"eccentricity": 0.05
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/semilatus-rectum", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"semi_major_axis":7000,"eccentricity":0.05}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"semi_major_axis":7000,"eccentricity":0.05}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/semilatus-rectum", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"semi_major_axis": 7000,
"eccentricity": 0.05
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.semilatus_rectum",
"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
What the semi-latus rectum means and how to choose a and e
Send the required field semi_major_axis as a JSON number or numeric string for a; aliases a and sma are accepted. Send the required field eccentricity for e; aliases e and ecc are accepted. Eccentricity must be non-negative: a negative e is invalid_input by product contract and by physics, since eccentricity is defined as a non-negative shape parameter. Identical inputs always produce identical JSON because the path is pure floating-point arithmetic with no network, no random seed, and no wall clock.
Reading the response fields and unit consistency
Units are your responsibility and must be consistent: whatever length unit you use for a is the unit of the returned p. The engine does not assume kilometers or meters; it multiplies pure numbers. Related geometry landings that start from ellipse semi-axes a and b answer a different search intent; this page is for orbital a and e via p equals a open parenthesis one minus e squared close parenthesis. On success the response echoes semi_major_axis and eccentricity, then reports semi_latus_rectum as p equals a times one minus e squared. The formula field is always the string p equals a open parenthesis one minus e caret two close parenthesis, and method is always kepler_semi_latus_rectum so downstream code can branch without sniffing shapes. Missing semi_major_axis, missing eccentricity, non-positive a, negative e, and non-finite numbers all fail with invalid_input and are not charged after the engine rejects the request. Use semi_latus_rectum alone when a dashboard only needs the polar scale length; keep formula and method when documenting the geometry step for students or when logging which algorithm produced a mission sketch. Pair this endpoint with apoapsis-periapsis or orbital-velocity tools when the next question is extreme radii or speed at periapsis, remembering that a and e fix the shape while central mass and gravitational constant fix the dynamical scale.
API usage, pricing, classroom workflows, and practical limits
Call the free in-browser orbital semi-latus rectum calculator for homework checks, lecture demos, and quick concept verification without installing a local MATLAB toolbox or a heavy astrodynamics library. Typical classroom examples include a low-Earth-orbit ellipse with a near seven thousand kilometers and e of a few hundredths, a circular case with e exactly zero where p equals a, and a high-eccentricity transfer sketch where one minus e squared clearly shrinks p relative to a. Extremely large or tiny magnitudes are bounded for isolate safety; stay within the published numeric range for reliable results. Send a JSON body with required positive semi_major_axis and required non-negative eccentricity. Use the prepaid API when a tutoring platform, coding-assessment sandbox, curriculum generator, or early mission-design pipeline needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after rejection. Authors shipping SDKs can map semi_latus_rectum into tables that hold a fixed while sweeping e, teaching how p falls as e rises for bound ellipses and how the polar equation uses p as the single length scale—a companion lesson to period, energy, and extreme-radius formulas when building multi-step orbital-mechanics lesson flows.
Integration use cases
Homework and exam verification
Students and graders compute semi-latus rectum from semi-major axis and eccentricity, compare against textbook answers, and get a clear invalid_input error when eccentricity is negative by mistake.
Tutoring and curriculum generators
Lesson builders produce worked Keplerian p=a(1−e²) examples with structured JSON for flashcards, step sheets, and auto-graded drills without embedding a full astrodynamics library.
Early mission concept sketches
Lightweight pipelines that need a stable polar scale length p from a and e call a prepaid endpoint instead of reimplementing a(1−e²) in every language.
Technical questions
How do I calculate the orbital semi-latus rectum from a and e?
Send JSON with semi_major_axis (a) as a positive finite number and eccentricity (e) as a non-negative finite number. The response includes semi_latus_rectum equal to a(1−e²), plus formula and method labels.