24.1 El vector de estado
En un instante, el movimiento se describe mediante la posición r⃗ y la velocidad v⃗. Juntas forman el vector de estado orbital:
Si conocemos además el parámetro gravitacional μ, el modelo de dos cuerpos determina tanto la trayectoria pasada como la futura.
En tres dimensiones hay seis componentes escalares: x, y, z, vx, vy y vz.
24.2 Posición y velocidad relativas
Las ecuaciones orbitales usan la posición y velocidad del cuerpo respecto del centro de atracción. Si conocemos estados en un sistema inercial común:
v⃗ = v⃗cuerpo − v⃗central
Usar una posición relativa con una velocidad absoluta mezcla referencias y genera elementos incorrectos.
24.3 Datos y unidades necesarios
Antes de calcular debemos comprobar:
- μ > 0 y expresado en unidades compatibles;
- |r⃗| > 0;
- posición y velocidad referidas al mismo instante y sistema;
- ejes con orientación conocida y, preferentemente, inerciales.
Con kilómetros, μ debe estar en km³/s² y la velocidad en km/s. Con metros, μ debe estar en m³/s².
24.4 Primer paso: módulos y producto radial
v = |v⃗| = √(vx² + vy² + vz²)
r⃗ · v⃗ = xvx + yvy + zvz
El signo de r⃗ · v⃗ indica si el cuerpo se aleja o se acerca: positivo para movimiento saliente, negativo para entrante y cero en una ápside o en una órbita circular.
24.5 Energía y clase general
La energía específica se calcula directamente desde el estado:
- ε < 0: trayectoria ligada;
- ε ≈ 0: trayectoria parabólica;
- ε > 0: trayectoria hiperbólica.
En cálculos numéricos debemos comparar con una tolerancia relativa a la escala μ/r, no exigir igualdad exacta con cero.
24.6 Semieje mayor desde la energía
Para ε distinta de cero:
Una elipse produce a positivo; una hipérbola, a negativo bajo la convención firmada. En el límite parabólico a es infinito.
Este cálculo determina la escala energética, pero todavía no la forma ni la orientación.
24.7 Momento angular y plano
El momento angular específico se obtiene mediante:
h⃗ es normal al plano orbital. Su módulo permite calcular el semilado recto:
Si h es prácticamente cero, el movimiento es radial y varios elementos angulares dejan de estar definidos.
24.8 Vector de excentricidad
La forma y la dirección de la periapsis quedan reunidas en:
Su módulo e = |e⃗| es la excentricidad y su dirección apunta desde el foco hacia la periapsis.
Una forma equivalente, útil para evitar otro producto vectorial, es e⃗ = [(v² − μ/r)r⃗ − (r⃗ · v⃗)v⃗]/μ.
24.9 Clasificación completa por excentricidad
| Excentricidad | Trayectoria | Energía |
|---|---|---|
| e ≈ 0 | Circular | Negativa |
| 0 < e < 1 | Elíptica | Negativa |
| e ≈ 1 | Parabólica | Cero |
| e > 1 | Hiperbólica | Positiva |
Energía y excentricidad deben producir clasificaciones compatibles. Una discrepancia importante suele revelar un error de unidades o de implementación.
24.10 Radios extremos
El radio de periapsis funciona para elipses, parábolas e hipérbolas no degeneradas:
En una elipse también existe una apoapsis finita:
Para e ≥ 1 la trayectoria es abierta y no hay apoapsis.
24.11 Ubicación mediante la anomalía verdadera
Para e > 0, la anomalía verdadera ν es el ángulo orientado desde e⃗ hasta r⃗ dentro del plano orbital. Una forma robusta usa seno y coseno:
sen ν = [h⃗ · (e⃗ × r⃗)]/(her)
ν = atan2(sen ν, cos ν)
atan2 conserva el cuadrante y distingue el tramo entrante del saliente.
24.12 Inclinación
Respecto de un plano de referencia xy, la inclinación se calcula desde la normal +z:
Conviene limitar numéricamente el cociente al intervalo [−1, 1] antes de aplicar Math.acos, porque el redondeo puede producir valores apenas fuera del dominio.
24.13 Línea de nodos
La intersección entre el plano orbital y el plano de referencia se denomina línea de nodos. Su dirección hacia el nodo ascendente se obtiene con:
Si la órbita es ecuatorial, n = 0 y no existe una línea de nodos única.
24.14 Longitud del nodo ascendente
Cuando n > 0, la orientación de la línea de nodos en el plano de referencia es:
Si el resultado es negativo puede normalizarse sumando 2π. Ω se expresa habitualmente entre 0° y 360°.
24.15 Argumento de periapsis
El argumento de periapsis ω mide, dentro del plano orbital, el ángulo desde el nodo ascendente hasta e⃗. Para n > 0 y e > 0:
sen ω = [h⃗ · (n⃗ × e⃗)]/(hne)
ω = atan2(sen ω, cos ω)
Los tres ángulos Ω, i y ω orientan la elipse en el espacio.
24.16 Casos singulares
Algunos elementos clásicos pierden significado en geometrías simétricas:
- en una órbita circular, e⃗ = 0 y no hay periapsis única;
- en una órbita ecuatorial, n⃗ = 0 y no hay nodo ascendente único;
- en movimiento radial, h⃗ = 0 y no hay plano orbital único.
Un programa robusto debe informar estos casos y utilizar ángulos alternativos, no dividir por números casi nulos.
24.17 Flujo de cálculo recomendado
- validar unidades, μ y módulo de r⃗;
- calcular r, v y r⃗ · v⃗;
- obtener ε y a;
- obtener h⃗, h y p;
- obtener e⃗ y e;
- clasificar y calcular las ápsides;
- calcular ν, i, n⃗, Ω y ω cuando estén definidos;
- reconstruir el estado para comprobar el resultado.
24.18 Utilidades vectoriales en JavaScript
const punto = (a, b) => a.x * b.x + a.y * b.y + a.z * b.z;
const modulo = a => Math.hypot(a.x, a.y, a.z);
const cruz = (a, b) => ({
x: a.y * b.z - a.z * b.y,
y: a.z * b.x - a.x * b.z,
z: a.x * b.y - a.y * b.x
});
const escalar = (k, a) => ({ x: k * a.x, y: k * a.y, z: k * a.z });
const restar = (a, b) => ({ x: a.x - b.x, y: a.y - b.y, z: a.z - b.z });
const r = { x: 7000, y: 0, z: 0 };
const v = { x: 0, y: 8, z: 1 };
const h = cruz(r, v);
console.log("r:", modulo(r).toFixed(2), "km");
console.log("v:", modulo(v).toFixed(3), "km/s");
console.log("r · v:", punto(r, v).toFixed(3), "km²/s");
console.log("h⃗:", h);
24.19 Elementos principales con JavaScript
function elementosPrincipales(mu, rVector, vVector) {
const dot = (a, b) => a.x * b.x + a.y * b.y + a.z * b.z;
const norm = a => Math.hypot(a.x, a.y, a.z);
const cross = (a, b) => ({
x: a.y * b.z - a.z * b.y,
y: a.z * b.x - a.x * b.z,
z: a.x * b.y - a.y * b.x
});
const r = norm(rVector);
const v = norm(vVector);
const hVector = cross(rVector, vVector);
const h = norm(hVector);
const vxh = cross(vVector, hVector);
const eVector = {
x: vxh.x / mu - rVector.x / r,
y: vxh.y / mu - rVector.y / r,
z: vxh.z / mu - rVector.z / r
};
const e = norm(eVector);
const energy = v ** 2 / 2 - mu / r;
const tolerance = mu / r * 1e-10;
const a = Math.abs(energy) > tolerance ? -mu / (2 * energy) : Infinity;
const p = h ** 2 / mu;
const rp = p / (1 + e);
const ra = e < 1 ? p / (1 - e) : Infinity;
let type = "parabólica";
if (e < 1e-8) type = "circular";
else if (energy < -tolerance) type = "elíptica";
else if (energy > tolerance) type = "hiperbólica";
return { r, v, energy, a, hVector, h, eVector, e, p, rp, ra, type };
}
const elementos = elementosPrincipales(
3.986e5,
{ x: 7000, y: 0, z: 0 },
{ x: 0, y: 8, z: 1 }
);
console.log("tipo:", elementos.type);
console.log("a:", elementos.a.toFixed(2), "km");
console.log("e:", elementos.e.toFixed(6));
console.log("rp:", elementos.rp.toFixed(2), "km");
24.20 Laboratorio interactivo: del estado a la órbita
El estado se toma sobre el eje +x alrededor de la Tierra. Elegí la distancia, la rapidez relativa a la circular local y el ángulo de trayectoria respecto de la tangente. El laboratorio reconstruye y dibuja la cónica.
ε = v²/2 − μ/r | h⃗ = r⃗ × v⃗ | e⃗ = (v⃗ × h⃗)/μ − r̂
El estado produce una elipse que no intersecta la Tierra.
- Mantené r y v: cambiá el ángulo y observá que la energía y a no varían, pero sí e.
- Elegí √2 vc: la energía llega a cero y la trayectoria se vuelve parabólica.
- Reducí la rapidez: comprobá si la periapsis calculada atraviesa la Tierra.
24.21 Validar reconstruyendo el estado
Un resultado fiable debe reproducir las invariantes y el estado original. Algunas comprobaciones son:
- p ≈ a(1 − e²) para una elipse;
- r ≈ p/(1 + e cos ν);
- v² ≈ μ(2/r − 1/a);
- e² ≈ 1 + 2εh²/μ²;
- r⃗ · h⃗ ≈ 0 y e⃗ · h⃗ ≈ 0.
Los residuos deben compararse con escalas relativas. Una diferencia absoluta pequeña puede ser grande para un valor diminuto, y viceversa.
24.22 Errores frecuentes
- mezclar estados absolutos y relativos;
- usar componentes expresadas en unidades incompatibles;
- intercambiar el orden de un producto vectorial;
- clasificar comparando números flotantes exactamente con cero o uno;
- usar
acossin recuperar el cuadrante del ángulo; - dividir por e, n o h en casos singulares;
- no comprobar si la periapsis intersecta el cuerpo central.
24.23 Ejercicio propuesto
Alrededor de la Tierra, con μ = 398 600 km³/s², un satélite tiene r⃗ = (8000, 0, 0) km y v⃗ = (1, 8, 0) km/s.
- Calculá energía, semieje mayor y tipo de trayectoria.
- Calculá h y el vector de excentricidad.
- Calculá e, periapsis y apoapsis.
- Determiná si el satélite se acerca o se aleja.
Ver solución
v² = 65 km²/s² y ε = 32,5 − 49,825 = −17,325 km²/s². La trayectoria es elíptica y a ≈ 11 504 km.
h = 64 000 km²/s. El vector de excentricidad es aproximadamente (0,2845; −0,1606; 0), con e ≈ 0,3267. Resultan rp ≈ 7746 km y ra ≈ 15 262 km. Como r⃗ · v⃗ > 0, el satélite se aleja.
const mu = 398600;
const r = { x: 8000, y: 0 };
const v = { x: 1, y: 8 };
const radio = Math.hypot(r.x, r.y);
const rapidez2 = v.x ** 2 + v.y ** 2;
const energia = rapidez2 / 2 - mu / radio;
const a = -mu / (2 * energia);
const h = r.x * v.y - r.y * v.x;
const eVector = {
x: v.y * h / mu - r.x / radio,
y: -v.x * h / mu - r.y / radio
};
const e = Math.hypot(eVector.x, eVector.y);
const p = h ** 2 / mu;
const rp = p / (1 + e);
const ra = p / (1 - e);
console.log("ε:", energia.toFixed(3), "km²/s²");
console.log("a:", a.toFixed(1), "km");
console.log("h:", h.toFixed(1), "km²/s");
console.log("e⃗:", eVector);
console.log("e:", e.toFixed(5));
console.log("rp / ra:", rp.toFixed(1), ra.toFixed(1), "km");
console.log("movimiento:", r.x * v.x > 0 ? "saliente" : "entrante");
24.24 Ideas para recordar
- El estado orbital combina posición y velocidad relativas en un mismo instante.
- La energía determina la clase energética y el semieje mayor.
- h⃗ = r⃗ × v⃗ determina el plano y el semilado recto.
- El vector e⃗ determina la excentricidad y apunta hacia la periapsis.
- La anomalía verdadera ubica el cuerpo dentro de la cónica.
- Los elementos angulares requieren tratar los casos circulares, ecuatoriales y radiales.
- Reconstruir invariantes y estado es la mejor comprobación del cálculo.
En el próximo tema abandonaremos la aproximación de centro fijo para estudiar el problema de dos cuerpos, el centro de masa y el baricentro.