这是一篇转载文章。Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线。 曲线定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。 1962 年,法国数学家 Pierre Bézier 第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名,称为贝塞尔曲线。

1 抛物线三切线定理

是一跳抛物线上顺序不同的三个点。过 的切线交于 。过 的切线交 相交于 ,则有如下比例成立:

抛物线三切线定理示意图

此即为抛物线的三切线定理。

2 二次贝塞尔曲线

固定时,引入参数 ,令上述比例值为 ,即有:

将第一,二个式子代入第三个有:

从 0 变到 1 时, 点经过的轨迹即为上图中的抛物线,也即为由三顶点 , , 决定的一条二次贝塞尔曲线。也可以认为这条二次贝塞尔曲线是由两个前顶点 以及两个后顶点 决定的。

3 更高阶的贝塞尔曲线

类似于二次贝塞尔曲线的推导过程,我们可以推广到更高阶的贝塞尔曲线。

由四个控制点定义的三次 Bezier 曲线 可被定义为分别由 确定的二条二次 Bezier 曲线的线性组合,由 个控制点 定义的 n 次 Bezier 曲线 可被定义为分别由前、后 个控制点定义的两条 次 Bezier 曲线 的线性组合:

由此可以得到 Bezier 曲线的踢腿计算公式

这就是 de Castelijau 算法。

4 贝塞尔曲线原理动图

一阶贝塞尔曲线
二阶贝塞尔曲线
三阶贝塞尔曲线
四阶贝塞尔曲线
五阶贝塞尔曲线