De Callao a la Luna; Programación orientada a objetos aplicada al cálculo de trayectorias espaciales (Java). Una aproximación práctica.
Vista de la Tierra desde su satélite

De Callao a la Luna; Programación orientada a objetos aplicada al cálculo de trayectorias espaciales (Java). Una aproximación práctica.

En este artículo, vamos a explorar cómo implementar las ventajas que nos ofrece la programación orientada a objetos para mejorar la precisión, eficiencia y confiabilidad del cálculo de trayectorias espaciales.

?Qué es la programación orientada a objetos?

La programación orientada a objetos (POO) es un paradigma de programación que se basa en el concepto de "objetos", que son entidades que tienen estado y comportamiento. En la POO, se crean clases que representan a estos objetos y se utilizan para crear instancias.

Ventajas de la utilización de POO en la exploración espacial.

La programación orientada a objetos ofrece varias ventajas en el contexto de la exploración espacial, tales como:

  • Modelización precisa: La programación orientada a objetos permite modelar los conceptos del mundo real de manera más precisa y detallada, lo que es esencial en el contexto de la exploración espacial donde las condiciones y los requerimientos pueden ser muy complejos.
  • Reutilización de código: La programación orientada a objetos promueve la creación de clases genéricas que pueden ser reutilizadas en diferentes contextos, lo que reduce la cantidad de código necesario y acelera el desarrollo de aplicaciones.
  • Facilidad de mantenimiento: La programación orientada a objetos permite una mayor modularización y encapsulación del código, lo que hace más fácil su mantenimiento y mejora la confiabilidad de las aplicaciones.
  • Mejor comprensión y colaboración: La programación orientada a objetos permite una mejor comprensión del código por parte de los desarrolladores debido a su estructura lógica y a la claridad de sus nombres de clases y métodos. Esto facilita la colaboración entre los miembros del equipo y mejora la eficiencia del proceso de desarrollo.

Tipos de trayectorias espaciales.

La trayectoria de tiro se refiere al recorrido que sigue un objeto lanzado desde la superficie de la Tierra hacia el espacio. La trayectoria de tiro es parabólica debido a la acción combinada de la fuerza gravitatoria y la velocidad inicial con la que se lanza el objeto, no siendo necesario realizar ningún tipo de corrección tal y cómo imaginó Julio Verne en "Viaje Alrededor de la Luna".

No hay texto alternativo para esta imagen

La trayectoria de transferencia, por otro lado, se refiere al recorrido que sigue un objeto lanzado desde la Tierra con el objetivo de alcanzar un objetivo en el espacio, como un satélite o un planeta. La trayectoria de transferencia puede ser elíptica, parabólica o hiperbólica, dependiendo de la velocidad inicial y el objetivo final.

El concepto de trayectoria de transferencia se remonta a los primeros trabajos de Johannes Kepler (1571-1630), quien formuló las leyes que describen el movimiento de los planetas alrededor del Sol. En sus leyes, Kepler estableció que los planetas se mueven en órbitas elípticas, lo que significa que su distancia al Sol varía a lo largo del tiempo.

No hay texto alternativo para esta imagen
Isaac Newton

Más tarde, en el siglo XVII, el matemático y físico alemán Isaac Newton (1643-1727) en su Philosophi? Naturalis Principia Mathematica, formuló su ley de gravitación universal, que establece que la fuerza gravitatoria entre dos cuerpos es directamente proporcional al producto de sus masas y inversamente proporcional al cuadrado de la distancia entre ellos. Esta ley permitió a Newton calcular el movimiento de los planetas y otros cuerpos celestes con mayor precisión y establecer la relación entre el movimiento orbital y la fuerza gravitatoria.

En resumen, aunque el concepto de trayectoria de transferencia se remonta a Kepler y sus leyes del movimiento orbital, fue Newton quien estableció las bases matemáticas para calcular y predecir el movimiento de los cuerpos celestes con precisión.

Segunda Ley de Newton.

Para calcular la trayectoria de tiro o de transferencia de un objeto, es necesario conocer su posición y velocidad iniciales, así como la aceleración debida a la gravedad y las fuerzas que actúan sobre el objeto. Una vez conocidos estos parámetros, se puede utilizar una ecuación de movimiento (como la segunda ley de Newton) para calcular la trayectoria del objeto en cada instante de tiempo.

No hay texto alternativo para esta imagen
Fuerza = Masa x Aceleración

Conceptos básicos de mecánica celeste.

Vamos a suponer que la Tierra y la Luna son dos cuerpos estáticos y que están solos en el Universo. En este caso ideal, para viajar a la Luna solamente deberíamos superar la gravedad terrestre y dirigirnos a nuestro satélite. Para escapar del campo gravitatorio de la Tierra es necesario alcanzar una velocidad de unos 11 km/s (40000 km/h), pero obviamente podemos aumentar la velocidad si queremos llegar a antes a nuestro destino.?De todas formas, un error muy común es suponer que necesitamos alcanzar la velocidad de escape para alcanzar la Luna. No es cierto. Basta con situarse en una órbita muy elíptica (con una excentricidad muy alta) en la que el perigeo -el punto de la órbita más cercano a la Tierra- sea de unos 150-400 kilómetros y el apogeo esté situado en la órbita lunar, que se halla a una distancia de?363000-405000 kilómetros.

Lo que pasa es que la órbita de transferencia posee una excentricidad tan alta que es muy fácil convertirla en una órbita hiperbólica -es decir, de escape- con un poco de velocidad extra. De hecho, para situarnos en esta órbita de transferencia suele ser necesario alcanzar unos 10,8 km/s. Como vemos, una velocidad que está muy cerca de la velocidad de escape (o ‘segunda velocidad cósmica’, como dicen los rusos).?En este caso ideal, da igual la inclinación del plano de la órbita de transferencia.

Para alcanzar la Luna de forma directa necesitaremos entonces una órbita elíptica de transferencia, lo que viene siendo una órbita de Hohmann de toda la vida. La órbita de Hohmann de mínima energía tendrá un plano similar al de la órbita de la Luna. Si nuestra nave acelera hasta 10,8 km/s mientras está en órbita baja terrestre, quedará situada en una órbita de transferencia de Hohmann con un apogeo en la órbita lunar (380000 kilómetros).

No hay texto alternativo para esta imagen
Un ejemplo de una órbita de transferencia Hohmann entre la Tierra y Marte, tal como la utiliza la sonda InSight de la NASA .

Cálculo de la órbita de transferencia de un cuerpo en programación orientada a objetos. (POO)

Para calcular la trayectoria de transferencia de un cuerpo en POO, podemos seguir los siguientes pasos:

  • Definir las clases necesarias para representar al objeto y a los diferentes elementos que intervienen en su movimiento (como la fuerza gravitatoria o las fuerzas externas).
  • Establecer los parámetros iniciales del objeto (como su posición y velocidad iniciales, su masa y la aceleración debida a la gravedad).
  • Utilizar una ecuación de movimiento (como la segunda ley de Newton) para calcular la posición y velocidad del objeto en cada paso de tiempo. Para ello, podemos utilizar una función de integración numérica como el método de Euler o el método de Runge-Kutta.
  • Almacenar la posición del objeto en cada paso de tiempo en una lista o en un array para poder dibujar su trayectoria más tarde.
  • Podemos?Utilizar una librería gráfica para dibujar la trayectoria del objeto.

Cálculo de trayectoria desde Plaza de Callao a Mar de la Tranquilidad en Java.

A continuación se presenta un ejemplo de código en Java que utiliza el tiro de transferencia para calcular la trayectoria óptima para llegar al Mar de la Tranquilidad, en la Luna, desde la plaza Callao de Madrid:

No hay texto alternativo para esta imagen
Implementación de cálculo de trayectoria desde Plaza de Callao a Mar de la Tranquilidad. Variables.
No hay texto alternativo para esta imagen
Implementación de cálculo de trayectoria desde Plaza Callao a Mar de la Tranquilidad. Función y Array.
No hay texto alternativo para esta imagen
Implementación de cálculo de trayectoria desde Plaza de Callao a Mar de la Tranquilidad. Salida por consola.

Este código utiliza el tiro de transferencia para calcular la velocidad y el ángulo de lanzamiento necesarios para alcanzar la órbita lunar. Luego, utiliza estos valores para calcular la trayectoria óptima para llegar al Mar de la Tranquilidad. El resultado se imprime en pantalla como una lista de coordenadas (x, y, z) que representan la posición de la nave en cada momento del vuelo.

No hay texto alternativo para esta imagen
Salida por consola de lineas de coordenadas

La extracción arroja 1011 actualizaciones de coordenadas en nuestro hipotético viaje de Callao a Mar de la Tranquilidad.

En el siguiente enlace os dejo el código para que podáis "trastear".

https://onecompiler.com/java/3ytf8ekmx

Conclusión

En resumen, hemos visto como la programación orientada a objetos es una herramienta muy útil en el contexto de la exploración espacial debido a su capacidad para modelar precisamente los conceptos del mundo real, reutilizar código, facilitar el mantenimiento y mejorar la comprensión y la colaboración.

要查看或添加评论,请登录