We read great_circle_waypoint use Math::Trig 'great_circle_waypoint';
($thetai, $phii) = great_circle_waypoint($theta0, $phi0, $theta1, $phi1, $way); Where the $way is a value from zero ($theta0, $phi0) to one ($theta1, $phi1). Note that antipodal points (where their distance is pi radians) do not have waypoints between them (they would have an an WRONG. $way can also be less than zero or more than one. Try it. In fact that is how one can trace points beyond the two on the same circle. Yes, please add the "Let's go from London to Tokyo, and not stop there but instead continue on to see where double the distance will take us:" I mention in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=697566 and also "Let's go from London to Tokyo, but start even somewhere earlier, but on the same circle... e.g., $way = -0.5 ...".