OsmSharp/OsmSharp — pull request #152 by txsmith (2014-07-31 21:34:51+00:00)
Title: Improvements to MapViewAnimator

Hi there,

Second try.
I made some changes to the way animations are performed.
MapViewAnimator now implements cubic bezier timing functions (just like CSS3).
Animations also execute at a maximum frame rate of 60 fps, in a time dependent way. This ensures all animations will finish within the specified time frame, regardless of any performance hiccup.

When an animation starts, the MapViewAnimator creates a CubicBezier object encapsulating a bezier curve. (https://en.wikipedia.org/wiki/B%C3%A9zier_curve)
This curve represents the progress of an animation over time. The curve is used every in frame to compute the next progression of the animation, dependent on the time that has passed.

To change the timing function, just use a different CubicBezier object. These animations can easily be generated by web apps like http://cubic-bezier.com/
Both a linear and a smooth easing function is built-in.

Hope you like it