Bezier曲线被广泛用于几何造型设计中,因为它具有一些良好的几何性质。
Bezier曲线是一种参数曲线,曲线上的点集实际上是控制点的一系列线性组合,线性组合的系数由其基函数计算,因为基函数是连续的,所以其线性组合的点集也是连续的,这样就得到了我们的曲线。
Bezier曲线的实现也很简单,通过递推计算很适合计算机编程,我们在前面的文章中给出了三个简短的算法,就是实现Bezier曲线的关键算法。
仿射变换包括平移、旋转和缩放变换,对Bezier曲线进行仿射变换,其表达形式不变,只是改变了其控制点。
例如,我们将之前绘制的圆弧进行平移,其实就是将其控制点平移,而曲线表达式不变。
平移前
平移后
这一点性质为其被用于几何造型设计奠定了基础,这个性质与其基函数的性质有关。
(1)非负性: ,基函数的值始终大于或等于0;
(2)规范性: ,对于曲线上的某一点,其各控制点的权重之和正好等于1;
(3)端点性质: , 。
基于基函数的这些性质,使得控制多边形逼近于曲线的形状,具体体现在以下几个方面。
(a)凸包性:曲线包含在定义它的控制点的凸包内;
(b)端点插值性: , ,且端点处的切线分别平行于 和 ;
(c)变差减少性:任意直线和曲线的交点个数不多于它和曲线的控制多边形的交点个数,以视觉的角度,这表明Bezier曲线大体沿着它的控制多边形前进,曲线不会比它的控制多边形更拐来拐去。
以上的特性都是Bezier曲线在几何造型设计中的优点,但Bezier曲线也有明显的缺点。
复杂的曲线需要更多的控制点,这意味需要使用更高次的Bezier曲线,但是高次曲线用计算机处理时效率较低并且数值稳定性差。
Bezier曲线上的点,会受到每一个控制点的影响,这意味着修改一个控制点,会影响到整条曲线,这在实际设计中往往会带来不便。
为了解决Bezier曲线面临的这些问题,我们提出了用分段多项式为基函数来表示曲线,这就是将Bezier曲线一般化后的B样条曲线。