一、简介
贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau算法开发,以稳定数值的方法求出贝兹曲线。贝塞尔曲线不仅仅可以应用到工业设计中,在计算机动画开发中同样占有一席之地,通过构造贝塞尔曲线模拟物体运动的轨迹、速度甚至加速度,来达到想要的动画效果。在CSS开发中使用‘cubic-bezier’方法,传递三次贝赛尔曲线的两个控制点P1和P2来生成一条平滑的曲线。甚至也有很多javaScript动画库使用贝赛尔曲线来实现完美的动画效果。
而我要做的通过贝塞尔曲线的原理生成Android动画插值器,在Android平台上实现基于贝赛尔曲线的动画效果。想要了解Android动画原理请先阅读这篇文章。了解贝塞尔曲线绘制过程可以先阅读贝塞尔曲线扫盲,写的很好。
二、De Casteljau算法
贝塞尔曲线常见的算法是可以通过多项式、De Casteljau算法和递归算法来进行计算。针对De算法,设P0,P1,P2确定了一条二次贝塞尔曲线q,引入参数t,令