First, using the data available in the reports, we try to compute some of the properties of orbit #2. This is not enough to completely define the trajectory, but will give us information later on in the process.

The two solutions have different inclinations, so we still have to find out which is the good one. We can do this by computing the inclination over the ecliptic - however, as the original data was in the International Celestial Reference Frame (ICRF), whose fundamental plane is parallel to the Earth equator of a reference epoch, we have change the plane to the Earth ecliptic, which is what the original reports use.

fromastropy.coordinatesimportCartesianRepresentationfrompoliastro.framesimportPlanes,get_framedefchange_plane(ss_orig,plane):"""Changes the plane of the Orbit. """ss_orig_rv=ss_orig.frame.realize_frame(ss_orig.represent_as(CartesianRepresentation))dest_frame=get_frame(ss_orig.attractor,plane,obstime=ss_orig.epoch)ss_dest_rv=ss_orig_rv.transform_to(dest_frame)ss_dest_rv.representation_type=CartesianRepresentationss_dest=Orbit.from_coords(ss_orig.attractor,ss_dest_rv,plane=plane)returnss_dest

frompoliastro.plottingimportStaticOrbitPlotterframe=StaticOrbitPlotter()frame.plot(ss0,label=Earth)frame.plot(ss1,label=Venus)frame.plot(ss01,label="#0 to #1")frame.plot(ss_1_a,label="#1 to #2");

/home/juanlu/Development/poliastro/poliastro-library/src/poliastro/twobody/orbit.py:1159: UserWarning:
Frame <class 'astropy.coordinates.builtin_frames.icrs.ICRS'> does not support 'obstime', time values were not returned