两点之间的位置插值计算问题

已知一个目标从A点运动到B点,知道A点和B点的经纬度,
假定目标是直线运动
怎么计算A点到B点的路径点呢,就是对其进行插值呢

最好是js版本的


//位置差值
    static positionInterpolation(positionArray: any[], time: number) {
        let result = {
            longitude: 0,
            latitude: 0,
            altitude: 0,
        };
        if (positionArray.length > 1) {
            //位置插值
            let lon_D = positionArray[1].longitude - positionArray[0].longitude;
            let lat_D = positionArray[1].latitude - positionArray[0].latitude;
            let alt_D = positionArray[1].altitude - positionArray[0].altitude;
            let time_D = positionArray[1].time - positionArray[0].time;
            result.longitude = ((lon_D / time_D) * (time - positionArray[0].time)) + positionArray[0].longitude;
            result.latitude = ((lat_D / time_D) * (time - positionArray[0].time)) + positionArray[0].latitude;
            result.altitude = ((alt_D / time_D) * (time - positionArray[0].time)) + positionArray[0].altitude;

            return result;
        }
    }