In two previous posts in this series I have wrangled NEO orbital data into R and then solved Kepler’s Equation to get the eccentric anomaly for each NEO. The final stage in the visualisation of the NEO orbits will be the transformation of locations from the respective orbital planes into a single reference frame.
The heliocentric ecliptic reference frame has the Sun at the origin and the ecliptic as the fundamental plane. For visualisation purposes we will be representing positions with respect to this plane in terms of rectangular (or Cartesian) coordinates.
The transformation between the orbital plane and the heliocentric ecliptic coordinate system is achieved with
where is the argument of perigee, is the inclination and is the longitude of the ascending node.
But, before we can use this transformation, we need to move to Cartesian Coordinates. This is easily accomplished.
Note that the component is zero for all of the orbits since this is the coordinate which is perpendicular to the orbital planes (and all of the orbits lie strictly within the fundamental plane of their respective coordinate systems).
Now we need to generate a transformation matrix for each orbit. We will wrap that up in a function.
First we will try this out for a single object.
That looks pretty reasonable. Now we need to do that systematically to all of the objects.
Looks good. Time to generate some plots. First we will look at the distribution of objects in the solar-ecliptic plane. Most of them are clustered within a few AU of the Sun, but there are a few stragglers at much larger distances.
We can zoom in on the central region within 5 AU of the Sun. We will also produce a projection onto the plane so that we can see how far these objects lie above or below the ecliptic plane.
The dashed circle indicates the orbit of the Earth. Most of the objects are clustered around this orbit.
Although there are numerous objects which lie a few AU on either side of the ecliptic plane, the vast majority are (like the planets) very close to or on the plane itself.
Finally a three dimensional visualisation. I would have liked to rotate this plot to try and get a better perspective, but I could not manage that with scatterplot3d. It’s probably not the right tool for that particular job.
I have enjoyed working with these data. My original plan was to leave the project at this point. But, since the data are neatly classified according to two different schemes, it presents a good opportunity to try out some classification models. More on that shortly.