《图形学课件cs7章节》由会员分享,可在线阅读,更多相关《图形学课件cs7章节(66页珍藏版)》请在金锄头文库上搜索。
1、2019/6/19,1,第七章 自由曲线,本章学习目标: Bezier曲线 B样条曲线,2019/6/19,2,本章内容,7.1 基本概念 7.2 Bezier曲线 7.3 Bezier曲面 7.4 B样条曲线 7.5 B样条曲面,2019/6/19,3,工业产品的几何形状大致可分为两类:一类由初等解析曲面,如平面、圆柱面、圆锥面、球面、圆环面等组成,可以用初等解析函数完全清楚地表达全部形状。另一类由自由曲面组成,如汽车车身、飞机机翼和轮船船体等的曲线和曲面,不能用初等解析函数完全清楚地表达全部形状,需要构造新的函数来进行研究,这些研究成果形成了计算机辅助几何设计(Computer Aided
2、 Geometric Design,CAGD)学科。,2019/6/19,4,图7-1 汽车的曲面,2019/6/19,5,7.1 基本概念,7.1.1 样条曲线 7.1.2 曲线的表示形式 7.1.3 拟合和逼近 7.1.4连续性条件,2019/6/19,6,7.1.1 样条曲线曲面,在汽车制造厂里,传统上采用样条绘制曲线的形状。绘图员弯曲样条(如弹性细木条)通过各型值点,其它地方自然过渡,然后沿样条画下曲线,即得到样条曲线(Spline Curve)。在计算机图形学中,样条曲线是指由多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续性条件,而样条曲面则可用两组正交样条曲线来描述。,2
3、019/6/19,7,7.1.2 曲线的表示形式,曲线的可以采用显式方程、隐函数方程和参数方程表示: 首先看一下直线的表示形式:已知直线的起点坐标P1(x1,y1)和终点坐标P2(x2,y2),直线的显式方程表示为:,2019/6/19,8,直线的隐函数方程表示为: 直线的参数方程表示为:,,t0,1;,2019/6/19,9,由于用参数方程表示的曲线可以直接进行几何变换,而且易于表示成矢量和矩阵,所以在计算机图形学中一般使用参数方程来描述曲线曲面。下面以一条三次曲线为例,给出参数方程的矢量和矩阵表示: 参数方程表示:,,t0,1;,2019/6/19,10,矢量表示: t0,1; 矩阵表示:
4、 t0,1;,2019/6/19,11,7.1.3 拟合和逼近,曲线的拟合:当用一组型值点(插值点)来指定曲线的形状时,形状完全通过给定的型值点序列确定,称为曲线的拟合,如图7-2所示。 曲线的逼近:当用一组控制点来指定曲线的形状时,求出的形状不必通过控制点,称为曲线的逼近,如图所示。,2019/6/19,12,图7-2 拟合曲线 图7-3逼近曲线,2019/6/19,13,7.1.4连续性条件,通常单一的曲线段难以表达复杂的形状,必须将一些曲线段连接成组合曲线,才能描述复杂的形状。为了保证在连接点处平滑过渡,需要满足连续性条件。连续性条件有两种:参数连续性和几何连续性。,2019/6/19,
5、14,参数连续性 零阶参数连续性,记作C0,指相邻两个曲线段在交点处具有相同的坐标。如图7-4所示。,图7-4 零阶连续性,2019/6/19,15,一阶参数连续性,记作C1,指相邻两个曲线段在交点处具有相同的一阶导数。如图7-5所示。,图7-5 一阶连续性,2019/6/19,16,二阶参数连续性,记作C2,指相邻两个曲线段在交点处具有相同的一阶和二阶导数。如图7-6所示。,图7-6 二阶连续性,2019/6/19,17,7.4 Bezier曲线,法国雷诺汽车公司的工程师Bezier和法国雪铁龙汽车公司的de Casteljiau分别提出了一种新的参数曲线表示方法,称为Bezier曲线。,2
6、019/6/19,18,Bezier的想法从一开始就面向几何而不是面向代数。Bezier曲线由控制多边形惟一定义,Bezier曲线只有第一个顶点和最后一个顶点落在控制多边形上,且多边形的第一条和最后一条边表示了曲线在起点和终点的切矢量方向,其它顶点则用于定义曲线的导数、阶次和形状,曲线的形状趋近于控制多边形的形状,改变控制多边形的顶点位置就会改变曲线的形状。绘制Bezier曲线的直观交互性使得对设计对象的控制达到了直接的几何化程度,使用起来非常方便。几种典型的三次Bezier曲线如图7-7所示。,2019/6/19,19,几种典型的三次Bezier曲线,2019/6/19,20,7.4.1 B
7、ezier曲线的定义 7.4.2 Bezier曲线的性质 7.4.3 Bezier曲线的可分割性,2019/6/19,21,给定n+1个控制点Pi(i0,1,2n),称为n次Bezier曲线。 t0,1 式中,Pi(i0,1,2n)是控制多边形的n+1个控制点,控制多边形是连接n条边构成的多边形。是Bernstein基函数,其表达式为:,7.4.1 Bezier曲线的定义,22,1.一次Bezier曲线 当n1时,Bezier曲线的控制多边形有二个控制点P0和P1,Bezier曲线是一次多项式。 可以看出,一次Bezier曲线是一段直线。,23,2.二次Bezier曲线 当n2时,Bezier
8、曲线的控制多边形有三个控制点P0、P1和P2,Bezier曲线是二次多项式。 可以证明,二次Bezier曲线是一段抛物线。,24,3.三次Bezier曲线 当n3时,Bezier曲线的控制多边形有四个控制点P0、P1、P2和P3,Bezier曲线是三次多项式。 可以证明,三次Bezier曲线是自由曲线。,25,注意:对于Bezier曲线,在区间0,1范围内,每个基函数均不为零,说明不能使用控制多边形对曲线的形状进行局部调整,如果要改变某一控制点位置,整个曲线都将受到影响。,2019/6/19,26,7.4.2 Bezier曲线的性质,1.端点性质 在闭区间0,1内,将t0和t1代入式(7-12
9、),得到p(0)P0和p(1)P1。说明Bezier曲线的起点和终点分别位于顶点P0和P1上。,27,2.一阶导数 将式(7-12)求导,有 在闭区间0,1内,将t0和t1代入上式,得到 这说明Bezier曲线的起点和终点的切线方向位于控制多边形的起始边和终止边的切线方向上。,28,3.凸包性质 由公式(7-13)可以看出,在闭区间0,1内, ,而且 。说明Bezier曲线位于控制多边形构成的凸包之内。,29,7.4.3 Bezier曲线的可分割性,Bezier曲线的可分割性可用德卡斯特里奥(De Casteliau)算法表达如下。 给定空间n+1个点Pi(i=0,1, 2n)及参数t,有,2
10、019/6/19,30,例如,当n=3时,有 三次Bezier曲线递推如下:,2019/6/19,31,其中:规定:,2019/6/19,32,根据该式可以绘制Bezier曲线,取t=0,t1/3,t2/3,t=1,点的运动轨迹形成Bezier曲线。图7-8绘制的是t=1/3的点。,2019/6/19,33,图7-9绘制的是t=2/3的点。,2019/6/19,34,连接闭区间(0,1)内的所有点,可以绘制Bezier曲线,如图7-10所示。,2019/6/19,35,7.6 B样条曲线,Bezier曲线虽然有许多优点,但也存在不足之处:其一、确定了控制多边形的顶点个数(n+1个),也就确定了
11、曲线的次数(n次);其二、控制多边形与曲线的逼近程度较差,次数越高,逼进程度越差;其三、曲线不能局部修改,修改某一控制点将影响到整条曲线,原因是Bernstein基函数在整个开区间(0,1)内均不为零,所以曲线在开区间内任何一点的值都将受到全部顶点的影响,改变其中某一顶点的位置,将会引起整条曲线的改变。,2019/6/19,36,为了克服上述问题,Gordon和Riesenfeld于1974年用B样条基函数代替了Bernstein基函数,构造了B样条曲线。B样条曲线比Bezier曲线更贴近控制多边形,曲线更光滑(很容易产生C2连续性),曲线的次数可根据需要指定,不像Bezier曲线的次数是由控
12、制点的个数来确定。除此之外B样条曲线的突出优点是增加了对曲线的局部修改功能,因为B样条曲线是分段组成的,所以控制多边形的顶点对曲线的控制灵活而直观。,2019/6/19,37,7.6.1 B样条曲线的定义 7.6.2 二次B样条曲线 7.6.3 三次B样条曲线 7.6.4 B样条曲线的性质 7.6.5 构造特殊的三次B样条曲线的技巧,7.6 B样条曲线,2019/6/19,38,7.6.1 B样条曲线的定义,B样条曲线分为均匀B样条曲线和非均匀B样条曲线,本书只讨论均匀B样条曲线。 给定n+1个控制点Pi(i0,1,2,n),n次B样条曲线段的参数表达式为: 依次用线段连接控制点Pi(i0,1
13、,2,n)组成的多边形称为B样条曲线控制多边形。在工程实际中,二次B样条曲线和三次B样条曲线应用得较为广泛。,2019/6/19,39,7.6.2 二次B样条曲线,1.矩阵表示 二次B样条曲线的n2,i0,1,2,控制多边形有三个控制点P0、P1和P2 ,B样条曲线是二次多项式。,2019/6/19,40,2.几何性质 从图7-12可以看出,二次B样条曲线的起点p(0)位于P0P1边的中点处,且其切矢量P1P0沿P0P1边的走向;终点p(1)位于P1P2边的中点处,且其切矢量P2P1沿P1P2边的走向;从图中还可以看出,P(1/2)正是P(0)、P1、P(1)这三点所构成的三角形的中线P1Pm
14、的中点,而且p(1/2)处的切线平行于两个端点的连线p(0) p(1)。这样,三个顶点P0P1P2确定一段二次B样条曲线,该段曲线是一段抛物线。一般情况下,B样条曲线不经过控制点,曲线起点只与前二个控制点有关,终点只与后二个控制点有关。,2019/6/19,41,2019/6/19,42,7.6.3 三次B样条曲线,1.矩阵表示 三次B样条曲线的n3,k0,1,2,3,控制多边形有四个控制点P0、P1、P2 和P3,B样条曲线是三次多项式。,2019/6/19,43,2.几何性质 从图7-13可以看出,曲线的起点p(0)位于P0P1P2底边P0P2的中线上,且距P1点三分之一处。该点处的切矢量
15、p(0)平行于P0P1P2的底边P0P2,且长度为其二分之一。该点处的二阶导数p”(0) 沿着中线P1Pm方向,长度等于中线的两倍。曲线终点p(1)位于P1P2P3底边P1P3的中线上,且距P2点三分之一处。该点处的切矢量p(1)平行于P1P2P3的底边P1P3,且长度为其二分之一。该点处的二阶导数p”(1)沿着中线方向,长度等于中线的两倍。,2019/6/19,44,这样,四个顶点P0P1P2 P3确定一段三次B样条曲线。从图中还可以看出,一般情况下,B样条曲线不经过控制点,曲线起点只与前三个控制点有关,终点只与后三个控制点有关。实际上,B样条曲线都具有这种控制点的邻近影响性,这正是B样条曲
16、线局部可调整性好的原因。,2019/6/19,45,2019/6/19,46,1.连续性 B样条曲线不同于Bezier曲线整体生成,它是分段生成的,B样条曲线各段之间自然连接。对于图7-14所示二次(n2)B样条曲线,由7段曲线组成,需要9个控制点;对于图7-15所示三次(n3)B样条曲线,由6段组成,需要9个控制点。,7.6.4 B样条曲线的性质,2019/6/19,47,二次B样条曲线,2019/6/19,48,三次B样条曲线,2019/6/19,49,二次B样条曲线的连续性,2019/6/19,50,三次B样条曲线的连续性,2019/6/19,51,2.局部性质 在B样条曲线中,每段B样条曲线受n+1个控制点影响,改变一个控制点的位置,最多影响n+1个曲线段,其它部分曲线形状保持不变,如图7-18和图7-19