Javascript 在2d环境中以百分比为增量将对象从矢量A移动到B

Javascript 在2d环境中以百分比为增量将对象从矢量A移动到B,javascript,vector,linear-interpolation,Javascript,Vector,Linear Interpolation,我知道向量A和B的坐标。我如何计算这两个向量之间的第一个点?第一个向量X是向量A和B之间距离的1%。所以首先,我将向量A中的对象移近向量B 1%。因此,我需要计算向量X,它是对象的新向量,直到它到达向量B。您想要计算。供参考,基本公式为: x=A+t*(B-A) 其中t在0和1之间。(超出该范围的任何内容都会使其成为外推。) 检查t=0时的x=A和t=1时的x=B 请注意,我的回答没有提到向量或2D。转换为代码: function lerp(a, b, t) { var len = a.

我知道向量A和B的坐标。我如何计算这两个向量之间的第一个点?第一个向量X是向量A和B之间距离的1%。所以首先,我将向量A中的对象移近向量B 1%。因此,我需要计算向量X,它是对象的新向量,直到它到达向量B。

您想要计算。供参考,基本公式为:

x=A+t*(B-A)

其中t在0和1之间。(超出该范围的任何内容都会使其成为外推。)

检查
t=0时的
x=A
t=1时的
x=B

请注意,我的回答没有提到向量或2D。

转换为代码:

function lerp(a, b, t) {
    var len = a.length;
    if(b.length != len) return;

    var x = [];
    for(var i = 0; i < len; i++)
        x.push(a[i] + t * (b[i] - a[i]));
    return x;
}

var A = [1,2,3];
var B = [2,5,6];

var X = lerp(A, B, 0.01);
函数lerp(a、b、t){
var len=a.长度;
如果(b.长度!=len)返回;
var x=[];
对于(变量i=0;i