经常需要实现JS的动画效果,就会用到如下的一些数学的东西。
二次方运动,从0开始加速:
var f=function(t,orgvalue,changevalue,runtime){ var t=t/runtime; return orgvalue+changevalue*t*t; };
其实就是个从原点开始的开口向上的二次方函数,从原点最小值0开始,在1的时候到达值1(二次方函数:y=x*x )。
二次方运动,最后减速到0:
同理的,相当于实现一个开口向下的二次方函数,且该二次方从原点为0开始,在1的时候到达最大值1(二次方函数:y=x*(2-x) ):
var f=function(t,orgvalue,changevalue,runtime){ var t=t/runtime; return orgvalue+changevalue*t*(2-t); };