Having said that, we should have a brief look at the data we will produce with a function called getRainData(). It will give us 2,500 raindrops (heavy rain this time) that look a little different to our previous example:

A raindrop the Vanilla Canvas way versus a raindrop the D3-and-Canvas way
The key differences are that you don't need the speed for the D3 raindrop version, as we plan for D3's transition to implement the animation. Further, the D3 and Canvas raindrop has properties for a set of states included, while the Vanilla Canvas raindrop only has start and current positions.