Bezier曲线B样条曲线PPT教学课件_第1页
Bezier曲线B样条曲线PPT教学课件_第2页
Bezier曲线B样条曲线PPT教学课件_第3页
Bezier曲线B样条曲线PPT教学课件_第4页
Bezier曲线B样条曲线PPT教学课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 在本章中,我们将主要介绍曲线曲面的参数表示,Bezier,Bezier,B B样条曲线以及BezierBezier、B B样条曲面的概念和特征。 在具体讲述上面知识之前,有必要了解一下如下几个概念的区别和联系。 1 曲线绘制:这类问题归结为已知曲线方程,要求画出曲线 2 曲线插值:由实验、观测或计算得到了若干个离散点组成的点列,要求用光滑的曲线把这些离散点连结起来。 3 曲线逼近:在曲线形状设计中,给定了折线轮廓,要求用一曲线逼近这个折线轮廓,这类问题称为曲线逼近。(注:曲线插值与曲线逼近的区别:逼近不要求曲线通过数据点) 4 曲线拟合:曲线、曲面的设计过程中,用插值或逼近方法是生成的曲线、

2、曲面达到某些设计要求。曲线与曲面的生成与计算第1页/共58页 曲线、曲面可以有显式、隐式和参数表示,但从计算机图形学和计算几何的角度来看,还是使用参数表示较好,因为采用参数方法表示曲线和曲面,可以将其形状从特定坐标系的依附性中解脱出来,很容易借助计算机得以实现。 一个动点的轨迹可以用位置向量P来描述,如下图所示:XYZ0u1u2u) 1(up)2(up6.1 曲线的参数表示曲线的参数表示曲线的参数表示曲线的参数表示注:这里讨论的动点轨迹注:这里讨论的动点轨迹是在三维空间中所表是在三维空间中所表示的曲线,平面轨迹示的曲线,平面轨迹曲线只是一种特殊情曲线只是一种特殊情况况第2页/共58页 向量P与

3、时间t有关:P=P(t),就是说P是时间t的函数。用坐标表示为 : )()()(tzztyytxx 若把参数t 换成一个普通意义的参数u,则曲线的参数形式为:)()()(uzuyuxP 例如: 是一条空间曲线的参数形式。310,123xuyuuzu 注:这是一条以点(0,1,3)为起点,(3,2,5)为终点的线段5.1 曲线的参数表示曲线的参数表示第3页/共58页v参数的含义: 时间,距离,角度,比例等等; 规范参数区间00,11:归一化; 矢量表示: 切矢量(导函数):v例:已知直线段的端点坐标: ,则此直线段的参数表达式为:相应的x,yx,y坐标分量为:切矢量为: 直线斜率:)()()(t

4、ytxtp)()()(tytxtp10132110213421121tttptttppptp,)(),(,)()(ttyyytytttxxxtx21031121121)()()()(,342121pp31)()(txtydtdxdtdydxdyjiTortytxtpt3131)()()(5.1 曲线的参数表示曲线的参数表示第4页/共58页 Bezier曲线和B样条曲线都是一种自由曲线。自由曲线是指一条无法用标准代数方程来描述的曲线。在实际中,自由曲线应用十分广泛,比如轮船身外形放样时的样条曲线,汽车、飞机及各种产品的外形曲线都可以看成是自由曲线。计算机产生这种曲线的方法通常有两类:(1)插值的

5、方法:要求生成的曲线通过每个数据点,即型值点。曲线插值方法有多项式插值、分段多项式插值和样条函数插值等。(2)拟合的方法:要求生成曲线靠近每个数据点(型值点),但不一定要求通过每个点。拟合的方法一般有最小二乘法、 Bezier方法和B样条方法等。下面主要介绍工程上流行应用的Bezier曲线和B样条曲线。Bezier、B样条曲线的生成5.2 Bezier、B样条曲线的生成样条曲线的生成第5页/共58页 Bezier曲线是由法国雷诺汽车公司的P.E.Bezier于20世纪70年代初为解决汽车外型设计而提出的一种新的参数表示法,这种方法的特点是:控制点的输入与曲线输出之间的关系明确,使设计人员比较直

6、观地估计给定条件与设计出的曲线之间的关系。当设计人员(用户)使用交互手段改变输入控制点,就能很方便地在屏幕上改变拟合曲线的形状与代表它的多项式的次数以迎合设计要求。 Bezier曲线是指用光滑参数曲线段逼近一折线多边形,它不要求给出导数,只要给出数据点就可以构造曲线,而且曲线次数严格依赖确定该段曲线的数据点个数。 贝塞尔(Bezier)曲线5.2 Bezier、B样条曲线的生成样条曲线的生成第6页/共58页 曲线的形状依赖于该多边形的形状,即由一组多边折线(该多边折线称为特征多边形)的顶点唯一地定义出来,且只有该多边形第一个顶点和最后一个顶点在曲线上。 BezierBezier曲线及其特征多边

7、形如下图三次Bezier曲线和特征多边形 注:上图是由四个控制点形成的三次BezierBezier曲线,曲线的形状依附于该特征多边形的形状。且特征多边形的第一条边线和最后一条边线分别表示曲线在第一个顶点和最后一个顶点的切线方向5.2 Bezier、B样条曲线的生成样条曲线的生成第7页/共58页 Bezier曲线分为开放型和封闭型两类:首尾控制点不想同为开放型,首尾控制点想同为封闭型。如下图所示: 1p2p3p4p5p6p7p封闭型Bezier曲线1p2p3p4p开放型Bezier曲线图 Bezier曲线的类型5.2 Bezier、B样条曲线的生成样条曲线的生成第8页/共58页(1) Bezie

8、r曲线的定义 Bezier曲线是由一组折线来定义的,且第一点和最后一点在曲线上,第一条和最后一条折线分别表示出曲线在起点和终点处的切线方向。 Bezier曲线通常由特征多边形的n+1个顶点定义一个n次多项式,即给定空间n+1个点的位置矢量Pi(i=0,1,2,n),则Bezier参数曲线上各点坐标的参数方程式(插值公式)是: ,)()(,100ttBPtPninii 其中参数t的取值范围为0,1,i是有序集0n中的一个整数值,表示顶点顺序号。n是多项式次数,也是曲线次数。5.2 Bezier、B样条曲线的生成样条曲线的生成第9页/共58页通常由n+1个顶点确定的曲线为n次曲线。在上述式中,Pi

9、 是特征多边形第i个顶点的坐标(xi,yi), 是伯恩斯坦(Bernstein)多项式,称为n次Bernstein基函数,定义如下: ,)()(,100ttBPtPninii)(,tBni), 1 , 0()1()(,nittCtBiniinni 10100!,)!(!ininCin其中:5.2 Bezier、B样条曲线的生成样条曲线的生成第10页/共58页 性质1:正性 (2)Betnstein基函数的性质 1, 2, 1),1 , 0(01 , 00)(,nitttBniv性质2:端点性质 其他其他)0(01)0(, iBni其他其他)(01)1(,niBni iniinnittCtB )

10、1()(,v性质3:权性 )1 , 0(1)(0, ttBniniPr :Pr :由二项式定理可知: 1)1()1()(00, ninininiinnittttCtB5.2 Bezier、B样条曲线的生成样条曲线的生成第11页/共58页 性质4:对称性 )1()(,tBtBninni )()1()1(1)1()1(,)(,tBttCttCtBniiniininnininnnin 因因为为v性质5:递推性 ), 1 , 0()()()1()(1,11,nittBtBttBninini 即高一次的Betnstein基函数可以由两个低一次Betnstein调和函数线性组合而成。)()()1()1()

11、1()1()1()()1()(1,11,)1()1(111)1(1111,ttBtBttttCttCtttCCttCtBniniiniininiininiinininiinni 5.2 Bezier、B样条曲线的生成样条曲线的生成第12页/共58页11,1(1) (1)(1)1,1,1!( )(1)()(1)!()!(1)!(1)(1)!(1)(1)!(1)!(1)!(1)!( )( )iniinii niniiniini nnBtitttnitininnttininnttinin BtBt v性质6:导函数 nitBtBntBninini, 1 , 0),()()(1,1,1, 因为将 对参

12、数t求导得:iniinnittCtB )1()(,11inC 5.2 Bezier、B样条曲线的生成样条曲线的生成第13页/共58页v性质7:最大值 11,!( )(1)()(1)0!()!in iin ii nnBtitttnitini iniinnittCtB )1()(,在 处达到最大值 nit nitintitntititintittintitiinini 00)()1(0)1)()1(11v性质8:积分 11)(10, ndttBni5.2 Bezier、B样条曲线的生成样条曲线的生成第14页/共58页(3) Bezier曲线的性质 性质1:端点及端点切线1.Bezier曲线的起点和

13、终点分别是特征多边形的第一个顶点和最后一个顶点。 niniitBPtP0,)()(由式子 可得出Bezier曲线两端点的值0, 110, 001 ,)0()0()0()0()0(0PBPBPBPBPPtnnnnninii 时时,nnnnnniniiPBPBPBPBPPt )1()1()1()1()1(1, 110,001 ,时,时,这说明,Bezier曲线必须通过特征多边形的起点和终点其他其他)0(01)0(, iBni其他其他)(01)1(,niBni 5.2 Bezier、B样条曲线的生成样条曲线的生成第15页/共58页2.Bezier曲线在起点和终点处的切线分别是特征多边形的第一条边和最

14、后一条边,且切矢的模长分别为相应边长的n倍。由Bezier基函数的导函数性质可知,对 求导可得: niniitBPtP0,)()()()()()()()()()()()()()(1,1111,111,1121,00101,1,10,tBPPntBPPtBPPtBPPntBtBPntBPtPniniiinnnnnnnininiininii 于是在起始点, 其余项均为0,故有1)0(, 01,0 nBt0101)0(),()0(PPnPPPnP 且且5.2 Bezier、B样条曲线的生成样条曲线的生成第16页/共58页在终止点, 其余项均为0,故有1)1(, 11, 1 nnBt11)1(),()

15、1( nnnnPPnPPPnP且且例如:如下图所示,对于四次Bezier曲线,n=4有1.Bezier曲线的起点和终点分别是特征多边形的第一个顶点和最后一个顶点2.Bezier曲线在起点和终点处的切线分别是特征多边形的第一条边和最后一条边,且切矢的模长分别为相应边长的n倍。 )(4)1()(4)0(. 33401PPPPPP0P1P2P3P4P5.2 Bezier、B样条曲线的生成样条曲线的生成第17页/共58页v性质2:对称性假如保持n次Bezier曲线诸顶点的位置不变,而把次序颠倒过来,即下标为i的点改为下标为n-i的点,则此时曲线仍不变,只不过是曲线的走向相反而已如下图所示。0P1P2P

16、3P4P*22PP *31PP *40PP 5.2 Bezier、B样条曲线的生成样条曲线的生成第18页/共58页 这一性质证明如下。由伯恩撕坦多项式可以导出:)1()1()!( !)(,tBttinintBnininini 记次序颠倒以后的顶点为 ,则有niPPini,2,1 ,0* iP*此时,由控制顶点 ,构造出新的Bezier曲线为 ,则iP*1 ,0)1()()1()1()()1()1()()()(0,0,0,0,0,0* ttPiktBPtBPkintBPtBPtBPtBPtPniniinknkknknkkninniinniniinninii令令令令)(*tP这个性质说明Bezie

17、r曲线在起点和终点处具有相同的几何性质。 5.2 Bezier、B样条曲线的生成样条曲线的生成第19页/共58页v性质3:凸包性由Bezier基函数的权性质可知 ,且 ,这一结果说明当t在区间0,1变化时,对某一个t值,P(t)是特征多边行各项顶点Pi的加权平均,权因子依次是 。在几何图形上,意味着Bezier曲线P(t)在t属于0,1中各点是控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之中,如下图所示 。)1 ,0(1)(0, ttBnini), 1 , 0, 10 ( 1)(0,nittBni (1) Bezier曲线凸包性 注:也就是说,当特征多边行为凸时, Bezier曲线也是凸的

18、;当特征多边行有凸有凹时,其曲线的凸凹形状与之对应,且在其凸包范围内。0P2P3P4P5P1P5.2 Bezier、B样条曲线的生成样条曲线的生成)(,tBni第20页/共58页1P2P3P4P0P5P6P(2) Bezier曲线凸包性 v性质4:几何不变性这是指某些几何特性不随坐标变换而变化的特性。由Bezier曲线的定义知,曲线的形状和位置由其特征多边形的顶点Pi (i=0,1,n )唯一确定,与坐标系的选取无关,这就是几何不变性。 即: )()()(,0,的置换的置换是是参变量参变量tuabauBPtBPniininii 5.2 Bezier、B样条曲线的生成样条曲线的生成第21页/共5

19、8页 由Bezier曲线的定义(4) 几个低次Bezier曲线 1 ,0)()(0, ttBPtPninii),1 ,0()1()(,nittCtBiniinni 其其中中:v1)一次Bezier曲线当n=1时为一次Bezier曲线,此时P(t)为一次多项式,有两个控制点,则 我们可以推出一次、二次以及三次Bezier曲线的数学表达式,工程上应用较多的是三次Bezier曲线。下面依次讨论:1 , 0)()1()()(00110101 , tPtPPtPPttBPtPiii5.2 Bezier、B样条曲线的生成样条曲线的生成注:这表明一次注:这表明一次Bezier曲线是连接起点曲线是连接起点P0

20、和和 终点终点P1的直线段。的直线段。第22页/共58页 这表明二次Bezier曲线是一段抛物线,其矩阵形式为:v2)二次Bezier曲线当n=2时为二次Bezier曲线,此时P(t)为二次多项式,有三个控制点,则1 ,0)(2)2()1(2)1()()(001201222102202, tPtPPtPPPPtPttPttBPtPiii 0002221)(0102102PPPPPPtttP5.2 Bezier、B样条曲线的生成样条曲线的生成第23页/共58页 1,000102212110002221)(21020102102 tPPPttPPPPPPtttPv3)三次Bezier曲线当n=3时

21、为三次Bezier曲线,此时P(t)为三次多项式,有四个控制点,由于三次Bezier曲线是用3根折线定义的3阶曲线,则有:5.2 Bezier、B样条曲线的生成样条曲线的生成第24页/共58页1 ,0)1(3)1(3)1()()(33221203303, tPtPttPttPttBPtPiii010221033210)33()363()33()(PtPPtPPPtPPPPtP 用矩阵表示为: 1 ,000010033036313311)(321023 tPPPPttttP5.2 Bezier、B样条曲线的生成样条曲线的生成第25页/共58页 在上式中,可以看出:1 ,0)1(3)1(3)1()

22、()(33221203303, tPtPttPttPttBPtPiii24)1(3)1(3)1(33,323,223,133,0 tBttBttBtB 4-2式称为三次Bezier曲线的调和函数,构成如下图所示的4条曲线。iiiittCtB 333,)1()(5.2 Bezier、B样条曲线的生成样条曲线的生成第26页/共58页 这4条曲线均为三次曲线,形成Bezier曲线的一组基。任何三次Bezier曲线都是这4条曲线的线性组合。3 , 0B3 , 3B3 , 1B3 , 2B0 xy11t3 , iB30,B31,B32,B33,B5.2 Bezier、B样条曲线的生成样条曲线的生成第27

23、页/共58页例如:10次Bezier曲线的调和函数如下,构成如下图所示的11条曲线。)10, 1 , 0()1()(1010, ittCtBiiini5.2 Bezier、B样条曲线的生成样条曲线的生成第28页/共58页 一般的,对于n次Bezier曲线,用矩阵形式可表示为: nnnnnnPPPPTttttP110)1()1(11)( 其中T为(n+1)X(n+1)的方阵,第i列的各元素为基函数 中按t的降幂排列时的各个系数。)(, 1tBni 5.2 Bezier、B样条曲线的生成样条曲线的生成第29页/共58页 解: Step1:由公式 计算对应不同 t 值下 的值,如下表所示。 例1 1

24、:假定: 是一个BezierBezier曲线特征多边形顶点的位置,画出三次BezierBezier曲线。(5) Bezier曲线计算举例 1 , 3,3 , 4,3 , 2,1 , 13210PPPP 33,323,223,133,0)1(3)1(3)1(tBttBttBtB)(3 ,tBi5.2 Bezier、B样条曲线的生成样条曲线的生成第30页/共58页 Step2: 求出不同t值下P(t)的值:33221203303,)1 (3)1 (3)1 ()()(PtPttPttPttBPtPiii 00.00340.0430.1250.2750.614100.05740.2390.3750.4

25、440.325000.3250.4440.3750.2390.574010.6140.2750.1250.0430.0034000.150.350.50.650.851 t不同 t 值下 的值)(3,tBi)(3,0tB)(3, 1tB)(3,2tB)(3,3tB5.2 Bezier、B样条曲线的生成样条曲线的生成第31页/共58页 根据以上这些点坐标就可画出三次Bezier曲线,具体图形如下图所示。 注:上述 的取值和个数都不唯一。 1, 3)1(75. 1,248. 3614. 0325. 0574. 0003. 0)85. 0(36. 2,122. 3275. 0444. 0239. 0

26、043. 0)65. 0(5 . 2,75. 2125. 0375. 0375. 0125. 0)5 . 0(367. 2,248. 2043. 0239. 0444. 0275. 0)35. 0(765. 1, 5 . 1 0034. 00574. 0325. 0614. 0)15. 0( 1, 1 )0(3321032103210321032100 PPPPPPPPPPPPPPPPPPPPPPPPPPPPP1 ,3,3,4,3,2,1 , 13210PPPP注:1 , 0 t5.2 Bezier、B样条曲线的生成样条曲线的生成第32页/共58页1P0P2P3P0XY1123234图 三次B

27、ezier曲线注:根据曲线方程画出曲线一般是先计算出曲线上一系列的点或适当靠近的点,然后依次将这些点用直线连起来,得到一条由折线表示的近似曲线。只要这些点靠得足够近和足够密,看起来就是一条足够光滑的曲线。5.2 Bezier、B样条曲线的生成样条曲线的生成第33页/共58页2.参考程序为:1 , 0)1(3)1(3)1()()(33221203303, tPtPttPttPttBPtPiii 3322120333221203)1(3)1(3)1()1(3)1(3)1(ytyttyttytyxtxttxttxtx例2 2:上机编程绘制一三次BezierBezier曲线段. .1.为了编程绘制为了

28、编程绘制Bezier曲线段,将其矢量形式曲线段,将其矢量形式变成分量形式:变成分量形式:5.2 Bezier、B样条曲线的生成样条曲线的生成第34页/共58页BezierCurve( ) int x,y,n; float i,dt,t; char msg80;typedef struct Vpoints float x; float y;VERpoints;VERpoints Vertex4=50,50,150,150,300,130,350,50;float n;5.2 Bezier、B样条曲线的生成样条曲线的生成第35页/共58页 dt=1/(float)n; for(i=0;i=n;i+

29、) t=i*dt; x=Vertex0.x*(1-t)*(1-t)*(1-t)+Vertex1.x*3*t*(1-t)*(1-t)+Vertex2.x*3*t*t*(1-t)+Vertex3.x*t*t*t; y=Vertex0.y*(1-t)*(1-t)*(1-t)+Vertex1.y*3*t*(1-t)*(1-t)+Vertex2.y*3*t*t*(1-t)+Vertex3.y*t*t*t; if(i=0) moveto(x,y); lineto(x,y); 5.2 Bezier、B样条曲线的生成样条曲线的生成第36页/共58页 line(Vertex0.x, Vertex0.y, Ver

30、tex1.x, Vertex1.y); line(Vertex1.x, Vertex1.y, Vertex2.x, Vertex2.y); line(Vertex2.x, Vertex2.y, Vertex3.x, Vertex3.y); sprintf(msg,%s%d%s%d,%d%s,P,0,(,50,50,); outtextxy(x0,y0,msg); sprintf(msg,%s%d%s%d,%d%s,P,1,(,150,150,); outtextxy(x1,y1,msg); sprintf(msg,%s%d%s%d,%d%s,P,2,(,300,130,); outtextxy

31、(x2,y2,msg); sprintf(msg,%s%d%s%d,%d%s,P,3,(,350,50,); outtextxy(x3,y3,msg);5.2 Bezier、B样条曲线的生成样条曲线的生成第37页/共58页3.运行结果:绘制一三次Bezier曲线段如下图所示。图 三次Bezier曲线5.2 Bezier、B样条曲线的生成样条曲线的生成第38页/共58页 根据公式 (6) 绘制Bezier曲线及生成程序 141 ,0)()(0, ttBPtPninii),1 ,0()1()(,nittCtBiniinni 1!0,10)!(!0 ininCin其中:v我们就可以绘制Bezier曲

32、线,但是为了得到满意的效果,要反复调整,修改控制点。一般过程先按设计要求用手勾画出一条曲线的草图,然后选定曲线上的几个控制点,绘制Bezier曲线。5.2 Bezier、B样条曲线的生成样条曲线的生成第39页/共58页 看是否相符合,再调整控制点,修改与手工所作的曲线差异,再按修改后的控制点画Bezier曲线,反复进行,有时还需要增加控制点,直到符合要求为止。上述过程再计算机上进行交互式的绘图很方便。如图(a)、(b)、(c)、(d)所示:图-4.13(a)P0P6P4P4P0P6图-4.13(b)5.2 Bezier、B样条曲线的生成样条曲线的生成第40页/共58页生成Bezier曲线程序本

33、程序可用来绘制任意个控制点的Bezier曲线,当用户输入控制点的坐标位置后,屏幕显示特征多边形,并生成逼近它的Bezier曲线。如果用户要进行修改,P0P0P6P6P4P4图-4.13(c)图-4.13(d)5.2 Bezier、B样条曲线的生成样条曲线的生成第41页/共58页 则输入修改顶点序号和新的坐标位置,程序按修改后的控制点绘制Bezier曲线。用户可反复调整、修改直到满意。运行效果如下图所示:图-4.14 生成4次Bezier曲线5.2 Bezier、B样条曲线的生成样条曲线的生成第42页/共58页(7)Bezier曲线的光滑连接 在几何设计中,一条Bezier曲线往往难以描述复杂的

34、曲线形状。这是由于增加由于特征多边形的顶点数,会引起Bezier曲线次数的提高,而高次多项式又会带来计算上的困难,在实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件(其关键问题是如何保证连接处具有连续性)。下面讨论两段Bezier曲线在接点处的连续条件。 设两条Bezier曲线分别为n次P(t)和m次Q(t)。相应控制点为Pi(i =0,1,.,n)和Qi(i=0,1,.,m),它们在接点处为Pn=Q0,且令 如下图所示。11, iiiiiiQQbPPa5.2 Bezier、B样条曲线的生成样条曲线的生成第43页/共58页 由Bezi

35、er曲线性质 可得:1 nP2 nP0QPn )(tP)(MQ1 nana1b2b1Q2Q图 Bezier曲线的光滑连接0101)0(),()0(QQmQQQnQ 且且11)1(),()1( nnnnPPnPPPnP且且1)0()1(mbQnaPn 11 iiiiiiQQbPPa5.2 Bezier、B样条曲线的生成样条曲线的生成第44页/共58页n要保证曲线在连接点处的一阶导数连续,即n则由)0()1(QP )0()1()0()1(1QPmbQnaPn 1mbnan )(1mnaamnbnn 三点共线。三点共线。即即101),(,QQPPnn 如图是三次Bezier曲线的连接.其中一条曲线由

36、顶点P1、P2、P3、P4控制,另一条曲线由顶点P4、P5、P6、P7控制, P4是两条曲线的公共顶点。5.2 Bezier、B样条曲线的生成样条曲线的生成第45页/共58页 当P3、P4 、 P5三个顶点共线时,这两条三次Bezier曲线就在顶点P4处互相切连接,在切点处具有一阶导数连续性,而P3、P4 、 P5是它们的公切线 级连续(斜率连续)1C 级连续(位置连续)0CPn=Q0)0()1(0QPQPn 且且条件条件1P2P3P4P5P6P7P图-4.16 三次Bezier曲线连接5.2 Bezier、B样条曲线的生成样条曲线的生成第46页/共58页 计算Bezier曲线上的点,可用Be

37、zier曲线方程,但使用de Casteljau提出的递推算法则要简单得多。 如图所示,设P0、P02、P2 是一条抛物线上顺序三个不同的点。过P0和P2点的两切线交于P1点,在点P02的切线交P0P1和P2P1于P01和P11 ,则如下比例成立:(8)Bezier曲线的递推(de Casteljau)算法 11202010211111110100pppppppppppp 图抛物线三切线定理这是所谓抛物线的三切线定理。 5.2 Bezier、B样条曲线的生成样条曲线的生成第47页/共58页v当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有: 图 抛物线三切线定理112020102

38、11111110100pppppppppppp 11102021111010)1()1()1(tPPtPtPPtPtPPtP 例如:1010110100110100110100)1()()1)(11tPPtPtPPtPPttPPPPttPPPP 5.2 Bezier、B样条曲线的生成样条曲线的生成第48页/共58页 当t从0变到1,第(1)、(2)式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线。将(1)、(2)式代入第(3)式得: 2210220)1(2)1(PtPttPtP 当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线,记为P02

39、 。 图 抛物线三切线定理)3()1()2()1()1()1(11102021111010tPPtPtPPtPtPPtP t 从0变到15.2 Bezier、B样条曲线的生成样条曲线的生成第49页/共58页v 这表明:这二次Bezier曲线P02可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合,即 。v 同理,由四个控制点定义的三次Bezier曲线P03可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合。 如下图所示:图抛物线三切线定理)3()1()2()1()1()1(11102021111

40、010tPPtPtPPtPtPPtP t 从0变到1111020)1(tPPtP 5.2 Bezier、B样条曲线的生成样条曲线的生成第50页/共58页 依次类推,由(n+1)个控制点Pi(i=0,1,.,n)定义的n次Bezier曲线P0n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0n-1与P1n-1的线性组合: 图Bezier曲线上的点P03212030)1(tPPtP 记为:1 , 0)1(11100 ttPPtPnnn记为:由此得到Bezier曲线的递推计算公式: kninktPPtkPPkikiiki, 1 , 0, 2 , 1)1(01115.2 Bezier、B样条曲线的生成样条曲线的生成第51页/共58页v 这便是著名的de Casteljau算法。用这一递推公式,在给定参数下,求Bezier曲线上一点P(t)非常有效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论