static elastic(bounciness: number = 1): (t: number) => number {
    const p = bounciness * Math.PI;
    return (t) => 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);
  }
A simple elastic interaction, similar to a spring oscillating back and
forth.

Default bounciness is 1, which overshoots a little bit once. 0 bounciness
doesn't overshoot at all, and bounciness of N > 1 will overshoot about N
times.

http://easings.net/#easeInElastic