Currently Cesium seems to have only 2 methods
cesium.com/docs/cesiumjs-ref-doc/EllipsoidGeodesic.html
interpolate (absolute or by fraction)
set end points (by constructor or edit existing)
I tried to see if interpolate would also extrapolate (EDIT: it does also extrapolate I found out later)
I used to use formulas found here (which assumes perfect sphere) to travel along great circles using the Google Earth API many years ago
www.movable-type.co.uk/scripts/latlong.html
movable-type also has formulas for ellipsoids for greater accuracy
www.movable-type.co.uk/scripts/latlong-vincenty.html
(Cesium seems to lack this extrapolation)
“Given distance, initial bearing, start point”
find
“Destination point, final bearing”
(Cesium does have this with Geodesic properties)
“Given two points”
find
“Initial bearing, final bearing, and distance”
All calculations given in JavaScript, under opensource.org/licenses/MIT . GitHub page here github.com/chrisveness/geodesy Of course some transcribing would be required if used in Cesium, such as converting latlon object to cartographic objects.
Geodesic I believe are basically just segments of Great Circles.
en.wikipedia.org/wiki/Great_circle
(Great Circles being the circle intersection of a plane that cuts the Earth in half)
(they are also ‘straight’ lines along an ellipsoid’s surface)
(the Equator and all longitude lines are Great Circles)
Having a Great Circle module would be nice, or perhaps just make it a part of Geodesic, a full Geodesic where the start and stop points are one in the same (maybe make them the point where the circle crosses the equator going north, not just a segment of a Great Circle.) The higher the inclination of the Great Circle the more of a Great Ellipse it becomes. I wonder if the same holds true for orbits.
some example methods:
-Given 2 points: Identify the Great Circle they both are a part of.
-Given 2 Great Circles: Identify both intersection points
-length (Equator being the longest, longitudes being the shortest)
-Given 1 Great Circle and a latitude: find intersection points (either 2 or 1 or 0)
(equator is both a Great Circle and a latitude, intersecting itself infinitely)
-Given 1 Great Circle: find max latitude (equator 0, longitude circles 90, everything else in between)