@orbinauts/engine - v0.1.2
    Preparing search index...

    Function groundTrackByDistance

    • The Positions of a Satellite over a window, sampled by how far its sub-point moves rather than by the clock. A fixed step is a duration, and a duration is not a distance: an eccentric orbit spends as long at a perigee racing at 6.2 km/s as at an apogee crawling at 0.8, so a step fine enough for the one draws hundreds of needless points for the other, and a step cheap enough for the other tears the one into chords of a thousand kilometres.

      The walk starts on the fixed grid maxStepSeconds gives and halves any step whose ends are further apart than the bound, down to minStepSeconds. So the ceiling still decides what a slow sub-point costs — a Geostationary Satellite's figure is the grid and nothing more — the floor still decides what a fast one costs, and the points in between are spent where the line bends.

      Both ends of the window are drawn, so the track covers exactly the span it was asked for and its last step is bounded like every other. Where groundTrack stops at the last whole step, this cannot: the caller draws a track ending now against a Satellite standing there, and stopping a step short would leave the very gap the bound exists to close.

      Every point says whether the Satellite is Sunlit there, by the same shadow test isSunlit runs, against one Sun for the whole window: the Sun's at the window's middle. Over half an orbit the Sun moves a few hundredths of a degree against the stars, which moves the ISS's shadow crossings by under a second, and over half a day it moves half a degree, which moves a Geostationary Satellite's by under a minute: either is finer than the steps the track is drawn in, and one Sun per line is one solar ephemeris instead of hundreds.

      Parameters

      Returns TrackSample[]