B样条曲线

介绍        

        1074年,GordonRiesenfeldB样条基函数代替了Bernstein基函数,构造了B样条曲线。B样条曲线分段组成。每一段的参数t的区间为[0,1]。这样就克服了Bezier曲线的缺点:改变Berier曲线任意一个控制点,曲线上的所有点都变换。BSpline曲线的优点:修改某一控制点只引起与该控制点相邻的曲线形状发生变化,远处的曲线形状不受影响。这种优点使得B样条曲线广泛应用于交互式自由曲面设计。

        二次Bezier曲线有三个控制点。n条二次Bezier曲线有3n个控制点。实际上,不需要这么多控制点。二个相接的曲线可减少一个点。可减少n-1点。设第1条二次Bezier的三个控制点为p1,p2,p3,2条二次Bezier的三个控制点为p3,p4,p5,则控制点可减少为5个即p1 p2 p3 p4 p5。如果令p3p2p4点的中点,则又减少了一个控制点p3。这样,四个控制点p1 p2 p4 p5就可以确定二条二次Bezier曲线。5个控制点确定3条,6个控制点确定4条。n个控制点确定n-2条二次Bezier曲线。

B样条曲线的定义

       B样条曲线分为均匀B样条曲线和非均匀B样条曲线,这里只讨论均匀B样条曲线。给定n+1个控制点Pi(i=0,1,2,...,n)的坐标PinB样条曲线段的参数表达式为

式中为nB样条基函数,其形式为

   

其中

二次B样条曲线

        二次B样曲线的n=2,i=0,1,2控制多边形有3个控制点P0,P1,P2B样条曲线是二次多项式。

        公式 待续

三次B样条曲线

       公式待续

演示程序截图

三次B spline

B样条曲线_第1张图片

参考书籍

《计算机图形学》 孔令德

你可能感兴趣的:(计算机图形学)