贝塞尔曲线

一阶曲线

一阶曲线是没有控制点的,仅有两个数据点(A 和 B),最终效果一个线段。

二阶曲线

二阶曲线由两个数据点(A 和 C),一个控制点(B)来描述曲线状态
贝塞尔曲线
F就是贝塞尔曲线上的一个点(由A驶向C),动态过程如下。
贝塞尔曲线
贝塞尔曲线

三阶曲线

三阶曲线由两个数据点(A 和 D),两个控制点(B 和 C)来描述曲线状态
贝塞尔曲线
贝塞尔曲线
贝塞尔曲线

四阶曲线

四阶曲线由两个数据点和三个控制点,来描述曲线状态
贝塞尔曲线

五阶曲线

五阶曲线由两个数据点和四个控制点,来描述曲线状态

贝塞尔曲线

三阶曲线相比于二阶曲线可以制作更加复杂的形状,但是对于高阶的曲线,用低阶的曲线组合也可达到相同的效果,就是传说中的降阶。所以一般最高只到三阶曲线即可。

贝塞尔曲线画圆

圆可以看成是四段三阶贝塞尔曲线构成(每个1/4圆就是一段三阶贝塞尔曲线)
如图所示,P0、P3是数据点,P1、P2是控制点。
tips:贝塞尔曲线画的圆,是个很接近的圆(并非百分百数据准确)
贝塞尔曲线

参考:
安卓自定义View进阶-Path之贝塞尔曲线
Approximate a circle with cubic Bézier curves