In the following section, you learned how D3 timers abstract the native
setInterval function and how we can use and built custom interpolations and easing functions. Finally, we saw how to build beautiful animations in D3 by the use of transitions. Transitions are automatic animations between two predefined states: a starting and an ending state. By chaining transitions together, we can again create animations.
In the last section, you learned about shape tweens and the problems of using it on custom shapes. String interpolation functions are dumb, so they only work for similar shapes (shapes with the same amount of control points). We will need to transform and subdivide shapes in order to...