《第四章 曲线和曲面》由会员分享,可在线阅读,更多相关《第四章 曲线和曲面(199页珍藏版)》请在金锄头文库上搜索。
1、Computer Graphics 第四章第四章 曲线和曲面曲线和曲面 参考书:1.计算机辅助几何设计与非均匀有理B样条(施法中) 2.计算机辅助几何设计(王国瑾 汪国昭 郑建民 3.自由曲线曲面造型技术(朱心雄等)第一节第一节 曲线和曲面表示的基础知识曲线和曲面表示的基础知识第二节第二节 Hermite多项式多项式 第三节第三节 Coons曲面曲面 第四节第四节 Bezier曲线和曲面曲线和曲面 第五节第五节 B样条曲线和曲面样条曲线和曲面 8/25/20241Computer GraphicsComputer GraphicsCollege of Computer Science and
2、TechnologyCollege of Computer Science and Technology曲线与曲面 曲线曲面的计算机辅助设计源于曲线曲面的计算机辅助设计源于20世纪世纪60年代的飞机和汽车工业。年代的飞机和汽车工业。1963年美国波音(年美国波音(Boeing)飞机公司的佛格森()飞机公司的佛格森(Ferguson)将曲线曲面表示成参数矢量函数形式,并用三次参数曲线构将曲线曲面表示成参数矢量函数形式,并用三次参数曲线构造组合曲线,用四个角点的位置矢量及其两个方向的切矢量造组合曲线,用四个角点的位置矢量及其两个方向的切矢量定义三次曲面。定义三次曲面。1964年美国麻省理工学院(年
3、美国麻省理工学院(MIT)的孔斯()的孔斯(Coons)用封闭)用封闭曲线的四条边界定义一块曲面。曲线的四条边界定义一块曲面。1964年,舍恩伯格(年,舍恩伯格(Schoenberg)提出了参数样条曲线、)提出了参数样条曲线、曲面的形式。曲面的形式。1971年法国雷诺(年法国雷诺(Renault)汽车公司的贝塞尔()汽车公司的贝塞尔(Bezier)发表了一种用控制多边形定义曲线和曲面的方法。发表了一种用控制多边形定义曲线和曲面的方法。1971年,法国雪铁龙(年,法国雪铁龙(Citroen) 汽车公司的德卡斯特里奥汽车公司的德卡斯特里奥(de Casterljau)也独立地研究出与)也独立地研究
4、出与Bezier类似的方法。类似的方法。8/25/20242Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology曲线与曲面 1972 年,德布尔(年,德布尔(de Boor)也给出了)也给出了B样条的标准计算方样条的标准计算方法。法。1974年,美国通用汽车公司的戈登(年,美国通用汽车公司的戈登(Gordon)和里森费尔)和里森费尔德(德(Riesenfeld)将)将B样条理论用于形状描述,提出了样条理论用于形状
5、描述,提出了B样条样条曲线、曲面。曲线、曲面。1975年,美国锡拉丘兹(年,美国锡拉丘兹(Syracuse)大学的佛斯普里尔)大学的佛斯普里尔(Versprill)在其博士论文中提出了有理)在其博士论文中提出了有理B样条方法。样条方法。20世纪世纪80年代后期,美国的皮格尔(年代后期,美国的皮格尔(Piegl)和蒂勒)和蒂勒(Tiller)将有理)将有理B样条发展成非均匀有理样条发展成非均匀有理B样条(样条(NURBS)方法方法 8/25/20243Computer GraphicsComputer GraphicsCollege of Computer Science and Technol
6、ogyCollege of Computer Science and Technology8/25/20245Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology第一节第一节 曲线和曲面表示的基础曲线和曲面表示的基础知识知识1.显式、隐式和参数表示显式、隐式和参数表示显式:显式: y=f(x)不能表示封闭曲线或多值曲线(圆)不能表示封闭曲线或多值曲线(圆)隐式:隐式:f(x,y)=0,f(x,y,z)=0球面球面
7、 8/25/20246Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology显式或隐式表示的缺点显式或隐式表示的缺点(1)与坐标轴相关的,不便于坐标变换;)与坐标轴相关的,不便于坐标变换;(2)无法解决斜率为无穷大的情况;)无法解决斜率为无穷大的情况;(3)对于空间复杂曲线曲面很难表示)对于空间复杂曲线曲面很难表示(4)不便于计算和编程)不便于计算和编程8/25/20247Computer GraphicsComp
8、uter GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology 参数表示(解决上述问题)参数表示(解决上述问题)在在空空间间曲曲线线的的参参数数表表示示中中,曲曲线线上上每每一一点点的的坐坐标标均均要要表表示示成成某某个个参参数数t的的一一个个函函数数式式,则则曲线上每一点笛卡尔坐标参数式是:曲线上每一点笛卡尔坐标参数式是: 空间曲线:空间曲线: 把把三三个个方方程程合合写写到到一一起起,曲曲线线上上一一点点坐坐标标的的矢量表示是:矢量表示是:8/25/20248
9、Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology关于参数关于参数t的切矢量或导函数是:的切矢量或导函数是:曲面写为参数方程形式为曲面写为参数方程形式为:曲曲线线或或曲曲面面的的某某一一部部分分,可可以以简简单单地地用用au,wb界定它的范围界定它的范围 8/25/20249Computer GraphicsComputer GraphicsCollege of Computer Science and Tec
10、hnologyCollege of Computer Science and Technology直线段直线段 端点坐标分别是端点坐标分别是P1x1,y1,P2x2,y2, 直线段的参数表达式是:直线段的参数表达式是:P(t)= P1+( P2- P1)t = (1-t)P1+ tP2 0t1;参数表示相应的参数表示相应的x,y坐标分量是:坐标分量是:x(t)= x1+(x2-x1) t y(t)= y1+(y2-y1) t 0t1 8/25/202410Computer GraphicsComputer GraphicsCollege of Computer Science and Tech
11、nologyCollege of Computer Science and Technology空间直线段空间直线段 P1x1,y1,z1,P2x2,y2,z2 P(t)代表曲线上的一点代表曲线上的一点P(t)= P1+( P2- P1) t = (1-t)P1+ tP2 8/25/202411Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology参数方程具有如下参数方程具有如下优点优点:(1)有更大的自由度来控制
12、曲线、曲面的形状。有更大的自由度来控制曲线、曲面的形状。(2)便于坐标变换便于坐标变换 (3)便便于于处处理理斜斜率率为为无无限限大大的的问问题题,不不会会因因此此中中断计算断计算(4) 代代数数、几几何何相相关关和和无无关关的的变变量量是是完完全全分分离离的的,而且对变量个数不限,便于向高维空间扩展。而且对变量个数不限,便于向高维空间扩展。(5) t0,1, 直直接接定定义义了了边边界界。便便于于曲曲线线和和曲曲面面的的分段、分片描述。分段、分片描述。(6) 易于用矢量和矩阵表示,从而简化了计算。易于用矢量和矩阵表示,从而简化了计算。8/25/202412Computer GraphicsC
13、omputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology基本概念基本概念插值插值 要求构造一条曲线顺序通过型值点,称为对这要求构造一条曲线顺序通过型值点,称为对这些型值点进行插值(些型值点进行插值(interpolation)。)。8/25/202413Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Scien
14、ce and Technology 给定函数给定函数f(x)在区间在区间a,b中互异的中互异的n个点的值个点的值f(xi), i=1,2,n,基于这些数据寻找某一个函数基于这些数据寻找某一个函数 ,要求,要求 , 为为f(x)的插值函数,的插值函数,xi为插值节点为插值节点(1)线性插值线性插值函数函数f(x)在两个不同点在两个不同点x1,x2的值,的值,y1=f(x1),y2=f(x2)用线性函数用线性函数 近似代替近似代替y=f(x),选择选择a,b使使 则称则称 为为f(x)的线性插值函的线性插值函数数 (2)抛物线插值抛物线插值(二次插值)二次插值)设已知设已知f(x)在三个互异点在三
15、个互异点x1,x2,x3的函数值为的函数值为y1,y2,y3, 要求构造函数要求构造函数在节点在节点xi处有处有8/25/202414Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology逼逼近近 构构造造一一条条曲曲线线,使使它它在在某某种种意意义义上上最最佳佳逼逼近近这这些些型型值值点点,称称之之为为对对这这些些型型值值点点进进行行逼逼近(近(approximation)。)。8/25/202415Comput
16、er GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology常用方法常用方法 最小二乘法最小二乘法假设已知一组型值点假设已知一组型值点(xi,yi), i=1,2,n,要求构造一个要求构造一个m(mn-1)次多项式函数次多项式函数y=F(x)逼近这些型值点。逼近这些型值点。偏差的平方和最小:偏差的平方和最小:加权平方和最小:加权平方和最小:令令F(x)为一个为一个m次多项式次多项式 最小二乘法就是定出最小二乘法就是定出ai使偏差平方
17、和最小使偏差平方和最小8/25/202416Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology插插值值 要要求求构构造造一一条条曲曲线线顺顺序序通通过过型型值值点点,称称为对这些型值点进行插为对这些型值点进行插值值(interpolation)。)。逼近逼近 构造一条曲线,使它在某种意义上最佳构造一条曲线,使它在某种意义上最佳逼近这些型值点,称之为对这些型值点进行逼逼近这些型值点,称之为对这些型值点进行逼近(近
18、(approximation)。)。8/25/202417Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology参数连续性参数连续性 一函数在某一点一函数在某一点x0处具有相等的直到处具有相等的直到k阶的左右导阶的左右导数,称它在数,称它在x0处是处是k次连续可微的,或称它在次连续可微的,或称它在x0处处是是k阶连续的,记作阶连续的,记作Ck。几何上几何上C0、C1、C2依次表依次表示该函数的图形、切线方向、曲率是
19、连续的。参示该函数的图形、切线方向、曲率是连续的。参数曲线的可微性称为参数曲线的连续性。数曲线的可微性称为参数曲线的连续性。几何连续性几何连续性 两曲线段的相应的弧长参数化在公共连接点处参两曲线段的相应的弧长参数化在公共连接点处参数导数成比例而不是相等,则称它们在该点处具数导数成比例而不是相等,则称它们在该点处具有有k阶几何连续性,记作阶几何连续性,记作Gk 。零阶几何连续零阶几何连续G0与与零阶参数连续零阶参数连续C0是一致的。一阶几何连续是一致的。一阶几何连续G1指一指一阶导数在两个相邻曲线段的交点处成比例,即阶导数在两个相邻曲线段的交点处成比例,即方方向相同向相同,大小不同大小不同。二阶
20、几何连续。二阶几何连续G2指两个曲线指两个曲线段在交点处其一阶和二阶导数均成比例。段在交点处其一阶和二阶导数均成比例。 8/25/202418Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology曲线段间曲线段间C1、C2和和G1、G2连续性连续性定义定义 (1)Q1(1)=Q2(0),则则Q1(t)和和Q2(t)在在P处有处有C0和和G0连续性连续性(2)Q1(1)和和Q2(0)在在P处处重重合合,且且其其在在P
21、点点处处的的切切矢矢量量方方向向相相同同,大小,大小相等相等,则,则Q1(t)和和Q2(t)在在P处有处有C1连续性连续性(3)Q1(1)和和Q2(0)在在P处处重重合合,且且其其在在P点点处处的的切切矢矢量量方方向向相相同同,大小,大小不等不等,则,则Q1(t)和和Q2(t)在在P处有处有G1连续性连续性(4)Q1(1)和和Q2(0)在在P处处已已有有C0和和C1连连续续,且且Q”1(1)和和Q”2(0)大小方向均大小方向均相同相同,则,则Q1(t)和和Q2(t)在在P处有处有C2连续性连续性(5)Q1(1)和和Q2(0)在在P处处已已有有G0和和G1连连续续,且且Q”1(1)和和Q”2(0
22、)方向方向相同相同但大小但大小不等不等,则,则Q1(t)和和Q2(t)在在P处有处有G2连续性连续性(6)推推广广之之,Q1(1)和和Q2(0)在在P处处已已有有C0、C1、Cn连连续续,若若Q(n)1(1)和和Q(n)2(0)在在P处处大大小小和和方方向向均均相相同同,则则说说Q1(t)和和Q2(t)在在P处具有处具有Cn连续性连续性8/25/202419Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyC0
23、连续的线性插值8/25/202420Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyC2连续的样条插值8/25/202421Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology光顺光顺 光顺(光顺(smoothness)是指曲线
24、的拐点不能太多,是指曲线的拐点不能太多,要光滑顺畅。对于平面曲线相对光顺的条件应要光滑顺畅。对于平面曲线相对光顺的条件应该是:该是:(1)具有二阶几何连续()具有二阶几何连续(G2););(2)不存在多余拐点和奇异点;不存在多余拐点和奇异点;(3)曲率变化较小。)曲率变化较小。 8/25/202422Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology第二节第二节 Hermite多项式多项式 已知函数已知函数f(
25、t)在在k+1个点个点ti处的函数值和导数处的函数值和导数值值f (j)(ti),i=0,1,k,j=0,1,mi-1,要要求确定一个求确定一个N = m0 + m1 + + mk - 1次的多项次的多项式式P(t),满足下面的插值条件:满足下面的插值条件:则则P(t)被称为函数被称为函数f(t)的的Hermite插值多项式。插值多项式。8/25/202423Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology1
26、.Lagrange插值法插值法: 已知已知f(t)在在k+1个点的函数值个点的函数值f ( ti ) ,求一个求一个k次多项式使次多项式使p(ti)=f (ti)8/25/202424Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology例例: k=2,m0=m1=m2=1 已知函数已知函数f(t)在三个点在三个点t0,t1,t2,的的函数值函数值f(t0),f(t1),f(t2), 求二次多项式求二次多项式P(t
27、)8/25/202425Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology混合函数混合函数如下:如下:8/25/202426Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology设表示一条曲线的某个函数设表示一条曲线的某个函数f(t
28、)在四点在四点t0,t1,t2,t3的函数值的函数值f(t0), f(t1),f(t2), f(t3),根据根据Lagrange插值法,则三次多项式插值法,则三次多项式P(t)可表示为:可表示为: 选择四个不同的选择四个不同的点点作为构造曲线的条件作为构造曲线的条件 8/25/202427Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology混合函数混合函数如下:如下:8/25/202428Computer Gra
29、phicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology2.已已知知表表示示一一条条曲曲线线的的某某个个函函数数f(t)在在两两点点t0,t1的的函函数数值值f(t0), f(t1)和和一一阶阶导导数数值值f(t0), f(t1),求三次多项式求三次多项式P(t): 8/25/202429Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyC
30、ollege of Computer Science and Technology8/25/202430Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202431Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8
31、/25/202432Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology把把a0,a1,a2和和a3代入代入(4-1)式则有:式则有: 8/25/202433Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology经整理,所求多项式经整
32、理,所求多项式P 0(t)可以写出如下:可以写出如下:式中选取两个式中选取两个端点端点及其及其及其及其切向量切向量作为曲线构造作为曲线构造条件。条件。8/25/202434Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology混合函数混合函数如下:如下:8/25/202435Computer GraphicsComputer GraphicsCollege of Computer Science and Techn
33、ologyCollege of Computer Science and Technology经经验验证证可可知知:8/25/202436Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology3.为了使为了使P0(t)的定义区间的定义区间t0tt1变为区间变为区间0u1,可以做如下变换,可以做如下变换解出解出 ,代入混合函数式中,得:,代入混合函数式中,得: 8/25/202437Computer Graphics
34、Computer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202438Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202439Computer GraphicsComputer GraphicsCollege of Computer Scien
35、ce and TechnologyCollege of Computer Science and Technology将关于将关于u的混合函数代入,所求的三的混合函数代入,所求的三次多项式成为:次多项式成为:8/25/202440Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology令令8/25/202441Computer GraphicsComputer GraphicsCollege of Computer
36、Science and TechnologyCollege of Computer Science and Technology得得8/25/202442Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202443Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Compute
37、r Science and Technologyq00(u)q01(u)q10(u)q11(u)8/25/202444Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology4.曲线拼接曲线拼接 对对一一般般的的Hermite插插值值问问题题,一一般般来来说说得得到到的的插插值值多多项项式式次次数数较较高高,应应用用起起来来不不方方便便。通通常常的的处处理理办办法法是是将将前前面面给给出出的的参参数数的的三三次次多多
38、项项式式逐逐段段光光滑滑地地连连接接,如如此此来来确确定定一一般般情情况况下下的的插插值多项式。值多项式。 将将前前面面t0和和t1视视为为ti和和ti+1,设设给给定定f(ti),f(ti+1), f(ti), f(ti+1), 则则 在在 区区 间间 ti, ti+1的的Hermite三次插值多项式三次插值多项式Pi(t)是:是:8/25/202445Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/2
39、5/202446Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202447Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology为了完整地写出这个插值多项式,可以在区为了完整地写出这个插值多项式,可以在区间间ti,ti
40、+1中引入如下一些基本函数:中引入如下一些基本函数: 8/25/202448Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202449Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology完整的插值多项式可写为完整的插
41、值多项式可写为:上式区间上式区间t0,tn中有定义,且为分段定义。在每中有定义,且为分段定义。在每个区间个区间 ti,ti+1上,都恰有上,都恰有四项四项。满足插值条件。满足插值条件8/25/202450Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology每段曲线每段曲线Pi(t)只在只在ti,ti+1中有定义:中有定义:8/25/202451Computer GraphicsComputer GraphicsC
42、ollege of Computer Science and TechnologyCollege of Computer Science and Technology自变量的线性变换自变量的线性变换用逆变换用逆变换 代入,将所得关于代入,将所得关于u的的多项式记为多项式记为 ,得,得 8/25/202452Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology其中其中8/25/202453Computer Grap
43、hicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology例:例:设在平面上有两点设在平面上有两点P0,Pl,它们的位置它们的位置向量分别为向量分别为(1,1),(4,2),在,在P0的导数值的导数值即在该点的切线向量即在该点的切线向量P0 =(1,1),在,在Pl处处P1 =(1,-1),构造曲线。构造曲线。 8/25/202454Computer GraphicsComputer GraphicsCollege of Computer Sc
44、ience and TechnologyCollege of Computer Science and Technology8/25/202455Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202456Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Sc
45、ience and Technology8/25/202457Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202458Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202459Computer Gr
46、aphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology第三节第三节 Coons曲面曲面 8/25/202460Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202461Computer GraphicsComputer GraphicsCo
47、llege of Computer Science and TechnologyCollege of Computer Science and Technology uw表示了曲面片的方程表示了曲面片的方程 0w,1w,u0,u1四条边界曲线四条边界曲线 u0u边界线的边界线的切向量切向量 u0w 边界线的边界线的跨界切向量跨界切向量 uwuu,uwuw,uwww曲面片曲面片uw关于关于u和和w的二阶偏导数向量的二阶偏导数向量 u0uu 表示边界线表示边界线u0上的上的二阶切向量二阶切向量 u0ww表示边界线表示边界线u0上的上的二阶跨界切向量二阶跨界切向量 uwuw为曲面片为曲面片P在点在点
48、(u,w)处的处的扭曲向量扭曲向量。 00,01,10,11表示曲面片四个表示曲面片四个角点角点 00w,01w,10w,11w,00u,01u,10u,11u 四个四个角点的切角点的切向量向量 00uw,01uw,10uw,11uw四个四个角点的扭曲向量角点的扭曲向量8/25/202462Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technologywu00u0uwu11101100w1w00uw00u00wuwuuwu
49、wuww0wu0wwu0uu0w8/25/202463Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology构造具有指定边界曲线的曲面片构造具有指定边界曲线的曲面片:Coons给给出出的的一一个个解解法法是是:寻寻找找两两个个混混合合函函数数f0(t)和和f1(t),它它们们是是连连续续的的,并并且且满满足足f0(0)=1,f0(1)=0,f1(0)=0,f1(1)=1,且,且f0(t)+f1(t)=1,0t1。f
50、0(t)=2t3-3t2+1,f1(t)=-2t3+3t2 f0(t)1-t,f1(t)=t利利用用这这样样的的混混合合函函数数,通通过过四四条条边边界界构构造造曲曲面面片片,并并通通过过叠叠加加修修正正曲曲面面片片,产生满足用户需要的曲面。产生满足用户需要的曲面。8/25/202464Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology问题问题1:求通过四条边界线的曲面:求通过四条边界线的曲面给定四条边界曲线给
51、定四条边界曲线u0,u1,0w,1w,且,且0u1,0w1在在u向进行线性插值,得到直纹面为:向进行线性插值,得到直纹面为:在在w向进行线性插值,得到直纹面为:向进行线性插值,得到直纹面为:8/25/202465Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology011100100wu0u11wuw011100100w1wuwP1(u,w)01110010u0u1uwP2(u,w)8/25/202466Compu
52、ter GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyPs(u,w)上的任意一点,其位移矢量包含两个部分,上的任意一点,其位移矢量包含两个部分,一部分是由于一部分是由于线性插值线性插值而产生的位移,另一部分而产生的位移,另一部分是由于是由于边界曲线边界曲线而产生的位移。而产生的位移。 若把这两张直纹面叠加可得到一张新曲面若把这两张直纹面叠加可得到一张新曲面Ps(u,w): 8/25/202467Computer Graphi
53、csComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology为消除为消除Ps(u,w)中由于线性插值而产生的位移,中由于线性插值而产生的位移,需要构造一个新的曲面需要构造一个新的曲面P3(u,w) 8/25/202468Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technolog
54、y构造曲面构造曲面P3(u,w)后,从后,从Ps(u,w)中去除中去除P3(u,w),即去除线性插值的成分,则得到,即去除线性插值的成分,则得到Coons构造曲面构造曲面P(u,w)= Ps(u,w) - P3(u,w) = P1(u,w) + P2(u,w)- P3(u,w)可写成如下形式:可写成如下形式: 8/25/202469Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology201211200210uwP
55、1(u,w)+ P2(u,w)01110010uwP3(u,w)011100100wu0u11wuwP (u,w)8/25/202470Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202471Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science
56、 and Technology其中矩阵其中矩阵M是:是:矩矩阵阵中中四四个个元元素素是是四四个个角角点点的的位位置置向向量量,可用已知四条边界曲线计算求出。可用已知四条边界曲线计算求出。u0,u1可以是关于可以是关于u的三次多项式,的三次多项式,0w,1w可以是关于可以是关于w的三次多项式,混合函数也是不的三次多项式,混合函数也是不超过三次的关于超过三次的关于u或或w的三次多项式,这时公式的三次多项式,这时公式关于关于u看,或关于看,或关于w看,都是三次多项式,是关看,都是三次多项式,是关于于u或或w的双三次多项式的双三次多项式8/25/202472Computer GraphicsCompu
57、ter GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202473Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology011100100wu0u11wuw011100100w1wuwP1(u,w)01110010u0u1uwP2(u,w)201211200210uwP
58、1(u,w)+ P2(u,w)01110010uwP3(u,w)011100100wu0u11wuwP (u,w)8/25/202474Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology不难验证它们符合所提问题的要求,例如我们来验不难验证它们符合所提问题的要求,例如我们来验证证0w是它的一条边界线,这只要把是它的一条边界线,这只要把u=0代入公式右代入公式右端,得端,得 8/25/202475Computer
59、GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology问题问题2: 边界线为指定曲线边界线为指定曲线且有指定的跨界切向量且有指定的跨界切向量 。应用上节定义的四个混合函数应用上节定义的四个混合函数q00(u), q01(u), q10(u), q11(u)。8/25/202476Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCo
60、llege of Computer Science and Technology这四个函数这四个函数均是三次多均是三次多项式。故连项式。故连续可微,并续可微,并且还满足下且还满足下面的条件:面的条件: 8/25/202477Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology设已知设已知四条边界曲线四条边界曲线u0,u1,0w,1w及沿这及沿这四条边界曲线的跨界切向量四条边界曲线的跨界切向量u0w,u1w,0wu
61、,1wu。求出四个角点的位置向量求出四个角点的位置向量00,01,10,11, 切向量切向量00w,01w,10w,11w, 00u,01u,10u,11u,扭曲向量扭曲向量00uw,01uw,10uw,11uw,写出符合要求曲面片的数学表达式如下:写出符合要求曲面片的数学表达式如下:8/25/202478Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202479Computer Graphics
62、Computer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202480Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202481Computer GraphicsComputer GraphicsCollege of Computer Scien
63、ce and TechnologyCollege of Computer Science and Technology容易地验证所写出的公式满足要求,例如以容易地验证所写出的公式满足要求,例如以u=0代入该式右端,得:代入该式右端,得: 8/25/202482Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology曲面片沿边界线取给定的各跨界切向量,可先对曲面片沿边界线取给定的各跨界切向量,可先对该式关于某一变量求导
64、,例如对该式关于某一变量求导,例如对u求导,然后再求导,然后再代入代入u=0,这时有,这时有 8/25/202483Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202484Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Techn
65、ology问题问题3:指定:指定四个角点四个角点以及在这些点上的以及在这些点上的切向量切向量和扭曲向量和扭曲向量后,求解曲面的表达式后,求解曲面的表达式。计算求得四个角点的位置向量计算求得四个角点的位置向量00,01,10,11,切向量,切向量00w,01w,10w,11w,00u,01u,10u,11u,以及扭曲向量以及扭曲向量00uw,01uw,10uw,11uw, 8/25/202485Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Scienc
66、e and Technology已知角点位置向量已知角点位置向量00,10以及在这两点关于以及在这两点关于u的切的切向量向量00u和和01u,可以用可以用Hermite插值公式来指定一插值公式来指定一条条u边界线:边界线:8/25/202486Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202487Computer GraphicsComputer GraphicsCollege of Comp
67、uter Science and TechnologyCollege of Computer Science and Technology8/25/202488Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202489Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Comp
68、uter Science and Technology将上两式代入前式,就可以得到:将上两式代入前式,就可以得到: 8/25/202490Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology例:例:给出四个角点以及在该角点上的切向量和给出四个角点以及在该角点上的切向量和扭曲向量来构造扭曲向量来构造Coons曲面表达式。设在平面上曲面表达式。设在平面上有四点有四点P0,Pl,P2,P3,它们的位置向量分别为它们的位
69、置向量分别为(0,0,0),(0,0.75,0),(0.75,0,0),(0.75,0.75,0)。该四点的切向量、跨界切向。该四点的切向量、跨界切向量和扭曲向量,定义在关于角点的信息矩阵量和扭曲向量,定义在关于角点的信息矩阵M中:中: 8/25/202491Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202492Computer GraphicsComputer GraphicsCollege
70、 of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202493Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202494Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege
71、 of Computer Science and Technology第四节第四节 Bezier曲线和曲面曲线和曲面1.Bezier曲线曲线定义定义 给出型值点给出型值点P0,P1,Pn,它们所确,它们所确定的定的n次次Bezier曲线是:曲线是: 8/25/202495Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology控制顶点控制顶点P0,P1 ,P2 , P3 控制多边形控制多边形P0P1P2P38/25/
72、202496Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology是是Bernstein多项式,多项式,混合函数混合函数涉及到的涉及到的0!及及00,按约定均为,按约定均为1。在在n=1时,公式成为:时,公式成为:(一次一次Bezier曲线是直线段曲线是直线段) 在在n=2时,公式成为:时,公式成为: (二次二次Bezier曲线是抛物线曲线是抛物线) 8/25/202497Computer GraphicsComp
73、uter GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology在在n=3时,公式成为:时,公式成为: (三次三次Bezier曲线是三次参曲线是三次参数多项式曲线数多项式曲线)8/25/202498Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology三次Bzier曲线的四个混合函数8/
74、25/202499Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024100Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology2.Bezier曲线的一些重要性质曲线的一些重要性质 端点性质:P(0)= P0,P(
75、1)= Pn,曲线通过所给出型值点列的起点和终点。 8/25/2024101Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology Bezier曲线的曲线的对称性对称性 8/25/2024102Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Tech
76、nology曲线的曲线的凸包性凸包性 对给定的型值点对给定的型值点P0,P1,Pn点集,点集,点集点集称作称作n+1个点张成的凸包个点张成的凸包8/25/2024103Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology3.分段的三次分段的三次Bezier曲线光滑拼接的条件曲线光滑拼接的条件 P0P1P2P3和和Q0QlQ2Q3,两个两个Bezier多边形多边形曲线在连接点处曲线在连接点处C0连续连续的条件是的条
77、件是P3=Q0曲线在连接点曲线在连接点处处G1连续,连续,即一阶导数即一阶导数几何几何连续,连续,条件是条件是Q0=aP3,a是一个正数。是一个正数。 P2 , P3=Q0 , Ql,共线且共线且P2 和和Ql在在P3两侧两侧8/25/2024104Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology连接点处达到连接点处达到C2连续,即二阶导数连续,即二阶导数参数参数连续连续的条件,对前面的公式求两次导数,可得,
78、的条件,对前面的公式求两次导数,可得, 8/25/2024105Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology于是知,于是知,要求要求即即 注意到注意到Q0=P3,由此得:由此得:8/25/2024106Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science
79、 and Technology4. Bezier曲线绘制曲线绘制利用定义式利用定义式Bezier曲线的绘制,可以利用其定义式,对参数曲线的绘制,可以利用其定义式,对参数t选取足够多选取足够多的值,计算曲线上的一些点,然后用折线连接来近似画出实的值,计算曲线上的一些点,然后用折线连接来近似画出实际的曲线。随着选取点增多,折线和曲线可以任意接近。际的曲线。随着选取点增多,折线和曲线可以任意接近。假设给定的四个型值点是假设给定的四个型值点是P0=(1,1),Pl=(2,3),P2=(4,3), P3=(3,1),则计算结果见表则计算结果见表 8/25/2024107Computer Graphics
80、Computer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technologyt(1-t)33t(1-t)23t2 (1-t)t3P(t)01000(1,1)0.150.6140.3250.05740.0034(1.5058,1.765)0.350.2750.4440.2390.043(2.248,2.376)0.50.1250.3750.3750.125(2.75,2.5)0.650.0430.2390.4440.275(3.122,2.36)0.850.00340.0
81、5740.3250.614(3.248,1.75)10001(3,1)8/25/2024108Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology利用曲线性质(几何作图法和分裂法)利用曲线性质(几何作图法和分裂法)a.几何作图法几何作图法记点记点Pk,Pk+l,Pl可以生成的可以生成的Bezier曲线为曲线为Pk,l(t),0t1,则成立下面的递推关系,则成立下面的递推关系上式证明用到组合等式:上式证明用到组合等
82、式:8/25/2024109Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024110Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology上式改写为:上式改写为: 8/25/2024111Computer Grap
83、hicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology几何作图法伪代码语言实现:几何作图法伪代码语言实现:8/25/2024112Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024113Computer GraphicsComputer G
84、raphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024114Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technologyvoid bez_to_points(int n,int npoints,double P,double points) /P为控制点坐标为控制点坐标 / p
85、oints为采用几何作图算法生成的为采用几何作图算法生成的Bezier曲线上的离散点序列曲线上的离散点序列/离散点序列离散点序列points的个数为的个数为npoints+1 /控制点控制点P的个数为的个数为n +1 double t,delt;delt=1.0/(double)npoints;/将参数将参数t npoints等分等分t=0.0;for(int i=0;i=npoints;i+) /分别求出分别求出npoints+1个离散点个离散点points的坐标的坐标pointsi=decas(n, P, t); t+=delt;8/25/2024115Computer GraphicsC
86、omputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technologydouble decas(int n,double P,double t)int m,i;double *R, *Q, P0;R = new doublen +1;Q = new doublen +1;for(i=0;i0;m-) /n次次Bezier曲线在点曲线在点t的值,可由两条的值,可由两条n-1次次Bezier曲线曲线/在点在点t的值通过线性组合而求得。的值通过线性组合而求得。for(i=
87、0;im;i+)Qi= R i+t*( R i+1- R i) ;for(i=0;im;i+)Ri= Q i;P0=R0;delete R;delete Q;return (P0); 8/25/2024116Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyBezier几何作图算法计算过程几何作图算法计算过程 设给出四点的坐标是设给出四点的坐标是(1,1),(2,3),(4,3),(3,1),求所确定三次,求所
88、确定三次Bezier曲线在曲线在t=1/3时的值时的值P(1/3),算法的计算过程,算法的计算过程 8/25/2024117Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology b.分裂法分裂法思想:将原控制点集分为两个点数相同的新控制点思想:将原控制点集分为两个点数相同的新控制点集,分别对应原曲线的前半段和后半段,新控制点集,分别对应原曲线的前半段和后半段,新控制点集比原控制点集更接近直线,分裂过程继续进行,集
89、比原控制点集更接近直线,分裂过程继续进行,控制点集会迅速向曲线靠近,当满足某个允许的界控制点集会迅速向曲线靠近,当满足某个允许的界限时,可依次连接各点的折线来表示曲线限时,可依次连接各点的折线来表示曲线设控制点序列设控制点序列P0,P1,Pn确定的确定的n次次Bezier曲线曲线是是P(t),用如下递归方式计算另一组点集:,用如下递归方式计算另一组点集:如果令如果令Pa(s)和和Pb(s)分别是以控制点序列分别是以控制点序列 和和 确定的确定的Bezier曲线,其中曲线,其中0s1,那,那么就有:么就有: 8/25/2024118Computer GraphicsComputer Graphi
90、csCollege of Computer Science and TechnologyCollege of Computer Science and Technology 分裂法中的递归计算分裂法中的递归计算 8/25/2024119Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024120Computer GraphicsComputer GraphicsCollege of Compute
91、r Science and TechnologyCollege of Computer Science and Technology己知四点己知四点P0,P1,P2,P3,确定了一条三次,确定了一条三次Bezier曲线曲线P(t),可写出下式,可写出下式,8/25/2024121Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology分裂法的示意图分裂法的示意图 8/25/2024122Computer Graphi
92、csComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology验证验证Bezier曲线分成前后两段的正确性。曲线分成前后两段的正确性。以以P0的系数为例,验证两端它的系数是相等的。的系数为例,验证两端它的系数是相等的。左端显然就是左端显然就是B0,3(t)=(1-t)3。再看右端。再看右端。若若0t ,这时就用前半段的表达式,观察分,这时就用前半段的表达式,观察分裂计算图注意到裂计算图注意到 中有中有1份份P0, 中有中有 份,份, 中是中是 份,份,
93、 中是中是 份。份。 右端对右端对 t1,注意到仅,注意到仅 中有中有 份的份的P0。 8/25/2024123Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024124Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Techno
94、logy8/25/2024125Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology设设己己知知三三次次Bezier曲曲线线P(t)的的控控制制顶顶点点是是P0,P1,P2,P3,在在P( )处处将将曲曲线线分分为为两两段段,求求出出前前半半段段的的控控制制顶顶点点Q0,Ql,Q2,Q3和后半段的控制顶点和后半段的控制顶点R0,R1,R2,R3。有算法如下。有算法如下void split_Bezier(Point
95、 P)Point R4,Q4;int i,j;for(i=0;i=3;i+)Ri=Pi; for(i=0;i=2;i+) Qi=R0;for(j=0;j0,可以取,可以取max(d(P1,P0P3),d(P2,P0P3)为分裂停止的条件。为分裂停止的条件。8/25/2024128Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technologyvoid new_split_Bezier(Point P)Point R4,Q4;
96、int i,j;const double epsilon=0.01;if (maxdistance(P)epsilon)/*maxdistance(P)为为求求max(d(P1,P0P3),d(P2,P0P3)的函数的函数*/MoveTo(P0.x,P0.y);LineTo(P3.x,P3.y);elsefor(i=0;i=3;i+) Ri=Pi;for(i=0;i=2;i+)Qi=R0;for(j=0;j2时时的的Ni,1(0.5)=0,所所以以知知N2,2(0.5)=N3,2(0.5)=0。这这样样代代入公式计算入公式计算P(0.5),有:有:8/25/2024152Computer Gr
97、aphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology再取再取u其它一些值进行计算,结果如表所示。其它一些值进行计算,结果如表所示。 u00.511.522.53N0,2(u)10.500000N1,2(u)00.510.5000N2,2(u)0000.510.50N3,2(u)000000.51P(u)P00.5(P0+ P1)P10.5(P1+ P2)P20.5(P2+ P3)P3二阶二阶B B样条曲线是样条曲线是连接各控制点的线段
98、组成的折线连接各控制点的线段组成的折线,是是一次多项式一次多项式8/25/2024153Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology例三例三. .选取选取n=3,k=4,平面上四个控制顶点平面上四个控制顶点P0,P1,P2,P3的坐标依次是的坐标依次是(1,1),(2,3),(4,3),(3,1),这时应取参数节点,这时应取参数节点n+k+1=8个,设选取个,设选取节点向量为节点向量为(0,0,0,0,1
99、,1,1,1),画出所,画出所确定的确定的4阶阶B样条曲线样条曲线。 计算计算N1,4(0.5) ,其中其中0.50,1=u3,u4 8/25/2024154Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyN0,4N1,4N2,4N3,48/25/2024155Computer GraphicsComputer GraphicsCollege of Computer Science and Technolog
100、yCollege of Computer Science and TechnologyN3,1(0.5)=1,而对而对i3,Ni,1(0.5)=0。 8/25/2024156Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology用类似的过程可计算求出:用类似的过程可计算求出: 曲线上对应参数曲线上对应参数u=0.5的点是:的点是: 8/25/2024157Computer GraphicsComputer Grap
101、hicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyN1,1N2,1N3,1N4,1N1,2N2,2N3,2N1,3N2,3N1,4N5,1N6,1N4,2N5,2N3,3N4,3N2,4N3,4N01N0,2N0,3N0,4四个控制点所确定的四阶四个控制点所确定的四阶B样条曲线,样条曲线,节点向量为(节点向量为(0,0,0,0,1,1,1,1)8/25/2024158Computer GraphicsComputer GraphicsCollege of Compute
102、r Science and TechnologyCollege of Computer Science and Technology证明:四个控制点所确定的四阶证明:四个控制点所确定的四阶B样条曲线样条曲线( 节点向量为节点向量为(0,0,0,0,1,1,1,1),就是它们所确定的就是它们所确定的Bezier曲线曲线8/25/2024159Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/202416
103、0Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024161Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024162Computer GraphicsComputer GraphicsColle
104、ge of Computer Science and TechnologyCollege of Computer Science and Technology 可以证明更一般的结论,即,可以证明更一般的结论,即,n+1个控制点个控制点P0,P1,Pn所确定的最高阶的所确定的最高阶的B样条曲线样条曲线是是k=n+1阶的,这时由阶的,这时由节点向量节点向量(0,0,0,1,1,1)所确定的所确定的B样条曲线,与该样条曲线,与该n+1个控制点所确定的个控制点所确定的Bezier曲线相同。曲线相同。8/25/2024163Computer GraphicsComputer GraphicsColleg
105、e of Computer Science and TechnologyCollege of Computer Science and Technology2.等距等距B样条曲线样条曲线:在参数节点的众多选取方法中,最多使用的是在参数节点的众多选取方法中,最多使用的是选择参数选择参数u的每一的每一区间为等长区间为等长的情况,这时所的情况,这时所得到的得到的B样条函数称为是样条函数称为是等距等距的,或的,或均匀均匀的。的。可假定可假定ui=i,i=0,1,n+k,再引入再引入tj=u-ui+j,因为这可以使得因为这可以使得 ui+juui+j+1与与0tj1是一致是一致的。的。 递归式,经过计算
106、,可以写出:递归式,经过计算,可以写出: 8/25/2024164Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024165Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024166Compute
107、r GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024167Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024168Computer GraphicsComputer GraphicsCollege of Co
108、mputer Science and TechnologyCollege of Computer Science and Technology8/25/2024169Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024170Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of
109、Computer Science and Technologyk=3,n=3,由节点向量由节点向量(0,1,2,3,4,5,6)所确定所确定的均匀的均匀B样条基函数样条基函数Ni,3(u)曲线(曲线(i=0,1,2,3)。)。8/25/2024171Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024172Computer GraphicsComputer GraphicsCollege of
110、Computer Science and TechnologyCollege of Computer Science and Technology注意:每一个注意:每一个 都是分段曲线,下面都是分段曲线,下面的图用不同的颜色表示的图用不同的颜色表示8/25/2024173Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024174Computer GraphicsComputer Graphics
111、College of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024175Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024176Computer GraphicsComputer GraphicsCollege of Computer Science and Technolo
112、gyCollege of Computer Science and Technology8/25/2024177Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024178Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Techno
113、logy由节点向量由节点向量(0,1,2,3,4)所确定所确定的均匀的均匀B样条基函数样条基函数Ni,4(u)曲线曲线(i=0,1,2,3)。)。图所示的图所示的B样条基样条基函数函数Ni,4(u)由四条三次多项式曲线由四条三次多项式曲线片拼接而成。当节点在区间片拼接而成。当节点在区间ui,ui+k上上B样条曲线基函数样条曲线基函数Ni,k(u)大于大于0,而在其它区间上则为,而在其它区间上则为0,并,并且且Ni,k(u)在节点(在节点(ui, ui+1, ui+k)处是连续的处是连续的 8/25/2024179Computer GraphicsComputer GraphicsCollege
114、 of Computer Science and TechnologyCollege of Computer Science and Technologyui+2ui+3ui+4ui+5ui+6ui+7uiui+18/25/2024180Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology如果固定在如果固定在ui+3uui+4区间,可以写出:区间,可以写出: 8/25/2024181Computer Graphi
115、csComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology上述结果对任意的上述结果对任意的i成立,令成立,令i=0,可写出可写出四个四个B样条函数:样条函数:8/25/2024182Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology设设给给出出n+1个个控控制制点点
116、P0,P1,Pn,则则所所确确定定的的4阶阶3次次等等距距B样样条条曲曲线是:线是:8/25/2024183Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024184Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technolo
117、gy曲线的性质曲线的性质 8/25/2024185Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024186Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024187Computer Graphi
118、csComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024188Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology性质性质1 1: Pi,Pi+1,Pi+2,Pi+3确定的一段曲线确定的一段曲线的起点的位置向量、切线向量及二阶导向量,的起点的位置向
119、量、切线向量及二阶导向量,事实上都事实上都只与只与PiPi+1Pi+2有关有关,而终点处各,而终点处各量只与量只与Pi+1Pi+2Pi+3,有关。如果考虑接下去有关。如果考虑接下去的一段曲线,即的一段曲线,即Pi+1,Pi+2,Pi+3,Pi+4确定的确定的一段,在其起点,上述各量就只与一段,在其起点,上述各量就只与Pi+1Pi+2Pi+3有关,并恰好是前一段曲线终点有关,并恰好是前一段曲线终点处的上述各量,自然是对应相等的。这就证处的上述各量,自然是对应相等的。这就证明了明了曲线在拚接处是连续的,一阶和二阶导曲线在拚接处是连续的,一阶和二阶导数也是连续的数也是连续的。因此知道。因此知道4阶阶
120、3次等距次等距B样条样条曲线:虽然曲线:虽然分段确定,但各段拚接处有直到分段确定,但各段拚接处有直到二阶导数的连续性,整条曲线是光滑的。二阶导数的连续性,整条曲线是光滑的。8/25/2024189Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology性质性质2:4阶阶3次等距次等距B样条曲线具有凸包性,这通过样条曲线具有凸包性,这通过验证验证0Nj,4(u)1,0j3及及性质性质3:B样条曲线具有局部性样条曲线具有
121、局部性当当移移动动一一个个控控制制点点时时,只只对对其其中中的的一一段段曲曲线线有有影影响响,并不对整条曲线产生影响。并不对整条曲线产生影响。8/25/2024190Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology如图所示是一条如图所示是一条B样条曲线。该图表示控制点样条曲线。该图表示控制点P5变化后曲线变化变化后曲线变化的情况。由图可见的情况。由图可见P5变化只对其中一段曲线有影响。变化只对其中一段曲线有影
122、响。 P1= P9P0= P8P2= P10P3P7P4P6P5P5P58/25/2024191Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology性质性质4:用用B样条曲线可构造样条曲线可构造直线段直线段、尖点、切尖点、切线线等特殊情况。对于等特殊情况。对于4阶阶3次次B样条曲线样条曲线P(u)若若要在其中得到一条直线段,只要要在其中得到一条直线段,只要控制点控制点Pi,Pi+1,Pi+2,Pi+3四点位于一条
123、直线上四点位于一条直线上,此时,此时P(u)对应的对应的ui+3uui+4的曲线即为一段直线,的曲线即为一段直线,且和且和Pi,Pi+1,Pi+2,Pi+3所在的直线重合。为所在的直线重合。为了使了使P(u)能过能过Pi点,只要点,只要Pi,Pi+1,Pi+2三点重三点重合合,此时,此时P(u)过过Pi点(尖点)。点(尖点)。 8/25/2024193Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and TechnologyPPP8/
124、25/2024194Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology3.B样条曲面样条曲面 0u1,0w1,0kK,0lL每一个曲每一个曲面片面片Qkl(u,w)由由16个控制点确定。个控制点确定。 8/25/2024196Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Compute
125、r Science and Technology8/25/2024197Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology8/25/2024198Computer GraphicsComputer GraphicsCollege of Computer Science and TechnologyCollege of Computer Science and Technology3片双三次B样条曲面 拼接8/25/2024199