http://www.dreamingwish.com/article/coreanimation-programming-guide-c-the-geometric-transformation.html