Ending Thoughts and the Molniya Orbit

Concluding remarks for orbital mechanics and a real-world example.

This chapter briefly introduced orbital mechanics and used an existing third-party library to model 2D and 3D elliptical orbits with Matplotlib. Third-party libraries are a great way to let others’ expertise guide you along your programming journey. The KeplerEllipse class within PyAstronomy clocks in at about 660 lines of code; we were able to import it and plot an ellipse in about 10 meaningful lines of code. This program is a good learning tool to understand the different orbital parameters and graphically display them. Arguments of periapsis and longitude of the ascending node are hard to conceptualize with words, and even a static figure does not clearly convey the picture. Being able to graphically represent these parameters and watch the orbits change as the parameters change is an invaluable learning tool, and it can be applied to anything from learning the basics to being used in the advanced orbital analysis.

With the steps you learned in this chapter, you can now plot any satellite orbit. The Russian Molniya orbit is often discussed in orbital mechanics; the Russians wanted a satellite to be overhead for half of the day for communications and remote sensing at high latitudes. This meant that the satellite needed to have a very low perigee and a very high apogee. Plot the Molniya orbit based on the following orbital parameters from Wikipedia [5]:

  • Semi-major axis (a): 26,600 km

  • Period (per): 0.5 days

  • Eccentricity (e): 0.737

  • Longitude of the ascending node (Omega): -25.0 degrees (for viewing purposes; in reality, its Omega was 0.0 degrees)

  • Inclination (i): 63.4 degrees

  • Argument of perigee (w): 270 degrees

Use the following code to plot a Molniya orbit.

Note: this code has been optimized to produce a gif right under 2 MB in size to comply with Educative upload requirements. It also may take up to 30 seconds to generate.

Get hands-on with 1200+ tech skills courses.