我知道向量 A 和 B 的坐标。如何计算这两个向量之间的第一个点?第一个向量 X 是向量 A 和 B 之间距离的 1%。所以首先我将向量 A 中的对象移动到向量 B 1%。所以我需要计算向量 X,它是对象的新向量,直到它到达向量 B .
问问题
10119 次
2 回答
18
你想要lerp。作为参考,基本公式为:
x = A + t * (B - A)
其中 t 介于 0 和 1 之间。(超出该范围的任何值都会使其成为额外的插值。)
检查x = A
何时t = 0
和x = 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 回答