Quick review:

Interpolation is the process of computing all animation values
between a starting and ending value.

Instead of thinking about an animation in terms of hundreds (or thousands)
of frames, interpolation allows you to reason about and define an animation
in terms of its starting and ending value.

Bonus questions!

In the prior example, the rate of change for the
bouncing ball’s top margin value is linear
(the margin changes by the same amount between each frame).
How would you change this example to make it possible to
interpolate values between 0 and 100 at a changing rate?

The prior example only animates a single downward motion
of the bouncing ball. Can you think of a way to:

      
        Continue the animation so that the ball bounces back up again?
        Repeat the animation indefinitely?

AnimationController