Overview of Orbital Parameters

Introduce the fundamentals of orbital mechanics.

We'll cover the following

Overview

Python is a perfect candidate for modeling simple 2-body orbits, like a satellite orbiting the Earth. (It is also a good candidate for complicated 3-body orbits, but we will not get into 3-body orbits in this course.) You want to be able to model basic circular and elliptical orbits in two and three dimensions. You will take advantage of Matplotlib’s FuncAnimation() function to animate the 2D orbit to show how the orbital velocity increases at the closest point to Earth and decreases at the farthest point from Earth. You can also use Matplotlib’s 3D plotting functionality to plot orbits in 3D, which will help to illustrate the effects of the different orbital parameters.

Solving the 2-body problem requires some form of ordinary differential equations to solve for time and position. These methods usually require a type of numerical method (Newton’s Method, Runge-Kutta methods, Kepler’s Method, or lots of others) to numerically solve position as a function of time. You could write these differential equation solvers yourself, but you can use existing libraries with this functionality. You will use PyAstronomy’s KeplerEllipse class to create x, y, and z coordinates of a satellite’s position over a period of time, then use Matplotlib to plot these points. The documentation for PyAstronomy can be found in footnote [1] at the end of this chapter.

Basics of orbital mechanics

The particulars of the hows and whys of orbital mechanics are beyond the scope of this course; however, this will serve as a crash course in orbital mechanics. A satellite’s orbit around a body (i.e., Earth) can be described and calculated based on the following parameters:

Get hands-on with 1400+ tech skills courses.