![]() The two parameters $a$ and $e$ are enough to determine the shape of the orbit. $$ r_a = a(1 e) \\ r_p = a(1-e) $$ The naming of these points is a little funny: apoapsis and periapsis are the generic terms, but orbits around particular bodies have specific terms: a spacecraft around the Earth has an apogee and perigee, while the Earth (in orbit around the Sun) has an aphelion and perihelion. Earth-orbiting spacecraft usually have $e<0.01$.Īside: From $e$ and $a$ we can determine the most far and the closest points in the orbit, the apoapsis and periapsis (together apsides): Mercury is the most eccentric planet with $e \approx 0.2$. Ranges from $e=0$ for a perfectly circular orbit, to $e=1$ for a parabolic orbit, to $e>1$ for hyperbolic orbits. ![]() The two are related by $\ell=a(1-e^2)$.Įccentricity, $e$: The "pointiness* of the orbit. The semi-latus rectum $\ell$, the "width" of the orbit, can be a better choice for orbits that are close to parabolic (like for asteroids) or that change from elliptical to hyperbolic (like interplanetary spacecraft). The energy and period of the orbit depend only on $a$. ![]() Semi-major axis, $a$: Half the maximum diameter of the ellipitical orbit, ( = cicle radius if the orbit is circular). Instead of specifying position and speed, they specify six different parameters of the orbit (if you just want to get to the code, you can skip this part): The traditional solution to the two-body problem involves a different way of representing the position of the orbiting body, called the Keplerian orbital elements (also just called orbital elements). Since you're trying to model the positions of the planets with medium accuracy, reduction to the two-body problem should work for you. For example, the Earth traveling around the Sun or a spacecraft traveling in a low Earth orbit are well-modeled as a two body problem however, a spacecraft traveling from the Earth to the Moon is not (more on that later). The two-body problem is a good simplification if the simulation objects are mainly affected by a single, large object. ![]() If your simulation can be treated as a two-body problem, then things simplify dramatically. However, this is kind of overkill for simple simulation. You can get around some of these problems by using a higher-order integrator ( Runge-Kutta is a popular one) which allows you to take larger steps for the same level of accuracy, or get better accuracy for the same step size. This works OK, but it can be slow if you want high accuracy, and there are some numerical problems (errors caused by rounding[slowly accumulate, and many integrators cause energy drift). In your formulation of the problem, you're starting out with the Cartesian orbital state vectors (also called Cartesian elements): that is, the initial position and velocity.Īs you have discovered, the only way to propagate the Cartesian elements forward in time is by numerical integration. The problem you want to solve is called the Kepler problem. ![]()
0 Comments
Leave a Reply. |