Usually easy (In) functions is slower in beginning as you can see here: http://easings.net/ru#easeInSine But your Sine functions is swapped:  Your function: sin( 1.5707963 * t ); Tween.js (this is right): 1 - Math.cos(k * Math.PI / 2);