如何解决在2d环境中将对象从向量A移动到B,以百分比为增量
|| 我知道向量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。
, 将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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。