¿Qué es la anomalía excéntrica hiperbólica F?

ingrese la descripción de la imagen aquí

No tengo idea de qué es esto y he estado buscando en la red, pero todo lo que obtengo es una anomalía excéntrica. La ecuación que relaciona la anomalía excéntrica hiperbólica F con su anomalía verdadera θ es exactamente el mismo que entre la anomalía excéntrica E y su anomalía verdadera. Supongo que es probablemente la versión hiperbólica de la elipse.

Una pregunta sobre la definición de anomalía excéntrica para las órbitas hiperbólicas de Kepler es sin duda el tema principal aquí. ¡Creo que el voto cercano inexplicable por fuera de tema es a la vez excéntrico y una anomalía!

Respuestas (2)

La anomalía hiperbólica es el equivalente hiperbólico de la anomalía excéntrica.

Como mencionaste en un comentario anterior, la anomalía excéntrica es el ángulo desde el cuerpo central hasta el círculo auxiliar de la órbita. Debido a que una órbita hiperbólica no tiene un círculo auxiliar, necesitamos una formulación diferente.

Para anomalía hiperbólica, usamos una hipérbola equilátera, que tiene una excentricidad de 2 .

Lo complicado de la anomalía hiperbólica es que, en lugar de un ángulo, se define como un área.

F = 2 A r mi a / a 2

Donde A r mi a se define como el área entre el eje X, la hipérbola equilátera desde el periapsis hasta la proyección vertical de la ubicación de la nave espacial, y la línea entre este punto de proyección y el origen.

En su imagen, esta es el área sombreada.

Es un parámetro no intuitivo que realmente no tiene un significado físico que alguien use. Principalmente, solo se usa como una cantidad matemática.

¿Es posible calcularlo a partir de la anomalía media?

La ecuación que relaciona la anomalía excéntrica hiperbólica F con su anomalía verdadera θ es exactamente la misma que la que existe entre la anomalía excéntrica E y su anomalía verdadera.

Parece que no son lo mismo.

A partir de esta práctica tabla , he reconstruido los siguientes conjuntos de ecuaciones. mi , D , y F son las anomalías excéntricas para las órbitas keplerianas elípticas (y circulares), parabólicas e hiperbólicas.

La fuente de esa tabla es a su vez:

Referencia: " Fundamentos de astrodinámica " por RRBate, DDMueller y JE White, Dover Publications (1971)

Es posible que pueda encontrar versiones en pdf en línea, o mejor aún, versiones físicas en una biblioteca.

nota: he tomado prestado gran parte de esto de esta respuesta .


Elipse, Círculo ( 0 ϵ < 1 ) :

broncearse mi 2 = 1 mi 1 + mi broncearse θ 2
o
porque mi = mi + porque θ 1 + mi porque θ broncearse θ 2 ,
METRO = mi mi pecado mi ,
Δ METRO = METRO 2 METRO 1 ,
Δ t = a 3 m Δ METRO ,

hipérbola ( ϵ > 1 ) :

bronceado F 2 = mi 1 mi + 1 broncearse θ 2
o
aporrear F = mi + porque θ 1 + mi porque θ broncearse θ 2 ,
METRO = mi pecado F F ,
Δ METRO = METRO 2 METRO 1 ,
Δ t = ( a ) 3 m Δ METRO ,

parábola ( ϵ = 1 ) :

D = broncearse θ 2 ,
METRO = D + D 3 3 ,
Δ METRO = METRO 2 METRO 1 ,
Δ t = q 3 m Δ METRO ,


Para obtener el eje semi-mayor a o para conseguir q , use lo siguiente (no se preocupe de que a es negativo para la hipérbola):

Elipse, hipérbola:

a = r pag mi r i 1 mi

Elipse:

a = r pag mi r i + r a pag o 2

Círculo:

a = r

Parábola:

q = r pag mi r i

Una consulta rápida con m = 1 y r pag mi r i = 1 :

 e      theta      a     v_peri    E/D/F       M         t
1.5   90.000000  -2.0   1.581139  55.14281  40.94513  2.021271
1.0   90.000000   n/a   1.414214  57.29578  76.39437  1.885618
0.5   90.000000   2.0   1.224745  60.00000  35.19020  1.737177
0.0   90.000000   1.0   1.000000  90.00000  90.00000  1.570796

Si quieres probarlo en Python:

def deriv(X, t):
    x, v = X.reshape(2, -1)
    acc  = -mu * x * ((x**2).sum())**-1.5
    return np.hstack((v, acc))

def get_D(theta, e):
    if e == 1.0:
        D    = np.tan(0.5*theta)
    else:
        D    = np.nan
    return D

def get_E(theta, e):
    if e < 1.0:
        term = np.sqrt((1.-e)/(1.+e)) * np.tan(0.5*theta)
        E    = 2.*np.arctan(term)
    else:
        E    = np.nan
    return E

def get_E_alt(theta, e):
    if e < 1.0:
        term = (e + np.cos(theta)) / (1. + e*np.cos(theta))
        E    = np.arccos(term)
    else:
        E    = np.nan
    return E

def get_F(theta, e):
    if e > 1.0:
        term = np.sqrt((e-1.)/(e+1.)) * np.tan(0.5*theta)
        F    = 2.*np.arctanh(term)
    else:
        F    = np.nan
    return F

def get_F_alt(theta, e):
    if e > 1.0:
        term = (e + np.cos(theta)) / (1. + e*np.cos(theta))
        F    = np.arccosh(term)
    else:
        F    = np.nan
    return F

def get_M_from_E(E, e):
    if e < 1.0:
        M = E - e*np.sin(E)
    else: 
        M = np.nan
    return M

def get_M_from_F(F, e):
    if e > 1.0:
        M = e*np.sinh(F) - F
    else: 
        M = np.nan
    return M

def get_M_from_D(D, e):
    if e == 1.0:
        M = D + D**3/3.
    else: 
        M = np.nan
    return M

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

# http://www.bogan.ca/orbits/kepler/orbteqtn.html

quarterpi, halfpi, pi, twopi = [f*np.pi for f in [0.25, 0.5, 1, 2]]
rads, degs = pi/180, 180/pi

mu = 1.0

th0, th1 = 0.0, halfpi
print "th0, th1 (degs): ", degs*th0, degs*th1

eccs = [1.5, 1.0, 0.5, 0.0]

for e in eccs:

    print "e: ", e

    rp =  1.0  # periapsis

    if e < 1.0:
        print "     is ellipse!"

        ra = rp * (1+e)/(1-e)
        print "rp, ra: ", rp, ra

        a0 = 0.5*(rp + ra)
        v0 = np.sqrt(mu * (2./rp - 1./a0))
        print "a0, v0: ", a0, v0

        E0,  E1  = [get_E(th, e) for th in [th0, th1]]
        M0,  M1  = [get_M_from_E(E, e)  for E  in [E0,  E1 ]]
        print "E0, E1 (degs): ", degs*E0, degs*E1
        print "M0, M1 (degs): ", degs*M0, degs*M1

        print "E0, E1: ", E0, E1
        print "M0, M1: ", M0, M1

        dt = np.sqrt(a0**3/mu) * (M1-M0)

        print "dt (sec): ", dt

    elif e > 1.0:
        print "     is hyperbola!"

        ra = rp * (1+e)/(1-e)
        print "rp, ra: ", rp, ra

        a0 = 0.5*(rp + ra)
        v0 = np.sqrt(mu * (2./rp - 1./a0))
        print "a0, v0: ", a0, v0

        F0,  F1  = [get_F(th, e) for th in [th0, th1]]
        M0,  M1  = [get_M_from_F(F, e)  for F  in [F0,  F1 ]]
        print "F0, F1 (degs): ", degs*F0, degs*F1
        print "M0, M1 (degs): ", degs*M0, degs*M1

        print "F0, F1: ", F0, F1
        print "M0, M1: ", M0, M1

        dt = np.sqrt((-a0)**3/mu) * (M1-M0)

        print "dt (sec): ", dt

    elif e == 1.0:
        print "     is parabola!"

        print "rp: ", rp

        v0 = np.sqrt(mu * (2./rp))
        print "v0: ", v0

        D0,  D1  = [get_D(th, e) for th in [th0, th1]]
        M0,  M1  = [get_M_from_D(D, e)  for D  in [D0,  D1 ]]
        print "D0, D1 (degs): ", degs*D0, degs*D1
        print "M0, M1 (degs): ", degs*M0, degs*M1

        print "D0, D1: ", D0, D1
        print "M0, M1: ", M0, M1

        q = rp

        dt = np.sqrt(2.*q**3/mu) * (M1-M0)

        print "dt (sec): ", dt

    time = np.array([0, dt])
    X0   = np.array([rp, 0, 0, v0])

    answer, info = ODEint(deriv, X0, time, atol=1E-13, rtol=1E-13, full_output=True)

    x, y, vx, vy = answer.T
    theta = np.arctan2(y, x)

    print degs*theta[0], degs*theta[-1], " should be ", degs*th0, degs*th1
¡Gracias por la ayuda! Sin embargo, no tengo idea de qué es esta anomalía excéntrica hiperbólica F. Para la anomalía excéntrica E, es el ángulo desde el centro hasta el círculo auxiliar. Pero ¿y F? F no está representado visualmente en el diagrama y es por eso que estoy realmente confundido
@ newbie125 oh, ya veo, realmente te gustaría una explicación geométrica o realmente una ilustración. Hmm... No sé más allá de cómo se usa matemáticamente, pero intentaré averiguarlo por ti. Gracias por tu comentario.
@ newbie125 ¡Veo que hay una respuesta nueva y mucho mejor a su pregunta!