Documentation / @interstellar-tools/equations / periApoapsisRadii
Function: periApoapsisRadii()
ts
function periApoapsisRadii(a: number, e: number): PeriApoRadiiType;Defined in: orbits/peri-apoapsis-radii.ts:65
Peri/apoapsis radii from semi-major axis (
Definitions
Conic validity
- Elliptic / circular: (
) → ( ) and ( ). - Hyperbolic: (
) → ( ), no apoapsis (unbounded), so ( ). - Parabolic: (
) is not defined with finite ( ). Use the parabolic form (e.g. ( )) or state vectors.
Units
- Inputs: (
) in meters (m), ( ) dimensionless. - Output: (
) in meters (m).
In practiceMolniya orbit
545 km / 39 913 km
Altitude at perigee and apogee
With e = 0.74, a Molniya satellite races through perigee and spends most of its 12 hour orbit slowly crossing apogee, high above the northern latitudes it serves.
ts
periApoapsisRadii(26600e3, 0.74);
// rp = 6 916 km, ra = 46 284 km from Earth's centreParameters
| Parameter | Type | Description |
|---|---|---|
a | number | Semi-major axis ( |
e | number | Eccentricity ( |
Returns
Object with periapsis rp and apoapsis ra (or null if undefined for hyperbolic).
Throws
Error If inputs are invalid or the (
Examples
ts
// Elliptic example (LEO-like)
const a = 7000e3; // m
const e = 0.01;
const { rp, ra } = periApoapsisRadii(a, e); // rp ≈ 6930 km, ra ≈ 7070 kmts
// Hyperbolic flyby (no apoapsis)
const a = -50_000e3; // m
const e = 1.2;
const { rp, ra } = periApoapsisRadii(a, e); // rp = |a|(e-1) = 10,000 km, ra = null