Cool article, it left out my favorite function though: <a href="http://en.wikipedia.org/wiki/Smoothstep" rel="nofollow">http://en.wikipedia.org/wiki/Smoothstep</a><p>This is the magic sauce you need. (more visual demo here: <a href="http://sol.gfxile.net/interpolation/index.html" rel="nofollow">http://sol.gfxile.net/interpolation/index.html</a>)
The author shunned mathematics in favor of programming, but this exercise showed why that was a mistake.<p>Compared to serious mathematics, programming is relatively trivial.<p>With mathematics, you can do anything in computing.<p>Without it, you're reduced to this feeble exercise in self-enlightment.
Very classical material, especially if you've ever been (as the author) writing demos/intros in the 80s/90s (<a href="http://en.wikipedia.org/wiki/Demoscene" rel="nofollow">http://en.wikipedia.org/wiki/Demoscene</a>). I have many memories of writing basic programs that spat out sine tables, since it wasn't possible to compute something as complex as a sine in real-time.
Reading this tutorial reminded me of the first time I realized how handy a bit of math can be for animation. I think it was this little ease-out snippet that opened my eyes (served me well for years to come):<p>posX += (destX - posX)/ slowdownRate<p>Moves an item like so:
X....X...X..X.X
This ball is so much fun to play with! Single click to where you want the ball to go.<p><a href="http://www.robertpenner.com/easing/easing_demo.html" rel="nofollow">http://www.robertpenner.com/easing/easing_demo.html</a>