EaseElasticIn method

double EaseElasticIn(
  1. num t,
  2. num b,
  3. num c,
  4. num d,
)

Elastic In

Implementation

double EaseElasticIn(num t, num b, num c, num d) => run(
  () => _debugLabel('EaseElasticIn', t, b, c, d),
  () {
    if (t == 0.0) return b.toDouble();
    if ((t/=d) == 1.0) return (b + c).toDouble();

    final p = d*0.3;
    final a = c;
    final s = p/4.0;
    final postFix = a*math.pow(2.0, 10.0*(t-=1.0));

    return (-(postFix*math.sin((t*d-s)*(2.0*rl.PI)/p )) + b);
  },
);