B样条曲线ppt课件.ppt_第1页
B样条曲线ppt课件.ppt_第2页
B样条曲线ppt课件.ppt_第3页
B样条曲线ppt课件.ppt_第4页
B样条曲线ppt课件.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第6章曲线曲面(B样条曲线),1,二、B样条曲线.从Bezier曲线到样条曲线(1)Bezier曲线在应用中的不足:缺乏灵活性一旦确定了特征多边形的顶点数(m个),也就决定了曲线的阶次(m-1次),无法更改;控制性差当顶点数较多时,曲线的阶次将较高,此时,特征多边形对曲线形状的控制将明显减弱;,2,不易修改由曲线的混合函数可看出,其值在开区间(0,1)内均不为零。因此,所定义之曲线在(0t1)的区间内的任何一点均要受到全部顶点的影响,这使得对曲线进行局部修改成为不可能。(而在外形设计中,局部修改是随时要进行的),3,0,1,t,B0,3,B1,3,B2,3,B3,3,i,n(t)伯恩斯坦基函数,4,为了克服Bezier曲线存在的问题,Gordon等人拓展了Bezier曲线,就外形设计的需求出发,希望新的曲线要:易于进行局部修改;更逼近特征多边形;是低阶次曲线。于是,用n次样条基函数替换了伯恩斯坦基函数,构造了称之为样条曲线的新型曲线。,5,2.样条曲线的数学表达式样条曲线的数学表达式为:,在上式中t1,i=0,1,2,m所以可以看出:样条曲线是分段定义的。如果给定m+n+1个顶点Pi(i=0,1,2,m+n),则可定义m+1段n次的参数曲线。,6,式中:t1k=0,1,2,n,在以上表达式中:Fk,n(t)为n次B样条基函数,也称样条分段混合函数。其表达式为:,7,连接全部曲线段所组成的整条曲线称为n次样条曲线。依次用线段连接点Pi+k(k=0,1,n)所组成的多边折线称为样条曲线在第i段的特征多边形。,8,.二次样条曲线在二次样条曲线中,n=2,k=0,1,2故其基函数形式为:,9,有了基函数,因此可写出二次样条曲线的分段表达式为:,(i=0,1,2,m)m+1段,10,写成一般的矩阵形式为:,式中,k为分段曲线的特征多边形的顶点:B0,B1,B2。对于第i段曲线的Bk即为:Pi,Pi+1,Pi+2连续的三个顶点。(见下图),11,n=2,二次B样条曲线m+n+1个顶点,三点一段,共m+1段。,i=0P0,2(t),i=1P1,2(t),12,二次样条曲线的性质先对P(t)求导得:,然后分别将t=0,t=0.5,t=1代入P(t)和P(t),可得:P(0)=1/2(B0+B1),P(1)=1/2(B1+B2);P(0)=B1-B0,P(1)=B2-B1;P(1/2)=1/21/2P(0)+P(1)+B1P(1/2)=1/2(B2-B0)=P(1)-P(0),13,与以上这些式子所表达的性质相符的曲线是何种形状:(见下图),是什么曲线?与Bezier曲线有何差别?,14,结论:分段二次B样条曲线是一条抛物线;有n个顶点定义的二次B样条曲线,其实质上是n-2段抛物线(相邻三点定义)的连接,并在接点处达到一阶连续。(见下图),F282.c二次B-样条曲线,15,.三次样条曲线分段三次样条曲线由相邻四个顶点定义,其表达式为:P(t)=F0,3(t)B0+F1,3(t)B1+F2,3(t)B2+F3,3(t)B3(0t1)可见,由n个顶点定义的完整的三次样条曲线是由n-3段分段曲线连接而成的。很容易证明,三次样条曲线在连接处达到二阶连续。*,F281.c三次B-样条曲线,16,样条曲线是一种非常灵活的曲线,曲线的局部形状受相应顶点的控制很直观。这些顶点控制技术如果运用得好,可以使整个样条曲线在某些部位满足一些特殊的技术要求。如:可以在曲线中构造一段直线;使曲线与特征多边形相切;使曲线通过指定点;指定曲线的端点;指定曲线端点的约束条件。,17,对于特征多边形的逼近性二次B样条曲线优于三次B样条曲线三次Bezier曲线优于二次Bezier曲线相邻曲线段之间的连续性二次B样条曲线只达到一阶导数连续三次B样条曲线则达到二阶导数连续角点的修改对曲线形状的影响Bezier曲线:修改一个角点将影响整条曲线的形状。B样条曲线:修改一个角点只影响该角点所在位置前后三段曲线的形状。,B样条曲线的适用范围,18,角点重叠和角点共线(*)二重角点若要使B样条曲线与特征多边形相切,可运用二重角点的方法。,Q0,Q1,Q3,Q2,Q4,P1,P2,Q(0-1),P0,19,三重角点若要使B样条曲线产生一个尖点,可运用三重角点的方法。,Q1,Q4,Q3,Q2,Q5,P1,P2,Q0,P0,Q6,P3,P4,20,三角点共线若要使B样条曲线产生反向弧切接的效果,可运用三角点共线的方法。,Q1,Q4,Q3,Q2,P0,P2,Q0,P1,。,21,四角点共线若要使B样条曲线段之间切接入一段直线,可运用四角点共线的方法。,Q1,Q4,Q3,Q2,P0,P2,Q0,P1,。,。,Q5,P3,22,6.5Bzier曲面和B样条曲面,6.5.1Bzier曲面,23,曲面的形状、位置由边界上的四个角点决定。中间角点只反映曲面的凹凸程度。,Bzier曲面及控制网格演示动画,24,Bezier曲面,Bezier曲面是Bezier曲线的扩展,Bezier曲面的边界线就是由四条Bezier曲线构成的。三次Bezier曲线段由四个控制点确定,三次Bezier曲面片则由控制点确定。16个控制点组成一个矩阵:,B=,Q00Q10Q20Q30,Q01Q11Q21Q31,Q02Q12Q22Q32,Q03Q13Q23Q33,Q00,Q10,Q20,Q30,Q01,Q31,Q32,Q02,Q03,Q33,Q13,Q23,Q11,Q21,Q12,Q22,w,u,25,给定空间16个位置点bij,可以确定一张三次Bezier曲面片。,由曲线拓展为Bzier曲面,根据“线动成面”的思想,按设定间隔取,在四条v线上取点,沿u向生成三次Bezier曲线:,将u,v向曲线方程合并得:,首先生成四条v向的三次Bezier曲线:,26,Bzier曲面的定义,在空间中给定(n+1)(m+1)个点,称以下张量积形式的参数多项式曲面为nm次的Bzier曲面:,贝塞尔曲面表达式如下:nmP(u,v)=bi,jBi,n(u)Bj,m(v)0u,v1i=0j=0贝塞尔曲面中应用最广泛的是双3次贝塞尔曲面,它由给出的4*4个网格点唯一决定.,27,P(u,0),P(0,v),图9.15Bzier曲面的控制网格,一般称为的控制顶点,把由和组成的网格称为的控制网格,记为,如图9.15所示。,28,Bzier曲面的矩阵表示是:,29,控制网格的四个角点是曲面的四个端点。决定了曲线的形状,位置。,P03,P02,P30,P20,P10,P01,P11,P21,P31,P41,P14,P(u,0),P(0,v),Bzier曲面的端点和边界线,(1)端点位置,Bzier曲面具有以下性质:,30,(2)边界线的位置,的4条边界线,,是Bzier曲线,它们分别以,为控制多边形。,P03,P02,P30,P20,P10,P01,P11,P21,P31,P41,P14,Bzier曲面的端点和边界线,31,双一次Bezier曲面:取m=n=1。这是一张双曲抛物面(马鞍面);双二次Bezier曲面:取m=n=2。该曲面的四条边界是抛物线。;双三次Bezier曲面:取m=n=3;,注:矩阵表示见课本,32,端点的u向切矢和v向切矢分别为和,所以三角形所在的平面在P00点和曲面相切。同理,三角形,所在的平面分别在点,处与曲面相切。,(3)端点的切平面,Bezier曲面的端点切平面,33,由端点的切平面知,是在点处的法向;其余各端点,处法向的情况也类似。,(4)端点的法向,(5)凸包性曲面位于其控制顶点的凸包内。,34,(6)仿射不变性曲面的形状仅与点的位置有关,而与坐标系的选择无关。(7)拟局部性修改一个控制顶点时,曲面上距离它较近的点受影响较大。要改变曲面某部分的形状,只要交互调节相应的控制顶点即可。,35,36,双三次均匀B样条曲面P(u,v)的矩阵表示,37,设节点向量,(,)分别是对参数平面的轴和轴的分割,如图1所示。称下列张量积形式的参数曲面为(kn,hm)阶的B样条曲面,uk-1uun1,vh-1vvm1其中是空间中给定的(n+1)(m+1)个网格点,通常称为的控制顶点。,分别是关于节点向量U,V的k阶和h阶的B样条基函数。,6.5.2B样条曲面的定义和性质,38,由两组多边形()和()组成的网格(如图2)称为的控制网格,简记为。,P00,P01,P10,P04,P20,P40,图2B样条曲面及其控制网格,39,均匀B样条曲面,给定16个顶点dij(i=1,2,3,4j=1,2,3,4)构成的特征网格,可以定义一张曲面片。用di1、di2、di3、di4(i=1,2,3,4)构建四条V向曲线C1、C2、C3和C4(图中虚线);,参数v在0,1之间取值vk,对应于vk曲线C1、C2、C3和C4上可得到v1k、v2k、v3k和v4k四个点,该四点构成u向的一个特征多边形,定义一条新的曲线P(u,vk);,当参数vk在0,1之间取不同值时,P(u,vk)沿箭头方向扫描,即得到由给定特征网格dij(i=1,2,3,4j=1,2,3,4)定义的双三次均匀B样条曲面片P(u,v)。,40,与Bzier曲面一样,是对曲面的大致形状的勾画,是对的逼近。B样条曲面也具有局部调整性、凸包性、几何不变性等,它的控制网格也是人机交互的手段,也可以通过某些算法对其进行计算,这些都与B样条曲线的情况类似。,41,双三次B样条曲面片,b样条曲面,42,6.6实验曲线的绘制方法,1、最小二乘法,在科学研究中,通过实验或测量,可以获得大量的实验数据。一般在获得数据之后,对这些数据进行某种处理,然后绘成图形。,但由于实验本身会受到各种具体因素的影响,使得通过实验测得的数据或多或少地带有误差。也就是说,这些实验数据本身并不准确。因此如果仅仅是简单地将这些数据点连成曲线,那么这种看起来似乎很精确的方法恰恰是不符合实际情况的,也是不可取的。,正确的方法应该是用一条平滑的曲线以适当的方式来尽可能地靠近这些数据点,以弥补由于误差造成的数据点的跳动。,43,那么对于一系列的数据点(xi,yi)(i=1,2n),所要绘制的曲线y=f(x),用什么样的标准来评价这条曲线是否处于较为合理的状态呢?,通常把数据点的坐标值与曲线上对应的坐标值之差作为评判的标准:,常用的评判方法是:使残差的平方和即达到最小。这也就是所谓的最小二乘法。,44,用最小二乘法来绘制实验曲线,其实质也就是要找出一个经验方程y=f(x)用来描述这些点。所以,工作的第一步首先要根据已知数据点的分布情况进行一下预测,经验方程可能属于什么类型,比如说是线形函数,还是其它阶次的多项式函数。,2、用最小二乘法拟合直线,设有测得的一组数据点(xi,yi)(i=1,2n)。根据这些数据点的分布情况,预测到它们之间呈线形关系:,那末,可按最小二乘法的原理建立起下面的式子:,45,(xi,yi)为测得的已知数据点的值,故这个方程是关于a1和a2的函数,即:,当a1和a2为何值时,该函数f(a1,a2)能取得极小值。这是一个二元函数的求极值问题,其条件为:,46,展开整理后得:,写成矩阵形式为:,求解该方程组可解出未知数a1和a2的值,从而使线形函数表达式:,成为已知,并可根据该表达式绘出图形。,47,1.双二次Bezier曲面的4条边界都是抛物线,其特征网格有()个顶点。A)8B)9C)10D)16,48,贝塞尔曲面表达式如下:mnP(u,v)=Pi,jBi,m(v)Bj,n(u)0u,v1i=0j=0贝塞尔曲面中应用最广泛的是双3次贝塞尔曲面,它由给出的4*4个网格点唯一决定,P(u,v)=(u3u2u1)两个贝塞尔曲面块的连接交于一条公共边,为了保证在这条边上的光滑性,必须满足下面条件:(1)定义公共边的四点相等(2)公共边上四点与其在二块曲面上相邻的两个点共线,贝塞尔曲面,贝塞尔曲面,10,-13-313-630-33001000,P00P01P02P03P10P11P12P13P20P21P22P23P30P31P32P33,v3v2v1,-13-313-630-33001000,49,曲面的形状、位置由边界上的四个角点决定。中间四个角点只反映曲面的凹凸程度。,v(u,w)=UNBNTWT(0u1,0w1),Bezier曲面得表达式:,式中,U=,u3u2u11,WT=,w3w2w11,T,3-630,-3300,1000,-13-31,N=,=NT,(与Bezier曲线相同),Bezier曲面,50,写成,三个方向分量得形式:,X(u,w)=UNBxNTWTY(u,w)=UNByNTWT(0u1,0w1)Z(u,w)=UNBzNTWT,Bezier曲面,51,样条曲面,样条曲面也是样条曲线的推广,与三次Bezier曲面一样,三次样条曲面片也是由44控制点确定的。,同样,16个控制点写成如下矩阵形式:,B=,Q00Q10Q20Q30,Q01Q11Q21Q31,Q02Q12Q22Q32,Q03Q13Q23Q33,与三次样条曲线一样,三次样条曲面也很好地解决了曲面片之间的连接问题。,Q00,Q10,Q20,Q30,Q01,Q31,Q32,Q02,Q03,Q33,Q13,Q23,Q11,Q21,Q12,Q22,w,u,52,样条曲面的表达式为:,v(u,w)=UNBNTWT(0u1,0w1),U、W、B矩阵与Bezier曲面是一样的。,3-630,-3030,1410,-13-31,1/6,N=,(与样条曲线相同),写成X,Y,Z三个方向的分量形式:x(u,w)=UNBxNTWTy(u,w)=UNByNTWT(0u1,0w1)z(u,w)=UNBzNTWT,53,VoidB_face(float*Bx,*By,*Bz,*projection_matrix44;floatFx,Fy)/绘制B样条曲面的程序,16个控制点的x,y,z坐标分别/在4x4的矩阵Bx,By,Bz中,projection_matrix44为投影变换矩阵,/Fx,Fy为投影后平移量floatN44,Nt44,U14,Wt41,temp_product1414;floatproduct44x44,product14x14;floatx,y,z,x1,y1,;construct_matrix44(N,-1,3,-3,1,3,-6,0,4,-3,3,3,1,1,0,0,0);construct_matrix44(Nt,);/先求出product44x=N*Bx*Ntmatrix44_ma

温馨提示

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

评论

0/150

提交评论