popmotion
Version:
The animator's toolbox
14 lines • 642 B
JavaScript
var identity = function (v) { return v; };
export var createAttractor = function (alterDisplacement) {
if (alterDisplacement === void 0) { alterDisplacement = identity; }
return function (constant, origin, v) {
var displacement = origin - v;
var springModifiedDisplacement = -(0 - constant + 1) * (0 - alterDisplacement(Math.abs(displacement)));
return displacement <= 0
? origin + springModifiedDisplacement
: origin - springModifiedDisplacement;
};
};
export var attract = createAttractor();
export var attractExpo = createAttractor(Math.sqrt);
//# sourceMappingURL=attract.js.map