《计算机图形学第五章曲线曲面生成优秀课件.ppt》由会员分享,可在线阅读,更多相关《计算机图形学第五章曲线曲面生成优秀课件.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机图形学第五章曲线曲面生成第1页,本讲稿共36页本章主要内容曲线曲面的表示方法规则曲线的几种主要形式三次参数样条曲线、三次B样条曲线、三次Bezier曲线 Coons曲面、Bezier曲面、B样条曲面第2页,本讲稿共36页 在工程上,曲线曲面的应用十分广泛。如根据实验、观测或数在工程上,曲线曲面的应用十分广泛。如根据实验、观测或数值计算获得的数据来绘制出一条光滑的曲线,以描述事物的各种值计算获得的数据来绘制出一条光滑的曲线,以描述事物的各种规律。在汽车、飞机、船舶的等产品的外形设计中,要用到大量规律。在汽车、飞机、船舶的等产品的外形设计中,要用到大量的曲线和曲面来描述其几何形状。的曲线和曲
2、面来描述其几何形状。表示曲线和曲面的基本方法有两种:参数法和非参数法。表示曲线和曲面的基本方法有两种:参数法和非参数法。(1 1)非参数法)非参数法 y=f(x)y=f(x)显函数显函数(不能表示封闭或多值的曲线)不能表示封闭或多值的曲线)f(x f(x,y)=0 y)=0 隐函数(方程的根很难求)隐函数(方程的根很难求)(2 2)参数法)参数法 x=f(t)y=g(t)x=f(t)y=g(t)求导很方便,不会出现计算上的困难求导很方便,不会出现计算上的困难曲线曲面曲线曲面第3页,本讲稿共36页曲线曲面理论的发展曲线曲面理论的发展 1963 Ferguson:三次参数曲线 1964 Coons
3、:Coons曲面 1971 Bezier:Bezier曲线、曲面 1972 De Boor:B样条标准计算方法 1974 Gordon/Risenfeld:B样条曲线曲面第4页,本讲稿共36页工程上常用的曲线可以分为两类:规则曲线 不规则曲线(拟合曲线或自由曲线)。5.1曲线的生成第5页,本讲稿共36页规则曲线可以用函数或参数方程直接表示的曲线。可以用函数或参数方程直接表示的曲线。二维平面x=f(t)y=g(t)空间曲线x=f(t)y=g(t)z=h(t)参数t在一定区间变化,可以求得曲线上不同的坐标点,连接这些坐标点就能在屏幕上画出曲线,t变化间隔越小,曲线画得越精细。例如:椭圆例如:椭圆x
4、=a cos y=b sin=0360变化变化=1 第6页,本讲稿共36页规则曲线圆锥曲线:圆、椭圆、抛物线和双曲线。渐开线:与圆相切的直线按一定方向在圆周上做滚动,该直线上一点P的轨迹摆线:平摆线、外摆线、内摆线平摆线:已知圆在X轴上作纯滚动,圆周上一点P的轨迹 外摆线:一个动圆(在基圆外侧)在基圆上作滚动时,该圆上一点P的轨迹内摆线:一个动圆(在基圆内侧)在基圆内部做滚动时,该圆上一点P的轨迹第7页,本讲稿共36页工程中除了用到前述的规则曲线外,还常常遇到这样的情况:已知一些计算值或测试数据,要构造一条光滑曲线,通过或贴近这些离散点数据,这样构造出来的曲线称为拟合曲线(自由曲线)。拟合曲线
5、 拟合曲线通常采用二次或三次参数曲线的形式,我拟合曲线通常采用二次或三次参数曲线的形式,我们主要介绍三次拟合曲线。们主要介绍三次拟合曲线。通过离散点通过离散点贴近离散点贴近离散点第8页,本讲稿共36页拟合曲线曲线的拟合:完全通过或比较贴近给定型值点来构造曲线的方法。光滑连接:两条曲线段在连接点出有相同的切线。位置连续:两条曲线段有一个端点位置相同。一阶导数连续:在连接点处切线是相同的。二阶导数连续:在连接点处有相同的曲率。第9页,本讲稿共36页主要三类拟合曲线:FergusonFergusonFergusonFerguson曲线(三次参数样条曲线段)曲线(三次参数样条曲线段)曲线(三次参数样条
6、曲线段)曲线(三次参数样条曲线段)三次三次三次三次BezierBezierBezierBezier曲线曲线曲线曲线 B B B B样条曲线样条曲线样条曲线样条曲线拟合曲线第10页,本讲稿共36页参数三次曲线段可以描述成:P(t)=At3+Bt2+Ct+D=t3 t2 t 1 A B C D =t3 t2 t 1 MT0t 1Ferguson曲线 P(t)=P(0)=Q1=P(1)=Q1=P(0)=Q0=P(1)=Q1=3t2 2t 1 00 0 0 11 1 1 1 0 0 1 03 2 1 0MMMMMQ0Q0Q1Q1。第11页,本讲稿共36页Q0Q1Q0Q1=0 0 0 11 1 1 10
7、 0 1 13 2 1 0MQ0Q0Q1=2 -2 1 1-3 -3 -2 -10 0 1 01 0 1 0Q1M。P(t)=t3 t2 t 1 Q0Q0Q12 -2 1 1-3 -3 -2 -10 0 1 01 0 1 0Q1。0t 1Ferguson曲线第12页,本讲稿共36页Ferguson曲线曲线形状由两端点的位矢和切矢控制 端点的边界条件发生变化曲线随之变化缺少灵活性和直观性,使用不方便第13页,本讲稿共36页 FergusonFerguson曲线需要知道起点、终点的切矢,这在实际工作中很难确定,如果将切矢用位矢代替,问题就会迎刃而解,BezierBezier就是从这点入手的。三次三
8、次Bezier曲线的构造:Q01=Q0+1/p*Q0 Q0=p(Q01-Q0)Q10=Q1+1/p*Q1 Q1=p(Q10-Q1)代入上式代入上式。Bezier曲线Q0Q0Q1Q1。Q01Q10。第14页,本讲稿共36页P(t)=t3 t2 t 1 2-p p -p 2+p-3+2p -2p p 3-p-p p 0 0 1 0 0 0Q0Q10Q1Q010t 1P(t)=t3 t2 t 1 2 -2 1 1-3 3 -2 -1 0 0 1 0 1 0 0 0Q0Q1P(Q01-Q0)P(Q10-Q1)0t 1Bezier曲线第15页,本讲稿共36页由A0(t)+A1(t)+A2(t)+A3(t
9、)1A0(t)0 A1(t)0 A2(t)0 A3(t)0得出:0 p3 p=3 时,逼近性最好。柯西条件:(满足凸包性要求)A0(t)A1(t)A2(t)A3(t)Q0Q10Q11Q01=A0(t)Q0+A1(t)Q01+A2(t)Q10+A3(t)Q1P(t)Bezier曲线第16页,本讲稿共36页Y(t)=t3 t2 t 1 3 -6 3 0-3 3 0 0 1 0 0 0Y0Y1Y2Y3-1 3 -3 10 t1P(t)=t3 t2 t 1 3 -6 3 0-3 3 0 0 1 0 0 0Q0Q1Q2Q3-1 3 -3 10 t1X(t)=t3 t2 t 1 3 -6 3 0-3 3
10、0 0 1 0 0 0X0X1X2X3-1 3 -3 10 t1Bezier曲线第17页,本讲稿共36页X(t)=A0+A1t+A2t2+A3t3Y(t)=B0+B1t+B2t2+B3t3 A0=x0 A1=-3x0+3x1A2=3x0-6x1+3x2A3=-x0+3x1-3x2+x3 B0 B3计算式同上,只要将y0,y1,y2,y3代替x0,x1,x2,x3即可。Q0Q1Q2Q3Bezier曲线第18页,本讲稿共36页Bezier曲线特征多边形:Q0,Q1,Q2,Q3四个控制点连成的折线多边形。曲线形状由多边形顶点位置确定,特征多边形改变曲线则改变。第19页,本讲稿共36页BezierBe
11、zier曲线的连接曲线的连接 Q2,Q3,Q4位于同一条直线才能保证两Bezier曲线段光滑连接。Bezier曲线不足:特征多边形的边数与曲线的次数有关。Bezier曲线是一个整体的逼近方案(牵一发动全身)。Q0Q1Q3Q2Q5Q4Q6第20页,本讲稿共36页 三次B样条曲线对三次Bezier曲线进行改进,它克服了Bezier曲线的不足,同时保留了Bezier曲线的直观性和凸包性,是一种工程设计中更常用的拟合曲线。三次B样条曲线的构造:由前面可知,三次参数曲线可以表示成:P(t)=A0(t)Q0+A1(t)Q1+A2(t)Q2+A3(t)Q3 (1)A0(t),A1(t),A2(t),A3(t
12、)是待定参数 B样条曲线P1 由Q0,Q1,Q2,Q3确定P2 由Q1,Q2,Q3,Q4确定Q0Q1Q3Q2Q4P1P2第21页,本讲稿共36页P1(1)=P2(0)P1(1)=P2(0)P1(1)=P2(0)A0(t)+A1(t)+A2(t)+A3(t)=1A0(t),A1(t),A2(t),A3(t)0确定 A0(t),A1(t),A2(t),A3(t)代入(1)式P(t)=t3 t2 t 1 3 -6 3 0-3 0 3 0 1 4 1 0Q0Q1Q2Q3-1 3 -3 10 t11/6。对于B样条曲线来说,特征多边形每增加一个顶点,就相应增加一段B样条曲线。因此,B样条曲线很好地解决了
13、曲线段的连接问题。B样条曲线第22页,本讲稿共36页X(t)=t3 t2 t 1 X0X1X2X30 t1Y(t)=t3 t2 t 1 Y1Y2Y30 t11/61/6X(t)=A0+A1t+A2t2+A3t3Y(t)=B0+B1t+B2t2+B3t3 展开:3 -6 3 0-3 0 3 0 1 4 1 0-1 3 -3 1 3 -6 3 0-3 0 3 0 1 4 1 0-1 3 -3 1Y0B样条曲线第23页,本讲稿共36页其中:A0=(x0+4x1+x2)/6 A=-(x0-x2)2A2=(x0-2x1+x2)/2A3=-(x0-3x1+3x2-x3)/6 B0 B3计算式同上,只要将y
14、0,y1,y2,y3代替x0,x1,x2,x3即可。编程步骤:(a)计算A0 A3,B0 B3 (b)将t在0 1之间变化,计算相应X(t),Y(t)(c)将坐标点X(t),Y(t)逐点相连。B样条曲线第24页,本讲稿共36页5.25.2曲面曲面平面曲线:空间曲线:P(t)=P(t)=x(t),y(t)x(t),y(t),z(t)r(u,w)=x(u,w),y(u,w),z(u,w)参数t参数u,w 在汽车、飞机、船舶的等产品的外形设计和放样工作中,曲面的应用非常广泛,这些部门对曲面的研究十分重视。从某种意义上讲,曲面的表示可以看作是曲线表示方法的延伸和扩展。例如:曲面:第25页,本讲稿共36
15、页常见的拟合曲面有三种:Coons曲面,Bezier曲面 B样条曲面,我们主要介绍三次曲面。拟合曲面拟合曲面第26页,本讲稿共36页 CoonsCoons曲面曲面 CoonsCoons曲面是用四个角点处的位矢、切矢和扭矢等曲面是用四个角点处的位矢、切矢和扭矢等信息来控制的。信息来控制的。在描述CoonsCoons曲面时,采用由曲面时,采用由CoonsCoons本人创造本人创造的一套记号,从而使表达式间接明了。的一套记号,从而使表达式间接明了。曲面r(u,w)记作 uw四角点位矢记作:00=r(0,0)01=r(0,1)10=r(1,0)11=r(1,1)00011011XYZuw0u1u0w1
16、wx(u,w),y(u,w),z(u,w)uw=第27页,本讲稿共36页00u=r(u,w)U=0W=0u01u=r(u,w)U=0W=1u10u=r(u,w)U=1W=0u11u=r(u,w)U=1W=1u四角点沿w方向切矢记作:00w=r(u,w)U=0W=0w01w=r(u,w)U=0W=1w10w=r(u,w)U=1W=0w11w=r(u,w)U=1W=1w四角点沿四角点沿u u方向切矢记作:方向切矢记作:第28页,本讲稿共36页00 uw=r(u,w)U=0W=0u01uw=2 r(u,w)U=0W=1u10uw=2 r(u,w)u11uw=2 r(u,w)u四角点处的扭矢记作:U=
17、1W=0U=1W=1十六个控制信息写成矩阵:C00 01 10 1100u 01u 10u 11u00uw 01uw 10uw 11uw 00w 01w 10w 11w=角点位矢w向切矢u向切矢扭矢wwww第29页,本讲稿共36页 曲面的形状、位置与切失、位矢有关,与扭矢无关。扭矢只反映曲面的凹凸程度。Coons曲面是双三次曲面,其方程为:uw=U M C MT WT (0 u1,0 w1)式中:U=u3 u2 u1 1 W=w3 w2 w1 1 M=2 -2 1 1-3 3 -2 -10 0 1 01 0 0 0 TMT=-2 3 0 01 -2 1 01 -1 0 0 2 -3 0 1 C
18、oonsCoons曲面曲面第30页,本讲稿共36页写成X,Y,Z三个方向的分量形式:x(u,w)=U M Cx MT WTy(u,w)=U M Cy MT WT (0 u1,0 w1)z(u,w)=U M Cz MT WT CoonsCoons曲面曲面第31页,本讲稿共36页 Bezier曲面Coons曲面的扭矢往往不易理解,使用不方便。另外,要构造一张曲面,已知条件切矢和扭矢,在工程中也是不太现实。Bezier曲面很好地克服了这一困难。B Bezier曲面是Bezier曲线的扩展,B Bezier曲面的边界线就是由四条Bezier曲线构成的。三次Bezier曲线段由四个控制点确定,三次Bez
19、ier曲面片则由*控制点确定。16个控制点组成一个矩阵:B=Q00 Q 10 Q20 Q30 Q01 Q 11 Q21 Q31 Q02 Q12 Q22 Q32Q03 Q13 Q23 Q33Q00Q10Q20Q30Q01Q31Q32Q02Q03Q33Q13Q23Q11Q21Q12Q22wu第32页,本讲稿共36页 曲面的形状、位置由边界上的四个角点决定。中间四个角点只反映曲面的凹凸程度。v(u,w)=U N B NT WT (0 u1,0 w1)Bezier曲面得表达式:式中U=u3 u2 u1 1 WT=w3 w2 w1 1 T 3 -6 3 0-3 3 0 0 1 0 0 0-1 3 -3
20、1N=NT(与Bezier曲线相同)Bezier曲面第33页,本讲稿共36页写成,三个方向分量得形式:X(u,w)=U N Bx NT WT Y(u,w)=U N By NT WT (0 u1,0 w1)Z(u,w)=U N Bz NT WT Bezier曲面第34页,本讲稿共36页样条曲面样条曲面也是样条曲线的推广,与三次Bezier曲面一样,三次样条曲面片也是由4 4控制点确定的。同样,16个控制点写成如下矩阵形式:B=Q00 Q 10 Q20 Q30 Q01 Q 11 Q21 Q31 Q02 Q12 Q22 Q32Q03 Q13 Q23 Q33与三次样条曲线一样,三次样条曲面也很好地解决了曲面片之间的连接问题。Q00Q10Q20Q30Q01Q31Q32Q02Q03Q33Q13Q23Q11Q21Q12Q22wu第35页,本讲稿共36页样条曲面的表达式为:v(u,w)=U N B NT WT (0 u1,0 w1)U、W、B矩阵与Bezier曲面是一样的。3 -6 3 0-3 0 3 0 1 4 1 0-1 3 -3 11/6N=(与样条曲线相同)写成X,Y,Z三个方向的分量形式:x(u,w)=U N Bx NT WTy(u,w)=U N By NT WT (0 u1,0 w1)z(u,w)=U N Bz NT WT第36页,本讲稿共36页