今天要讲解的内容是Android中贝塞尔曲线的应用。可能很多人对贝塞尔曲线不甚了解,这里先对它的概念做一下简单介绍。
贝塞尔曲线由多个点组成:起始点、终止点以及0到n个相互分离的中间点。根据中间点的不同,可以分为线性贝塞尔曲线、二阶贝塞尔曲线、三阶贝塞尔曲线和高阶贝塞尔曲线。一般的矢量图形软件通过它来精确画出曲线,贝塞尔曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋。对于三阶贝塞尔曲线,它由两个锚点P0、P3和两个中间点P1、P2组成。曲线起始于P0走向P1,并从P2的方向来到P3。曲线一般不会经过P1和P2,这两个点只是提供方向资讯。P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的“长度有多长”。关于贝塞尔曲线的更多内容,可以从这里了解:http://blog.csdn.net/androidzhaoxiaogang/article/details/8680330
下面是二阶、三阶和四阶曲线的效果图,红色曲线为最终绘制出来的结果,大家可以了解一下。
有个网站为我们提供了工具,可以生成对应的二阶贝塞尔曲线的数值:cubic-bezier.com。拖拽左边图像中的2个中间点,就会在右边显示两个中间点归一化的坐标值。我们还可以点击SAVE按钮将曲线保存下来,然后点击GO就可以查看通过当前曲线计算出来的差值器的效果。具体功能看下面的图。