伯恩斯坦多项式与贝塞尔曲线
我们在研究贝塞尔曲线的时候,首先遇到的就是伯恩斯坦多项式(Bernstein polynomial),为此,有必要专门开出一篇文章来探讨伯恩斯坦多项式的性质。当伯恩斯坦系数是二维平面中的一系列固定点时,伯恩斯坦多项式就演变成了贝塞尔曲线。
从定义出发,伯恩斯坦多项式的第n阶项有如下形式:
其中 i=0, 1, …, n, 而
伯恩斯坦 n 阶多项式可以形成一组 n 阶指数多项式的基底。一般伯恩斯坦多项式可以表示为:
其中,
性质
伯恩斯坦多项式满足如下性质:
对称性:
正性:
归一化:
极值:
当
- 临近项关系
伯恩斯坦多项式的项总是可以表示为两个比他高一阶项的线性组合
而其导数可以表示为两个低一阶项的线性组合
当然这里需要考虑到一个约定,即当 i<0 或 i>n 时,
这是很容易理解的。二阶项系数的含义是在不考虑顺序的情况下,从 n 中挑选出子集大小为 i 的可能性有多少。当 i<0 或 i>n 时,其可能性当然为零。
由此,我们也知道,当 i<0 或 i>n 时,
- 端点:
当 t=0 或 t=1 时,其结果满足
其中,
- 积分:
多项式前几阶结果
通过求取多项式的前几阶结果,并画出相应的函数图,可以很直观地验证上述伯恩斯坦多项式的几个性质。
零阶:
一阶:
二阶:
三阶:
四阶:
五阶:
贝塞尔曲线
伯恩斯坦多项式的一般形式
其中,
是 n 阶伯恩斯坦基底多项式。而
我们先来看一个三阶贝塞尔曲线的例子:
在该例子中,共有四个坐标点(控制点)。读者可以尝试拖动四个控制点,看看贝塞尔曲线的形态变化。
结合伯恩斯坦多项式的前几阶展开式,我们可以得到相应的贝塞尔曲线形式。
线性曲线
对一阶伯恩斯坦多项式展开,得到如下形式:
从公式可以看出,二阶展开式对应的是介于
二次方曲线
对二阶伯恩斯坦多项式展开,得到如下形式:
B(t) 对 t 求导,得到下式:
把两个端点代入式子中:
这个结果显示,位于
读者可以尝试拖动三个坐标点(控制点)看看曲线和切线的形态变化。
三次方曲线
和二次方曲线类似,我们先写出展开式:
接着对展开式求导,得到如下结果:
代入端点值:
结果显示,位于
读者同样可以尝试拖动四个坐标点(控制点)来看看曲线和切线的形态变化。
四次方曲线和更高次的曲线,我们不做详细的讨论,只做动态曲线演示。其结论的推导方式和三次方、二次方曲线类似。感兴趣的读者可以自己推导。