2 votos

Ecuaciones paramétricas 3D para una órbita elíptica, usando el ángulo de inclinación

Estoy modelando órbitas planetarias usando ecuaciones paramétricas, con el Sol en (0,0).

En 2D, es bastante sencillo ($a$ es la longitud del semieje mayor y $e$ es la excentricidad)

$$ x\left(t\right)=a\ cos\left(t\right)+ae,\\ y\left(t\right)=a\sqrt{1-e^2}\ sin\left(t\right)\\$$

Sin embargo, estoy teniendo dificultades para extender el modelo a 3D. Si utilizo coordenadas esféricas polares, $\phi$ es el ángulo entre el eje Z y el vector $\vec{OP}$, donde P es la posición del planeta.

Dado que la inclinación orbital se mide desde el eje x positivo hasta $\vec{OP}$, entonces $i=\frac{\pi}{2}-\phi$. De este diagrama, $z=\frac{r}{tan(\phi)}$.

Si utilizo la ecuación polar $r=\frac{a\left(1-e^2\right)}{1+ecos\ \theta}$, entonces $$z\left(t\right)=\frac{a\left(1-e^2\right)}{\left(1+ecost\right)tan\left(\frac{\pi}{2}-i\right)}=\frac{a\left(1-e^2\right)tan\left(i\right)}{\left(1+ecost\right)}$$

Sin embargo, al graficar la órbita de Venus y la Tierra en el mismo eje, obtengo este resultado en MATLAB. No creo que haya errores en mi código, por lo que debe ser un error en mis cálculos matemáticos.

tl;dr ¿Existe una mejor manera de modelar elipses con un ángulo específico de inclinación?

function [] = orbitEquations_3d(planetName, eccentricity, a, inclination)
% inicializar (1-e^2) y sqrt(1-e^2)

    oneMinusE_sq = (1-eccentricity^2);
    sqrtOneMinusE_sq = sqrt(oneMinusE_sq);

    % convertir el ángulo de inclinación de grados a radianes
    inclination = inclination/180 * pi; 

% nombre del planeta
    disp(planetName);

% mostrar ecuaciones
    disp("paramétrico");
    fprintf("x(t) = %.6f*cos(t) + %.6f\n", a, eccentricity*a);
    fprintf("y(t) = %.6f*sin(t)\n", a * sqrtOneMinusE_sq);
    fprintf("z(t) = %.6f*tan(%.6f)/(1+%.6fcos(t)) \n", a * oneMinusE_sq, inclination, eccentricity);
    fprintf("\n\n");
end

1voto

Dave Puntos 11

Esta pregunta fue formulada hace bastante tiempo, pero quizás una respuesta aún sea útil. Creo que esta respuesta es correcta, aunque es posible que no haya adaptado completamente el enfoque que sugiero a tu declaración del problema para asegurarme de que sea de ayuda.

Suponiendo: (con una inclinación de cero) la elipse orbital está en el plano X-Y, el foco más a la izquierda está en el origen, el semieje mayor está a lo largo del $x$ eje, y el semieje menor es paralelo al eje $y$:

Elipse orbital con inclinación cero

Una forma de ver una solución a este problema es ver la elipse orbital de lado, lo que muestra que las coordenadas $x$ y $z$ de todos los puntos en la elipse se pueden expresar fácilmente en función del ángulo de inclinación (desde el eje x positivo). Esto se ve así para una inclinación de Pi/4:

Vista de lado de la elipse orbital con inclinación Pi/4

Esta imagen de lado de la elipse sería equivalente a la hipotenusa $\rho$ en tu diagrama: https://i.stack.imgur.com/de28x.png

Como puedes ver en tu diagrama (donde $r$ sería $x\left(t\right)$), y usando tus definiciones anteriores para $x\left(t\right)$ y $y\left(t\right)$, tendríamos, para un ángulo de inclinación $i$ (que sería el ángulo $\frac{\pi}{2}-\phi$ en tu diagrama), la coordenada $x$ variando como $x\left(t\right)\cdot\cos\left(i\right)$, y la coordenada $z$ variando como $x\left(t\right)\cdot\sin\left(i\right)$

Entonces, las coordenadas de cualquier punto en la elipse inclinada a un ángulo $i$ respecto al eje $x$ positivo, serían: $$X\left(t,i\right)=x\left(t\right)\cdot\cos\left(i\right)$$ $$Y\left(t,i\right)=y\left(t\right)$$ $$Z\left(t,i\right)=x\left(t\right)\cdot\sin\left(i\right)$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X