6

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

4

2 回答 2

18

你想要lerp。作为参考,基本公式为:

x = A + t * (B - A)

其中 t 介于 0 和 1 之间。(超出该范围的任何值都会使其成为额外的插值。)

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

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

于 2011-06-01T08:38:39.247 回答
14

将 aib的答案转化为代码:

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);
于 2011-06-01T08:54:25.127 回答