Bezier曲线和曲面_第1页
Bezier曲线和曲面_第2页
Bezier曲线和曲面_第3页
Bezier曲线和曲面_第4页
Bezier曲线和曲面_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机图形学第八章第八章 曲线与曲面曲线与曲面n8.2 Bzier曲线n8.3 Bzier曲面(掌握)n8.4 B样条曲线(掌握B样条曲线)n8.5 B样条曲面(了解)n8.6 NURBS曲线和曲面(了解)计算机图形学计算机辅助设计n参数曲线和曲面参数曲线和曲面 n由于几何外形设计的要求越来越高,传统的曲线曲面表示方法,已不能满足用户的需求。1962年,法国雷诺汽车公司的P.E.Bezier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为UNISURF的曲线和曲面设计系统,1972年,该系统被投入了应用。Bezier方法将函数逼近同几何表示结合起来,使得设计师在计算

2、机上就象使用作图工具一样得心应手。计算机图形学8.2 Bzier曲线曲线8.2: Bzier曲线8.3: Bzier曲面1.1: Bzier曲线的定义1.2: Bernstein基函数性质1.3: Bzier曲线的性质1.4: Bzier曲线的矩阵表示1.5: Bzier曲线的拼接1.6: Bzier曲线的离散生成1.7: 反算Bzier曲线控制顶点1.8: Bzier曲线的升阶与降阶1.9: 有理Bzier曲线2.1: Bzier曲面的定义2.2: Bzier曲面示例2.3: Bzier曲面的离散生成计算机图形学8.2.1 Bzier曲线曲线 由于几何外形设计的要求越来越高,传统的曲线曲面表

3、示方法, 已不能满足用户的需求。1962年,法国雷诺汽车公司的P.E.Bzier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为UNISURF的曲线和曲面设计系统,1972年,该系统被投入了应用。Bzier方法将函数逼近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。计算机图形学8.2.1 Bzier曲线的定义曲线的定义定义定义 给定空间n+1个点的位置矢量Pi(i=0,1,2,n) 则下列参数曲线称为n次Bzier曲线: Bi,n(t)是n次Bernstein基函数,定义为: 其中,Pi构成该Bzier曲线P(t)的特征多边形,P0,P1.P

4、n称为P(t)的控制顶点;niniittBPtP0,10),()(nittCtBiniinni,.1 ,0)1 ()(,计算机图形学Bzier曲线示例曲线示例Bzier曲线P(t)与其控制多边形的关系可以这样认为:控制多边形P0P1Pn是P(t)的大致形状的勾画;P(t)是对P0P1Pn的逼近;计算机图形学计算机图形学计算机图形学计算机图形学计算机图形学8.2.2 Bernstein基函数性质基函数性质nBernstein基函数1:正性2:权性)1 ,0(01 ,00)(,tttBnininininiinnittttCtB00,1)1()1 ()(nitttCtBiniinni,.1 ,010

5、)1 ()(,具有如下性质:计算机图形学Bernstein 基函数性质基函数性质3:端点性质4:对称性: 这是因为:)()(,tBtBninni)1 ()1 ()1 ()1 (1 )(,)(,tBttCttCtBniiniinininninnninotherwiseiBni001)0(,otherwiseniBni01)1(,计算机图形学Bernstein基函数性质基函数性质5:递推性 即高一次的即高一次的Bernstein基函数可由两个低一次的基函数可由两个低一次的Bernstein调调和函数线性组合而成和函数线性组合而成。这是因为:6:导函数;, 1 , 0),()()(1,1, 1,ni

6、tBtBntBninini ), 1 , 0()()()1 ()(1, 11,nittBtBttBninini)()()1 ()1 ()1 ()1 ()1 ()()1 ()(1, 11,)1()1(111)1(1111,ttBtBttttCttCtttCCttCtBniniiniininiininiinininiinni计算机图形学四次四次Bzier曲线的五条调和函数曲线曲线的五条调和函数曲线4, 0B4, 3B4, 2B4, 1B4, 4B计算机图形学8.2.3 Bzier曲线的性质曲线的性质n1.端点的位置: 由Bernstein基函数的端点性质可以推得,当t=0时,P(0)=P0 ;当t

7、=1时,P(1)=Pn。由此可见,Bzier曲线的起点、终点与相应的特征多边形的起点、终点重合。0P1P2P3P图3.1.8 三次Bezier曲线0P1P2P3P计算机图形学8.2.3Bzier曲线的性质曲线的性质n2:端点的切向量 所以当t=0时,P(0)=n(P1-P0), 当t=1时,P(1)=n(Pn-Pn-1), 这说明Bzier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。101,1,1)()()(nininiitBtBPntP计算机图形学8.2.3 Bzier曲线的性质曲线的性质n3:端点的曲率 当t=0时, 当t=1时, 上式表明:2阶导矢只与相邻的

8、3个顶点有关,事实上,r阶导矢只与(r+1)个相邻点有关,与更远点无关。 根据曲率公式: 得)2)(1()0(012PPPnnP)2)(1() 1 (21nnnPPPnnP3)()()()(tPtPtPtk3011201)()(1) 0(PPPPPPnnk31121)()(1) 1 (nnnnnnPPPPPPnnk计算机图形学8.2.3 Bzier曲线的性质曲线的性质n4:凸包性 由于 所以当t在0,1区间变化时,对某一个t值,P(t)是特 征多边形各顶点的加权平均,权因子依次是 。在 几何图形上,意味着Bzier曲线P(t)在 中各点是 控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之 中

9、;nininitBtB0,1)(, 0)()(,tBni 1 , 0t计算机图形学8.2.3 Bzier曲线的性质曲线的性质n5:几何不变性 这是指某些几何特性不随坐标变换而变化的特这是指某些几何特性不随坐标变换而变化的特性。性。Bzier曲线位置与形状与其特征多边形顶曲线位置与形状与其特征多边形顶点点Pi (i=0,1n) 的位置有关,它不依赖坐的位置有关,它不依赖坐标系的选择,即有:标系的选择,即有: (变量u是t的置换)abauBPtBPniininii,0,)( 事实上, 上式的力学意义是P(t)可作为各点Pi处的重量为 的力学系统的中心。中心的位置是不依赖于任何坐标系的。ninini

10、tBtB0,1)(, 0)()(,tBni计算机图形学8.2.3 Bzier曲线的性质曲线的性质n6:保凸性 如果平面上的凸控制多边形能导致所产生的曲线为凸曲线,则称这个生成多边形的方法具有保凸性。我们把控制多边形的P0点和Pn点连接起来,如果P0P1Pn形成一个平面凸多边形,则Bzier曲线P(t)是一段凸的平面曲线。这个性质就是Bzier曲线的保凸性。计算机图形学8.2.3 Bzier曲线的性质曲线的性质n7:变差缩减性 若Bzier曲线的特征多边形 是一个平面图形,则平面内任意直线与P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。此性质反映了Bzier曲线

11、比其特征多边形的波动还小,也就是说Bzier曲线比特征多边形的折线更光顺。nPPP10计算机图形学8.2.4 Bzier曲线的矩阵表示曲线的矩阵表示n一次一次Bzier曲线曲线 当n=1时: 矩阵表示是: 显然,一次Bzier曲线是连接起点P0和中点P1 的直线段。10101 ,10,)1 ()()(iiittPPttBPtP, 1001111)(10tPPttP计算机图形学一次一次Bezier曲线的两条调和函数曲线的两条调和函数1 , 0B1 , 1B计算机图形学8.2.4 Bzier曲线的矩阵表示曲线的矩阵表示n二次二次Bzier曲线曲线 当n=2时,Bzier曲线如下所示: 矩阵形式是:

12、 此式说明二次Bzier曲线对应一条起点在P0,终点在P2处的抛物线,即有:20221022,10,)1 (2)1 ()()(iiitPtPttPttBPtP, 100010221211)(2102tPPPtttP201)0(PPPP)(,)(2) 1(,)(2)0(1201PPPPPP计算机图形学二次二次Bzier曲线图示曲线图示计算机图形学二次二次Bezier曲线的三条调和函数曲线的三条调和函数2, 0B2, 1B2, 2B计算机图形学8.2.4 Bzier曲线的矩阵表示曲线的矩阵表示n三次三次Bzier曲线曲线 当n=3时,Bzier曲线如下所示: 其中,令: 则三次Bernstein调

13、和函数是:10,)1 (3)1 (3)1 ()()(33221203303 ,tPtPttPttPttBPtPiii,)1 (3)(,)1 ()(23 , 133 , 0tttBttB10,)(,)1 (3)(33, 323,2tttBtttB)(),(),(),(3, 33,23, 13,0tBtBtBtBB 计算机图形学n三次Bzier曲线的矩阵表示如下所示:32102300010033036313311)(PPPPttttP图示图示1图示图示2计算机图形学三次三次Bezier曲线的四条调和函数曲线的四条调和函数3 , 0B3 , 1B3 , 2B3 , 3B计算机图形学8.2.5 Bzi

14、er曲线的拼接曲线的拼接n一段Bzier曲线常常不足以表示复杂的曲线。为了构造复杂的曲线,在计算机图形学当中常用曲线拼接的方法,将一段段的Bzier曲线首尾相连拼接起来。n为了研究达到不同阶几何连续的条件,现在考虑两段Bzier曲线P(t)和Q(t)的连接。P(t)和Q(t)如下式确定:niniittBPtP0,10),()(niniittBQtQ0,10),()(计算机图形学8.2.5 Bzier曲线的拼接曲线的拼接n如上图可知,达到不同阶几何连续的条件分别如下: 达到 连续的充要条件为: 达到 连续的充要条件为 连续且:0QPnnnPP110QQ与均不为零且同向。0G1G0GP0Pn-2P

15、n-1PnQ0Q1Q2Qn计算机图形学8.2.5 Bzier曲线的拼接曲线的拼接达到 连续的充要条件为:达到 连续,且 , , , , , 六点共面, 和 位于直线 的同侧,且满足:21210112112),(),(nnnnnPPQQQPPdQPQd2G1G2nP1nPnP0Q1Q2Q2nP2Q11QPn 2nP1nPnP0Q1Q2Q),(112QPPdnn),(112QPQdn计算机图形学8.2.6 Bzier曲线的离散生成曲线的离散生成在计算机图形学当中经常要将一段Bzier曲线分成两段,分成的两段曲线显然都是参数多项式曲线,它们也可以表示成Bzier曲线的形式。Bzier曲线的离散性:B

16、zier曲线P(t)经中点分割得到的两段曲线 和 可表示为:)210()( ttP)121()( ttP 121),12(210),2(10)()(0,0,0,niniinnniniiininiittBPttBPttBPtP计算机图形学8.2.6 Bzier曲线的离散生成曲线的离散生成上式中, 和 由下列递推关系确定: nrPPrPPririiri,.2, 1,2/)(0,111 iiPiniP以三次Bzier曲线为例,n=3时 的递推关系如下所示: riP0P1P2P3P 11P 12P 13P 22P 23P 33P计算机图形学8.2.6 Bzier曲线的离散生成曲线的离散生成在上述的递推

17、关系形成的三角形当中,三条边都有意义: 是 的控制顶点; 是 的控制顶点; 是 的控制顶点;) 10()( ttP3210,PPPP 3322110,PPPP)2/10()( ttP 3132333,PPPP) 12/1 ()( ttPP31P0P1P2P3P21P11P22P22P33计算机图形学8.2.6 Bzier曲线的离散生成曲线的离散生成5次Bzier曲线的分割过程:计算机图形学8.2.6 Bzier曲线的离散生成曲线的离散生成Bzier曲线的收敛性曲线的收敛性:对控制多边形的分割可以不断的继续下去,每进行一次分割,多边形的边数就增加一倍。记第L次分割得到的多边形为 则当 时,分割产

18、生的多边形序列 一致收敛于 。 ,.)2 , 1(,.2310lPPPlllll ,.)2 , 1( ,.2310lPPPllll) 10()( ttP计算机图形学德卡斯特里奥生成算法德卡斯特里奥生成算法 定义定义:对于给定的对于给定的 可以给出决定由控制点可以给出决定由控制点 产生产生n次次Bezier曲线上一点曲线上一点 的算法,的算法,称为称为de Casteljau 算法算法 算法步骤:算法步骤: (1)输入次数)输入次数n与坐标与坐标 ,还有,还有 (0,1)之间的数之间的数 (2) 对于对于i=0,1,.,n 记记 (3)对)对k=1,.,n;i=k,.,n 依次计算依次计算 到到

19、 k=n 时停止,时停止,得得计算机图形学Bezier曲线的生成程序:n#include n#include n#includenint x0,x1,x2,y0,y1,y2;计算机图形学Bezier曲线的生成程序:void main()nnint gd,gm;nint x0,x1,x2,y0,y1,y2;nint n;nInt gm,gd=DETECT;ninitgraph(&gd,&gm,);计算机图形学Bezier曲线的生成程序:nprintf(please input point p0(x0,y0):);nscanf(%d,%d,&x0,&y0);npri

20、ntf(please input point p1(x1,y1):);nscanf(%d,%d,&x1,&y1);nprintf(please input point p2(x2,y2):);nscanf(%d,%d,&x2,&y2);nprintf(please input degree:);nscanf(%d,&n);nsystem(cls);nputpixel(x0,y0,2);putpixel(x2,y2,2);nbezier(x0,y0,x1,y1,x2,y2,1);getch();n计算机图形学Bezier曲线的生成程序:void bezie

21、r(x0,y0,x1,y1,x2,y2,m)n int xi,xj,xk,xl,yi,yj,yk,yl;n int c=2;nif(m=n) return;nelse xi=(x0+x1)/2; yi=(y0+y1)/2;nxj=(x1+x2)/2; yj=(y1+y2)/2;nxk=(xi+xj)/2; yk=(yi+yj)/2;nputpixel(xk,yk,c);nbezier(x0,y0,xi,yi,xk,yk,m+1);nbezier(xk,yk,xj,yj,x2,y2,m+1);nn计算机图形学8.2.7 反算反算Bzier曲线控制顶点曲线控制顶点给定n+1个型值点 ,构造一条Bz

22、ier曲线通过这些点,则反算Bzier曲线控制点的问题是如何求得过 的Bzier曲线的控制点),.,1 , 0(niQiiQ),.,1 , 0(niPiP0 =P4P3P2P1Q0Q1Q2Q3Q4 =计算机图形学8.2.7 反算反算Bzier曲线控制顶点曲线控制顶点设 在曲线 上,且有 则取参数 和点 相对应,我们可以得到下列关 于 的n+1个方程组成的线性方程组iQ)(tPnnnnnnnntCPttCPtCPtP.)1 ()1 ()(11100nit/),.0(niPinnnnnnnnnniPQniniCPniniCPniCPQPQ; 1,.,2, 1,)/(.)/()/1()/1(1110

23、000由此方程组解出 ,这就是过 的Bzier曲线的控制顶点.iQiPiQ计算机图形学8.2.8 Bzier曲线的升阶与降阶曲线的升阶与降阶Bzier曲线的升阶 所谓升阶是指保持Bzier曲线的形状与定向不变,增加定义它的控制顶点数目,也即是提高该Bzier曲线的次数。增加了控制顶点数,不仅增加了对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。对于一些由曲线生成曲面的算法,要求那些曲线必须是同次的。应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,而获得同一的次数。 曲线升阶后,原控制顶点会发生变化。下面,我们来计算曲线提升一阶后的新的控制顶点。计算机图形学8.2.8

24、Bzier曲线的升阶与降阶曲线的升阶与降阶设给定原始控制顶点 ,定义了一条n次Bzier曲线 增加一个顶点后,得到新的控制顶点为 如下图所示:nPPP,101 ,0)()(0,ttBPtPninii*1*1*0,nPPP计算机图形学8.2.8 Bzier曲线的升阶与降阶曲线的升阶与降阶升阶之后,Bzier曲线的公式变为: 对上式左边乘以 ,得到 比较等式两边 项的系数,得到 化简得:niniiniiininiiinttPCttPC010*1)1 ()1 ()1(ttiniiinniiniiniiinttPCttttPC1*1011)1 ()1 ()1 (initt1)1(111*)1(inii

25、niiniCPtCtPCP)1, 1 , 0(1111*niPniPniPiii计算机图形学8.2.8 Bzier曲线的升阶与降阶曲线的升阶与降阶Bzier曲线升阶之后,控制顶点之间的关系说明:新的控制顶点 是以参数值 按分段线性插值从原始特征多边形得出的;升阶后的新的特征多边形在原始特征多边形的凸包内;升阶后的新的特征多边形更靠近Bzier曲线;*iP1ni计算机图形学8.2.8 Bzier曲线的升阶与降阶曲线的升阶与降阶降阶是升阶的逆过程。给定一条由原始控制顶点 定义的n次Bzier曲线,要求找到一条 由新控制顶点 定义的n-1次Bzier曲 线来逼近原始曲线。), 1 , 0(niPi)

26、 1, 1 , 0(*niPi计算机图形学8.2.9. 有理有理Bzier曲线曲线Bzier曲线具有许多良好的性质,在CAD领域中得到了广泛的应用。但是,它不能表示圆等一类常见的曲线。因此,有必要将它的表示方式进行推广。有理Bzier曲线便是自然的推广(对于Bzier曲面,B样条曲线曲面和Coons曲面,同样存在它们的有理形式)。定义:称下列参数曲线为以 为控制多边形,以 为权的n次有理Bzier曲线:nPPP.10nhhh.1010,)()()(0,0,ttBhtBPhtPniniininiii计算机图形学有理有理Bzier曲线的性质曲线的性质包含Bzier曲线:当各hi的值都相等时,P(t)的分母为常数,P(t)化为以 为控制多边形的n次Bzier曲线;形状灵活:有理Bzier曲线,在控制多边形确定之后,还可以通过调整权值的数值,改变曲线的形状;良好的几何性质:有理Bzier曲线和Bzier曲线一样,具有端点性质,凸包性,保凸性,变差缩减性,几何不变性和良好的交互能力等性质;易拼接:有理Bzier曲线的拼接可以通过调整权值来实现,这使得有理Bzier曲线达到C2连续的拼接比Bzier曲线更加容易;nPPP.10计算机图形学8.3

温馨提示

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

评论

0/150

提交评论