为了账号安全,请及时绑定邮箱和手机立即绑定

计算合力那块听不懂

var delta = x.length() - relation;

// f = k * x

f = f.add(x.normalize(delta * k));

这两行代码不太懂


正在回答

1 回答

var delta = x.length() - relation;

x是两点之间的矢量, x.length()是两点之间的长度,

delta就是两点之间的长度与relation之差。

f = f.add(x.normalize(delta * k));

delta * k 是用一个常量k将delta转化为一个合适的值,这个值控制着每一帧(大概每1/60秒)变化的位移变化量。

x是两点之间的矢量,

x.normalize(delta*k) 是x的单位矢量乘以delta*k的长度,也就是从点a到点b的方向上,移动delta*k的距离

f.add(...) 累加上述移动。


理解这个首先要理解:

1、这个是每帧动画执行,大概每1/60秒执行一次,

2、每次执行时,因两点之间的距离计算出作用力的大小,然后根据作用力的大小计算出每帧需要移动的距离和方向。

这个也就是对位移的微分。。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

计算合力那块听不懂

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号