第七章-曲线与曲面课件

上传人:无*** 文档编号:241651068 上传时间:2024-07-13 格式:PPT 页数:47 大小:197KB
返回 下载 相关 举报
第七章-曲线与曲面课件_第1页
第1页 / 共47页
第七章-曲线与曲面课件_第2页
第2页 / 共47页
第七章-曲线与曲面课件_第3页
第3页 / 共47页
点击查看更多>>
资源描述
第七章第七章 曲线与曲面曲线与曲面重重点:点:掌握自由曲线的两种拟合方式及两种曲线的生成算法。难难点:点:理解三次参数样条曲线(或者拉格朗日曲线)、贝齐尔曲线(或者B样条曲线)的算法思想。课时安排:课时安排:授课4学时;上机4学时。7/13/20241第七章第七章 曲线拟合曲线拟合曲线拟合是利用假想为曲线(或接近它们的)一组离散点,寻找形式比较简单、性能良好的曲线的解析式。曲线拟合有两种方式:插值方式与逼近方式。这两种方式的不同点在于插值方式通过原先给定的离散点,而逼近方式与所给的离散点相当“接近”。7/13/20242第七章第七章 曲线拟合曲线拟合7/13/202437.1拉格朗日插值曲线设多项式曲线通过k+1个控制点(x0,y0,z0),(x1,y1,z1),(xk,yk,zk),拉格朗日插值曲线解析式:其中称为混合函数,它可写成:7/13/202447.1拉格朗日插值曲线=1j=i由定义可知:=ij=0ji由此可见,当t=i时,函数将对第i个控制点具有完全控制权。实际上,参数t的具体值不重要,重要的是正确的次序。例如,可设计如下的混合函数:7/13/202457.1拉格朗日插值曲线设t0=-1,t1=0,t2=1,t3=2,由此可得四个混合函数,7/13/202467.1拉格朗日插值曲线利用这些函数及四个样本点,可产生通过这四个样本点的曲线:7/13/202477.1拉格朗日插值曲线由四个控制点得到的曲线是三次多项式,若想用三次多项式来得到多于四个控制点的曲线,整条曲线可重复这一过程(见图示):先取临近的样本点(0,1,2,3)并在中间两点(1,2)作逼近,然后往前推进一个样本点,即在这一边取一个新的样本点,而在另一边丢掉一个样本点,于是得到(1,2,3,4),然后再逼近曲线(2,3)部分,如此连续的移动样本点,一直到整条曲线画完为止。曲线的开始部分及最后部分需做特殊的处理。7/13/202487.1拉格朗日插值曲线7/13/202497.2三次参数样条曲线一条三次参数曲线是把x,y,z分别表示成某个参数t的三次多项式。为了不失一般性,可令0t1。因此:0t1用矢量形式表示成:p(t)=at3+bt2+ct+d0t1(7-2-1)7/13/2024107.2三次参数样条曲线现在的任务是对给定的一组控制点Q0,Q1,,Qn,找出由n段如式(7-2-1)形式的三次曲线并拼接起来,且通过这些控制点的一条三次曲线,该曲线上的任一控制点具有二阶导数的连续性。求出n组如式(7-2-1)所示方程系数思路:1、找出ai、bi、ci、di与Qi-1、Qi、Qi-1、Qi的关系式;7/13/2024117.2三次参数样条曲线设Qi-1至Qi之间的三次曲线段为pi(t),则在Qi-1和Qi处,(7-2-2)7/13/2024127.2三次参数样条曲线由(7-2-1)和(7-2-2)可得到如下关系:解上面联立方程组得:(7-2-3)7/13/2024137.2三次参数样条曲线2、由式Pi(1)=Pi+1(0)得出Q1、Q2、Qn-1;将(7-2-3)中所得系数ai、bi、ci、di代入(7-2-1)得:0t10t17/13/2024147.2三次参数样条曲线根据三次样条曲线在任一点都有直到二阶导数的连续性可知,在点Qi处的二阶导数是连续的,故有:Pi(1)=pi+1(0)其中:即得:7/13/2024157.2三次参数样条曲线整理得方程:方程中,i=1,2,.,n-1。故可得n-1个这样的方程,联立这些方程,并用矩阵表示可得下式:(7-2-4)7/13/2024167.2三次参数样条曲线方程(7-2-4)左边有n+1个未知量,但只有n-1个方程,必须再有两个约束条件才能确定这个方程组。通常可指定两端点Q0和Qn的切线向量Q0和Qn为已知,则式(7-2-4)可重新排列成下面形式:(7-2-5)7/13/2024177.2三次参数样条曲线3、利用追赶法求出Q1、Q2、Qn-1。追赶计算公式是:(i=1,2,n-1)(7-2-6)其中:为式(7-2-5)等式右边列矩阵的各系数,追赶过程:(i=n-1,2,1)(7-2-7)7/13/2024187.2三次参数样条曲线其中:求出切线向量后,分别将它们代入式(7-2-3)以求出各曲线段的三次多项式系数。下图对给定的n+1个离散点、绘制出n段三次参数样条曲线,并且连接成一条光滑曲线的实例。7/13/2024197.3贝齐尔(Bezier)曲线和拉格朗日插值曲线以及三次样条曲线不同的是,贝齐尔曲线和后面介绍的B样条曲线,它们并不通过给定的控制点,而只是利用这些控制点的改变来变化曲线的形状。7/13/2024207.3.1贝齐尔曲线定义贝齐尔曲线是由给定的n+1个控制点Qi来定义,其形式为:0t1 (7-3-1)其中Bi,n(t)是一个混合函数:Bi,n(t)=C(n,i)ti(1t)n-i(7-3-2)而C(n,i)是二项式系数:7/13/2024217.3.1贝齐尔曲线定义混合函数对贝齐尔曲线的状态起决定性作用,图(7-3-1)表示对应于具有四个控制点的贝齐尔曲线的四个混合函数。图(7-3-2)为由四个控制点定义的贝齐尔曲线。图7-3-17/13/2024227.3.1贝齐尔曲线定义图7-3-27/13/2024237.3.2贝齐尔曲线几何作图法一般,我们可直接利用贝齐尔曲线的定义实现曲线的拟合,由于多项式计算的快慢会直接影响绘制相应曲线的速度,因此,我们也可采用贝齐尔曲线的几何作图法,以避免多项式的计算。下面先将贝齐尔多项式作一些变换:7/13/2024247/13/2024257.3.2贝齐尔曲线几何作图法若记由Pk,Pk+1,Pl作为控制点的贝齐尔多项式,那么上式可写为:(7-3-3)7/13/2024267.3.2贝齐尔曲线几何作图法由式(7-3-3)可知,要计算由0,1,m这m+1个点为控制点的贝齐尔多项式在t时的值,可以先计算由0,1,m-1为控制点的在t时的值0,m-1(t)及由1,2,m为控制点的在t时的值1,m(t),然后在这两个值所代表的点之间连一条直线段。在直线段上取一点,使它和0,m-1(t)这一点的距离与该直线段长度之比为t,该点对应的就是(t)。图(7-3-3)说明了这一过程,其中t=1/2。7/13/2024277.3.2贝齐尔曲线几何作图法图7-3-3实现过程可见几何作图法的算法。7/13/2024287.3.2贝齐尔曲线几何作图法几何作图法的算法geometry(m,p,pt,dt)/*p存放m+1个给定控制点的坐标,float*p,*pt,dt;pt存放结果,dt是t的增量*/intn;inti,j,k,l,n;float*r,*q,t;l=0;for(t=0;t=1;t=t+dt)for(i=0;i0)for(k=0;kn;k+)qk=rk+t*(rk+1-rk);/*q存放中间结果*/n=n-1;for(j=0;j=n;j+)rj=qj;ptl=r0;/*t处的值*/l=l+1;7/13/2024307.3.3三次贝齐尔曲线n=3的贝齐尔多项式,是经常被使用的。这时,多项式将由四个控制点P0、P1、P2和P3的加权和组成。按式(7-3-1)和(7-3-2),这个加权函数(混合函数)组是:Bi,n(t)=C(3,i)ti(1-t)3-i展开就是:B0,n(t)=(1-t)3=-t3+3t2-3t+1B1,n(t)=3t(1-t)2=3t3-6t2+3tB2,n(t)=3t2(1-t)=-3t3+3t2B3,n(t)=t37/13/2024317.3.3三次贝齐尔曲线写成矩阵形式为:B0,n(t)B1,n(t)B2,n(t)B3,n(t)=t3t2t1MBze其中矩阵:如果把由P0、P1、P2、P3四个控制点构成的三次贝齐尔多项式记为P(t),0t1,那么:P(t)=t3t2t1MBzeP0P1P2P3T其中P0P1P2P3T是列向量,T表示转置运算。7/13/2024327.3.3三次贝齐尔曲线B0,n(t)、B1,n(t)、B2,n(t)、B3,n(t)这四个函数的图形如图(7-3-1)。通常称它们为三次伯恩斯坦函数。由于贝齐尔多项式对应的曲线是一整段的n次参数曲线,为了避免高次多项式运算,我们可把一段段的低次贝齐尔曲线在一定的连续性要求下连接起来,也就是以各一小段贝齐尔曲线拼成样条曲线。7/13/2024337.3.3三次贝齐尔曲线假定以三次贝齐尔曲线为基础,我们可设法得到一阶连续性。因为n=3时,贝齐尔曲线在起点和终点的切向量分别为:P(0)=3(P1-P0)P(1)=3(P3-P2)因此,为了使两个曲线段在邻接点有一阶连续性,只要前一段的最后一个控制点与后一段的第一个控制点重合,或记为:P3,i-1=P0,i同时还要求:P2,i-1、P3,i-1(即P0,i)与P1,i这三点共线,即:(P3,i-1-P2,i-1)=C(P1,i-P0,i)其中C是常数,以保证它们在共同点有相同的切向。7/13/2024347.4B样条曲线贝齐尔曲线可通过调整控制点的位置来改变,但调整一个控制点会影响整条曲线,这正是贝齐尔曲线的不足之处。70年代初研究出的B样条曲线是在贝齐尔曲线的基础上发展而来,且有更多的优势。B样条曲线的优势:1、生成的曲线与控制多边形的外形更接近;2、具有局部控制的特征;3、整体上有一定阶数的连续性。7/13/2024357.4.1B样条曲线定义B样条的定义为:k-1阶的混合函数可递归地定义如下:7/13/2024367.4.1B样条曲线定义B样条曲线与贝齐尔曲线的主要区别在于它们的混合函数的不同。其中n为控制点个数减1,k为控制曲线连续性的阶数。下图是n=5,k=3,4,5的B样条曲线。7/13/2024377.4.1B样条曲线定义由定义可知,B样条曲线主要由控制点位置、参数k以及所给定的节点值ti(i=0,1,n)(又称为节点向量)来决定。其中节点向量有三种分类,从而产生不同的B样条曲线:均匀B样条曲线(uniform)、开放均匀B样条曲线(openuniform)和非均匀B样条曲线(nonuniform)。7/13/2024387.4.2均匀周期性B样条曲线一旦两节点值的距离是常数,所生成的曲线称为均匀B样条。如我们可以建立均匀节点向量为:-1.5,-1.0,-0.5,0.0,0.5,1.0,1.5,2.0通常节点值的标准取值范围介于0、1之间,如:0.0,0.2,0.4,0.6,0.8,1.0在很多应用中建立起以0为初始值,1为间距的均匀节点值是比较方便的,其节点向量为:0,1,2,3,4,5,6,77/13/2024397.4.2均匀周期性B样条曲线均匀B样条有周期性混合函数。即,给定n和k值,所有混合函数有相同形状。每个后继混合函数仅仅是前面函数的一个移动结果:Ni,k(t)=Ni+1,k(t+t)=Ni+2,k(t+2t)其中,t是相邻节点值间的区间。下图表示了一个二次均匀B样条混合函数。7/13/2024407.4.2均匀周期性B样条曲线n=k=3的周期B样条混合函数7/13/2024417.4.3开放均匀B样条曲线开放均匀B样条曲线,简称开放B样条曲线,除在两端的节点值重复k次外,其节点间距是均匀的。下面是两个开放均匀、从0开始的整型节点向量的例子:0,0,1,2,3,3,当k=2,n=30,0,0,0,1,2,2,2,2,当k=4,n=4。我们将节点向量规范到从0到1的区间:0,0,0,0,0.5,1,1,1,1,当k=4,n=4。7/13/2024427.4.3开放均匀B样条曲线对任意的参数值k和n,通过下列计算,可以生成开放均匀具有整型节点的向量:j的值从0到n+k,头k个节向量值设为0,后k个值为n-k+2。7/13/2024437.4.3开放均匀B样条曲线开放均匀B样条具有与贝齐尔样条非常类似的特性。开放B样条多项式曲线通过第一和最后一个控制点。参数曲线在第一个控制点处的斜率也平行于头两个控制点的连线,最后一个控制点处的斜率平行于最后二个控制点的连线。因此,连接曲线段的几何约束也与贝齐尔曲线相同。7/13/2024447.4.4非均匀B样条曲线对非均匀B样条,可以选多个内节点值并且在节点值之间选不等的间距。例如:0,1,2,3,3,40,2,2,3,3,60,0,0,1,1,3,3,30,0.2,0.6,0.9,1.0非均匀B样条曲线在控制曲线形状方面提供了更多的便利。通过节点向量取不同的间距,我们可在不同的区间上得到不同的混合函数形状,以用来调整曲线形状;增加节点值多样性,可以在曲线中产生细微的震颤,甚至导致不连续性。7/13/202445第七章第七章 曲线习题曲线习题1、曲线拟合是什么意思?2、曲线拟合都有哪几种方式,分别有什么特点?3、三次样条曲线的曲线段和控制点个数有什么关系?4、求三次样条曲线多项式系数的思路是什么?5、贝齐尔曲线多项式是什么样的?式中各项的含义是什么?7/13/202446第七章第七章 曲线习题曲线习题6、B样条曲线多项式是什么样的?式中各项的含义是什么?7、由B样条曲线定义可知,控制B样条曲线的参数有哪些?7/13/202447
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!