给定起点(origLat,origLon),终点(destLat,destlon)和完成的行程百分比。如何计算当前位置(curLat,curLon)?
Aviation Formulary是一个很好的资源,涵盖了这个问题和更多。
MTL提供了一些关于大圆计算的好内容以及一些可用于验证实现的工作小程序。
在这种情况下,它应该非常简单:
curLat = origLat + percentageOfTripCompleted*(destLat-origLat);
curLon = origLon + percentageOfTripCompleted*(destLon-origLon);
*地球是一个球体的事实对这个问题没有任何影响。