它背后的原理简单的超乎想象,体现了数学的美妙。
先从简单的开始,两个点之间进行线性插值。

很容易理解,可以得到
当然这是最简单的情形,如果扩展到三个点该如何插值呢?从上面图片上可以看到,可以分成三步,从P0到P1进行上面的一维情形,得到点Q0,再从P1到P2,得到Q1,那么就有

同样可以推广到四个点的情形,这样的曲线中,t的最高幂是三次。三次样条曲线用的最多,因为它提供了足够的可控制性和满足大部分场合的精度,同时又保持了相对的简单。
依照上面的方法,可以得到三次的情形

这个时候可以注意到Pi点前面的系数,是不是似曾相识?没错,就是二项式公式。可以看成是相应次幂的(1-t + t)^n的展开。这个系数叫做Bernstein多项式。
最常用的三次曲线如下图,其中中间的两个就是控制点,在一些绘图软件里用钢笔拖出来的两条调整曲线形状的直线,就是调节中间两个点的位置。

推广到任意中n的情况

不过n大于3的时候就很少用了,除非在一些要求比较高的场合,比如飞机汽车线形的设计。
更多的资料,可以看这里
http://en.wikipedia.org/wiki/B%C3%A9zier_curve
没有评论:
发表评论