Javascript 在2d环境中以百分比为增量将对象从矢量A移动到B
我知道向量A和B的坐标。我如何计算这两个向量之间的第一个点?第一个向量X是向量A和B之间距离的1%。所以首先,我将向量A中的对象移近向量B 1%。因此,我需要计算向量X,它是对象的新向量,直到它到达向量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.
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