I am still not entirely sure, but it seems to me that the root of the problem is that the orbit line should be split into segments of different size depending on the distance to the observer. The way it works now, the line is always split into 360 segments of same size. When the orbit passes very near the observer (as in the Pluto seen from Charon case), a single segment projects into a large angle.
A fix might be to render the orbits using the higher level rendering functions, like `drawSmallCircleArc`.
I am still not entirely sure, but it seems to me that the root of the problem is that the orbit line should be split into segments of different size depending on the distance to the observer. The way it works now, the line is always split into 360 segments of same size. When the orbit passes very near the observer (as in the Pluto seen from Charon case), a single segment projects into a large angle.
A fix might be to render the orbits using the higher level rendering functions, like `drawSmallCircl eArc`.