第5章之一三维图形生成和变换技术-1(计算机图形学)_第1页
第5章之一三维图形生成和变换技术-1(计算机图形学)_第2页
第5章之一三维图形生成和变换技术-1(计算机图形学)_第3页
第5章之一三维图形生成和变换技术-1(计算机图形学)_第4页
第5章之一三维图形生成和变换技术-1(计算机图形学)_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、教材:教材:计算机图形学计算机图形学王汝传等王汝传等 编著编著 人民邮电出版社人民邮电出版社 第五章第五章 目录目录 第五章第五章 三三维图形生成和变换技术维图形生成和变换技术 5.1 5.1 三维图形的概念三维图形的概念 5.2 5.2 自由曲面的生成自由曲面的生成 5.3 5.3 三维图形的变换三维图形的变换 5.4 5.4 三维图形剪裁和消隐三维图形剪裁和消隐 第五章第五章 三维图形生成和变换技术三维图形生成和变换技术 5.1 5.1 三维图形的概念三维图形的概念 在计算机图形学中最重要的部分还是三维图形生在计算机图形学中最重要的部分还是三维图形生成与变换,不仅人们对它感兴趣,而且在实际

2、应用中成与变换,不仅人们对它感兴趣,而且在实际应用中更加广泛。三维图形生成比起二维图形生成要复杂得更加广泛。三维图形生成比起二维图形生成要复杂得多,其根本原因在于我们的图形输入设备和输出设备多,其根本原因在于我们的图形输入设备和输出设备基本上都是二维的,用这些二维的图形设备去表现空基本上都是二维的,用这些二维的图形设备去表现空间三维实体自然会增加许多复杂性优需要运用许多新间三维实体自然会增加许多复杂性优需要运用许多新的方法去处理三维图形。的方法去处理三维图形。 在计算机图形学研究中,三维图形概念有几种在计算机图形学研究中,三维图形概念有几种: :1 1、是采用线框图构成的三维图形,这是最基本、

3、最简、是采用线框图构成的三维图形,这是最基本、最简单的,它实际上是在二维屏幕上展示的具有三维视觉效单的,它实际上是在二维屏幕上展示的具有三维视觉效果的图形;果的图形;2 2、三维实体图形,它是采用各种颜色图案、纹理等填、三维实体图形,它是采用各种颜色图案、纹理等填充过的图形,在视觉上也具有三维效果;充过的图形,在视觉上也具有三维效果;3 3、三维立体图形,它借助于光照、浓淡和明暗技术,、三维立体图形,它借助于光照、浓淡和明暗技术,产生了真正的三维立体效果。产生了真正的三维立体效果。 这些三维图形都是我们在计算机图形学中要研究和这些三维图形都是我们在计算机图形学中要研究和予以实现的内容。予以实现

4、的内容。 5.2 5.2 自由曲面的生成自由曲面的生成一、概述一、概述 在计算机出现之前以及在计算几何没有很好地发展在计算机出现之前以及在计算几何没有很好地发展之前,一些工程实际中应用的复杂自由曲面,如飞机、之前,一些工程实际中应用的复杂自由曲面,如飞机、船舶、汽车等几何外形的描述以及地形形状的表示,船舶、汽车等几何外形的描述以及地形形状的表示,传传统的处理办法是用一组或几组平行平面去裁这个曲面,统的处理办法是用一组或几组平行平面去裁这个曲面,画出几组截交线来表示这个曲面。画出几组截交线来表示这个曲面。例如船体就是用互相例如船体就是用互相正交的三组平面截得的纵剖线,横剖线和水平线表示;正交的三

5、组平面截得的纵剖线,横剖线和水平线表示;地面则是用一组水平面截得等高线表示的。这实际上是地面则是用一组水平面截得等高线表示的。这实际上是把曲面问题转化成了曲线问题。这种处理办法可称为曲把曲面问题转化成了曲线问题。这种处理办法可称为曲线网格表示法。线网格表示法。一组等高线一组等高线表示地面表示地面 正是利用这些曲线网格来近似地表示自由曲面,因正是利用这些曲线网格来近似地表示自由曲面,因此,在产生一张曲面时,我们可以利用一系列的纵横交此,在产生一张曲面时,我们可以利用一系列的纵横交错且相互平行的样条曲线来构造曲面,如下图所示。错且相互平行的样条曲线来构造曲面,如下图所示。 我们如何确定这张曲面上任

6、意一点位置呢?很明显我们如何确定这张曲面上任意一点位置呢?很明显,如果这点恰好落在某一条网格线上,如图,如果这点恰好落在某一条网格线上,如图A A点,那么点,那么就可以根据这条网格线函数表示来计算这一点位置(坐就可以根据这条网格线函数表示来计算这一点位置(坐标);若这一点不在任何网格线上,如图中的标);若这一点不在任何网格线上,如图中的B B点,那点,那么就无法计算出该点精确位置,只能用离该点最近一条么就无法计算出该点精确位置,只能用离该点最近一条网格线上的点近似地表示。网格线上的点近似地表示。图5.1 曲面的网格表示 这使得本来精度不很高近似曲面在这一点精度更加这使得本来精度不很高近似曲面在

7、这一点精度更加降低,所以用这种方法来产生曲面只适合于一部分精度降低,所以用这种方法来产生曲面只适合于一部分精度要求不太高场合,我们可以把平面里自由曲线生成方法要求不太高场合,我们可以把平面里自由曲线生成方法加以推广,借助于加以推广,借助于曲面的解析表达式曲面的解析表达式来处理有关曲面问来处理有关曲面问题。题。 曲面的种类繁多,为便于讨论,将曲面分为两类,曲面的种类繁多,为便于讨论,将曲面分为两类,(1 1)规则曲面:如柱、锥、椭球、环、双曲面、抛物)规则曲面:如柱、锥、椭球、环、双曲面、抛物面等,它可以用参数方程解析地描述。面等,它可以用参数方程解析地描述。(2 2)不规则曲面、如)不规则曲面

8、、如CoonsCoons曲面、曲面、BezierBezier曲面、曲面、B B样条样条曲面等,这是构造某种曲面方程问题,也是下面要讨论曲面等,这是构造某种曲面方程问题,也是下面要讨论重点。重点。 二、空间曲面的参数表示二、空间曲面的参数表示 在空间解析几何中,三维空间内一张任意曲面一段用在空间解析几何中,三维空间内一张任意曲面一段用两个参数曲面矢量两个参数曲面矢量 方程或参数方程表示,可以写成,方程或参数方程表示,可以写成, 式中式中u u、v v为参数为参数 1010),(),(),() 15(),(),(),(),(vvvuuuvuzzvuyyvuxxvuzvuyvuxvur 或或曲面的图

9、形如图所示,曲面有两族参数曲线,或称坐标曲面的图形如图所示,曲面有两族参数曲线,或称坐标曲线,通常简称曲线,通常简称u u线和线和v v线。当线。当u u= =u ui i时,代人式(时,代人式(5 51 1)得得上式中是曲面上一条参数曲线上式中是曲面上一条参数曲线r(ur(ui i, ,v)v),即一条即一条v v线。当线。当v=vv=vj j时,代人式(时,代人式(5 51 1)得)得, , 上式则是另一条参数曲线上式则是另一条参数曲线r r( (u u, ,v vj j) ),或称或称u u线。上述两条线。上述两条参数曲线参数曲线r r( (u ui i, ,v v) )和和r r( (

10、u u, ,v vj j) )的交点则是的交点则是r r( (u ui i, , v vj j) ) 。事事实上,用实上,用u u= = u ui i, ,v v= =v vj j代人式(代人式(5 5l l)也得到曲面上同一也得到曲面上同一点位置矢量点位置矢量r r( (u ui i, ,v vj j) ) ),(),(),(),(vuzvuyvuxvuriiii ),(),(),(),(jjjjvuzvuyvuxvur ),(),(),(),(jijijijivuzvuyvuxvur vur(ui,v)r(u,vj)r(ui,vj)例如,如图的平面片方程为:例如,如图的平面片方程为: 式中

11、矢量式中矢量r r0 0为平面上一点的位置矢量,为平面上一点的位置矢量,a a和和b b为常矢量,为常矢量,且且a a不平行于不平行于b b,该平面片是由矢量该平面片是由矢量a a和和b b张成的四边形。张成的四边形。 )1,(),(0 vuobvaurvurr(u,v)图5.4 柱面又例如,如图又例如,如图5.45.4所示,以固定方向长度为所示,以固定方向长度为a a的直线段作的直线段作为母线沿给定一条空间曲线为母线沿给定一条空间曲线r r1 1 (u u)移动生成一个柱面移动生成一个柱面,其方程为,其方程为 式中式中a a是沿母线方向的常矢量。是沿母线方向的常矢量。 ) 1,(),(1 v

12、uoavurvur(二、二、Bezier(Bezier(贝塞尔)曲面贝塞尔)曲面 如前所述,如前所述,BezierBezier曲线是一条与控制多边形顶点位曲线是一条与控制多边形顶点位置有严格的相关联关系的曲线,置有严格的相关联关系的曲线,BezierBezier曲线形状趋向于曲线形状趋向于特征多边形形状,阶次由控制多边形顶点个数来决定。特征多边形形状,阶次由控制多边形顶点个数来决定。BezierBezier曲面是由曲面是由BezierBezier曲线拓广而来,它也是以曲线拓广而来,它也是以BernsteinBernstein函数作为基函数,可以构造由空间点阵列的函数作为基函数,可以构造由空间点

13、阵列的位置来控制曲面。位置来控制曲面。 P0P1P2P3由四个数据点由四个数据点控制的三次贝控制的三次贝塞尔曲线塞尔曲线1 1、贝塞尔曲面的数学表达式、贝塞尔曲面的数学表达式 在三维空间里,给定在三维空间里,给定( (n nl)l)( (m m+1)+1)个点的空间点到个点的空间点到P Pijij(i=0i=0,l ln n;j=0j=0,1 1m m),),称称n nm m次参数曲面:次参数曲面:为为 n nm m 次次 BezierBezier曲面。曲面。 P Pijij是的控制顶点,和为是的控制顶点,和为BernsteinBernstein基函数,具体表示为:基函数,具体表示为: )1,

14、0()()(),(00 vuvBuBPvuPmjninimjij,jmjjmmjiniinnivvCvBuuCuB )1()()1()(, 如果用一系列直线段将相邻的点如果用一系列直线段将相邻的点P Pi0i0,P Pi1i1P Pimim(i=0(i=0,1 1n)n)和和P P0j0j,P P1j1jP Pnjnj(j=0(j=0,l l,m m) )一连接起来组成一张空间网格一连接起来组成一张空间网格,称这张网络为,称这张网络为m mn n次曲面特征网格,如图所示。次曲面特征网格,如图所示。 类似于类似于BezierBezier曲线情况,特征网格框定了曲线情况,特征网格框定了P(P(u,

15、vu,v) )的大致形的大致形状;状;P(P(u,vu,v) )是对特征网格的逼近。是对特征网格的逼近。p00p10p20p30p31p21p11p01p32p22p12p02p33p23p13p033 3* *3 3次的特次的特征曲面网格征曲面网格2 2、贝塞尔曲面的性质、贝塞尔曲面的性质 BezierBezier曲面有类似于曲面有类似于BezierBezier曲线的性质。曲线的性质。 (l l)端点位置端点位置由于由于P P0000= =P P(0,0) (0,0) P P0m0m= =P P(0,1) (0,1) P Pn0n0= =P P(1,0) (1,0) P Pnmnm= =P

16、P(1,1)(1,1)说明说明P P0000、P P0m0m、P Pn0n0、P Pnmnm是曲面是曲面P P( (u,vu,v) )的四个端点,见图的四个端点,见图 p00p30p03p33 (2 2)边界线位置)边界线位置BezierBezier曲面的四条边界线曲面的四条边界线P P(0,v)(0,v)、P P(u,0)(u,0)、P P(1,v)(1,v)、P P(u,1)(u,1)分分别是以别是以P P0000P P0101P P0202P P0m0m、P P0000P P1010P P2020P Pn0n0、P Pn0n0P Pn1n1 P Pn2n2P Pn nm m和和P P0m

17、0mP P1m1mP P2m2mP Pnmnm为控制多边形的为控制多边形的BezierBezier曲线,见图。曲线,见图。控制多边形控制多边形边界线边界线(3 3)端点的切平面)端点的切平面 由计算易知,三角由计算易知,三角P P0000P P1010P P0101、P P0n0nP P1m1mP P0 0,m-1m-1、P PnmnmP Pn-1,mn-1,mP Pn,m-1n,m-1和和P Pn0n0P Pn-1,0n-1,0P Pn1n1( (图图5.65.6中打上斜线三角形中打上斜线三角形) )所在的平面分别所在的平面分别在点在点P P0000、P P0m0m和和P Pn0n0与曲面与

18、曲面P P( (u,vu,v) )相切。相切。 p00p30p03p33(4 4)凸包性)凸包性 曲面曲面P P( (u,vu,v) )位于其控制顶点位于其控制顶点P Pijij(i=0i=0,l l,2 2n n;j=0j=0,1 1,2 2m m)的凸包内。的凸包内。(5 5)几何不变性)几何不变性曲面曲面P P( (u,vu,v) )的形状和位置与坐标系选择无关,仅和点的形状和位置与坐标系选择无关,仅和点P P0000、P P0101、P Pnmnm位置有关。位置有关。 3.3.几个低次的贝塞尔曲线几个低次的贝塞尔曲线 (1) (1)双一次双一次BezierBezier曲面曲面当当n n

19、= =m m=1=1时,得双一次时,得双一次BezierBezier曲面曲面, ,给定给定( (n n1)1)( (m m+1) =2+1) =22=42=4个控制点:个控制点:P P0000、P P0101、P P1010、P P1111。 11011000111001001,11,01,11,01101111001001,11,011,1010)1()1()1)(1(11),()(,1)()(,1)()()()()()()(),(uvPvPuPvuPvuvvPPPPuuvuPvvBvvBuuBuuBvBvBPPPPuBuBvBuBPvuPjiijij 所所以以由由于于 其图形表示如图所示,

20、可以证明它是一个双曲抛物面(其图形表示如图所示,可以证明它是一个双曲抛物面(马鞍面)上的一块曲面片。马鞍面)上的一块曲面片。 在上式中,当在上式中,当u u=0=0和和u u=1=1时,得到的两条边界为直线段;时,得到的两条边界为直线段;同样,当同样,当v v=0=0和和v v=1=1时,得到两条也是直线段。时,得到两条也是直线段。所以双一次所以双一次BezierBezier曲面由四条直线段包围而成。曲面由四条直线段包围而成。1110010011011000)1(), 1()1(),()1()1()1)(1(),(vPPvvPvPPvvoPuvPvPuPvuPvuvuP 11011000110

21、11000)1()1 ,()1()0 ,()1()1()1)(1(),(uPPuuPuPPuuPuvPvPuPvuPvuvuP (2) (2)双二次双二次BezierBezier曲面曲面当当n n= =m m=2=2时,得双二次时,得双二次BezierBezier曲面曲面, ,给定给定( (n n1)1)( (m m+1) =3+1) =33=93=9个控制点:个控制点:P P0000、P P0101、P P0202、P P1010、P P1111、P P1212、P P2020 、P P2121 、P P2222。由由BezierBezier数学表达式数学表达式 22,222,122,022

22、,222,122,02,22,12,02221201211100201002,22,12,022,2020)(,22)(, 12)()(,22)(, 12)()()()()()()()()(),(vvBvvvBvvvBuuBuuuBuuuBvBvBvBPPPPPPPPPuBuBuBvBuBPvuPjiijij 由由于于 10010221211),(22221201211100201002vvPPPPPPPPPuuvuP所所以以当当u u取定值时,是关于取定值时,是关于v v的二次参数曲线,是抛物线;的二次参数曲线,是抛物线;当当v v取定值时,是关于取定值时,是关于u u的二次参数曲线。的二次

23、参数曲线。当当u u=0=0和和u u=1=1时,两条边界是抛物线段;时,两条边界是抛物线段; 22212202222120121110020100020120022221201211100201001001022121111), 1(1001022121100),0(PvPvPvvPPPPPPPPPvPPvPvPvvPPPPPPPPPvP 同理,当同理,当v v=0=0和和v v=1=1时,另外两条边界是抛物线段。时,另外两条边界是抛物线段。所以双二次所以双二次BezierBezier曲面由四条抛物线段包围而成。显然,中间的曲面由四条抛物线段包围而成。显然,中间的一个顶点的变化对边界曲线不产

24、生影响,这意味着在周边八点不一个顶点的变化对边界曲线不产生影响,这意味着在周边八点不变的情况下,适当选择中心顶点的位置可以控制曲面凹凸,这种变的情况下,适当选择中心顶点的位置可以控制曲面凹凸,这种控制方式是极其直观的,而且极其简易。控制方式是极其直观的,而且极其简易。 (3 3)双三次贝塞尔曲线)双三次贝塞尔曲线 当当n n= =m m=3=3时,得到双三次时,得到双三次BezierBezier曲面,给定曲面,给定 ( (n n1)1)( (m m+1)=4+1)=44=164=16个控制点,个控制点, P Pijij(i=0,1,2,3,j=0,1,2,3i=0,1,2,3,j=0,1,2,

25、3)。)。 333322332133203333322332133203)(,3)(363,331)(,3)(363,331vvBvvvBvvvBvvvBuuBuuuBuuuBuuuB 由由于于 10000003303631331*00000033036313311)()()()()()()()()()(),(2333323130232221201312111003020100233, 33, 23, 13, 033323130232221201312111003020100332313033,3,3030vvvPPPPPPPPPPPPPPPPuuuvBvBvBvBPPPPPPPPPPPPPP

26、PPuBuBuBuBvBuBPvuPjiijij所所以以 VUNPNvuPvvvVPPPPPPPPPPPPPPPPPNNuuuUTT ,100010033036313311233332313023222120131211100302010023令令矩阵矩阵P P表示双三次表示双三次BezierBezier曲面片特征多面体曲面片特征多面体16 16 个控制顶个控制顶点的位置向量。点的位置向量。 图 5.9 双三次 Bezier 曲面 双三次双三次BezierBezier曲面曲面边界曲线边界曲线1616个控制点中个控制点中只有只有4 4个顶点个顶点位于位于BezierBezier曲曲面上面上P P

27、矩阵中周围的矩阵中周围的1212个控制点定义了个控制点定义了4 4 条三次条三次BezierBezier曲线,即曲线,即边界曲线。其余的边界曲线。其余的4 4个点与边界曲线无关,但影响曲面片的个点与边界曲线无关,但影响曲面片的形状形状 4 4、贝塞尔曲线的拼接、贝塞尔曲线的拼接 一对于单个一对于单个BezierBezier曲面可以通过以下两步生成:曲面可以通过以下两步生成:(1 1)固定)固定v,v,随着随着u u变化可得一簇变化可得一簇BezierBezier曲线;曲线;(2 2)固定)固定u,u,随着随着v v变化可得一簇变化可得一簇BezierBezier曲线。曲线。 Bezier Be

28、zier曲面是由曲面是由BezierBezier曲线交织而成的曲面。曲线交织而成的曲面。 然而一个复杂的曲面往往不能用单一的然而一个复杂的曲面往往不能用单一的BezierBezier曲面来曲面来实现,于是要用几块实现,于是要用几块BezierBezier曲面拼接起来。曲面拼接起来。 以下讨论两张双三次以下讨论两张双三次BezierBezier曲面的拼接。曲面的拼接。下面给出两个相邻的下面给出两个相邻的BezierBezier曲面片,我们分别将它命名为曲面片,我们分别将它命名为P P(1)(1)(u,v)(u,v)和和P P(2)(2)(u,v)(u,v) 。 P P(1)(1)(u,v)(u,

29、v)P P(2)(2)(u,v)(u,v)u uv vP P(1)(1)(1,1)=P(1,1)=P(2)(2)(0,1)(0,1) 如果对如果对00v1v1中所有中所有v v,有有P P(1)(1)(1,v)(1,v)= =P P(2)(2)(0,v) (0,v) ,就可以,就可以得到跨界位置处曲面函数连续性。得到跨界位置处曲面函数连续性。要使要使BezierBezier曲面拼接:曲面拼接:(1 1)两曲面片间的一个公共边界需要两个特征多边形之)两曲面片间的一个公共边界需要两个特征多边形之间的一个共同边界多边形。间的一个共同边界多边形。 (2 2)要使跨界处一阶导数连续,即曲面在跨界处光顺,

30、)要使跨界处一阶导数连续,即曲面在跨界处光顺,对对00v1v1中的所有中的所有v v,曲面片曲面片1 1在在u=1u=1的切平面必须与曲的切平面必须与曲面面2 2在在u=0u=0的切平面重合。的切平面重合。 三、三、B B样条曲面样条曲面 B B样条曲面是样条曲面是B B样条曲线的拓广。样条曲线的拓广。1 1B B样条曲面的数学表达式样条曲面的数学表达式 在三维空间里,给定在三维空间里,给定 个个点,用向量点,用向量 (i=0 (i=0,1 1,n n,j=0j=0,1 1,m)m)表示,称表示,称 (0u0u,v1v1)为)为 次次B B样条曲面;样条曲面; 是是 的控制顶点,的控制顶点,F

31、 Fi,ni,n(u)(u)和和F Fj,mj,m(v)(v)为为B B样条样条基函数,具体表示为:基函数,具体表示为:(1) (1)nmijP,00( , )( )( )nmiji nj mijP u vP Fu Fv n m( , )P u vijP,101F( )(1)()!nikkni nnkuCunikn ,101F( )( 1)()!mjkkmj mmkvCvmjkm如果用一系列直线段将相邻的点如果用一系列直线段将相邻的点 , , ,(i=0i=0,1 1,n n)和)和 , , ,(j=0(j=0,1 1,m)m)一一连接起来,组成一张空间网格,称这张网一一连接起来,组成一张空间

32、网格,称这张网格为格为 次次B B样条曲面特征网格,如下图所示。样条曲面特征网格,如下图所示。 0iP1 iPimPn m1 jP0 jPnjP2 2几个低次几个低次B B样条曲面样条曲面 (1 1)双二次)双二次B B样条曲面样条曲面 当当 时,得双二次时,得双二次B B样条曲面,给定样条曲面,给定9 9个控制点,个控制点,即即P P0000、P P0101、P P0202、P P1010、P P1111、P P1212、P P2020、P P2121和和P P2222。 2nm由于由于 20,21( )(21)2Fuuu21,21( )( 221)2Fuuu22,21( )2Fuu20,2

33、1( )(21)2Fvvv21,21F ( )( 221)2vvv22,21( )2Fvv所以,双二次所以,双二次B B样条曲面为:样条曲面为: 22,2,200( , )( )( )ijijijP u vP Fu Fv 2114uu20001021011122021221211212202211101101PPPvPPPvPPP由左图可知,由左图可知, B B样条曲面不经过任样条曲面不经过任何一个网格顶点。左图表示了双二何一个网格顶点。左图表示了双二次次B B样条曲面的一片,如果网格向样条曲面的一片,如果网格向外扩展,曲面也相应延伸。由于二外扩展,曲面也相应延伸。由于二次次B B样条曲面基函

34、数是一阶连续的,样条曲面基函数是一阶连续的,所以对于两片双二次所以对于两片双二次B B样条曲面片,样条曲面片,其连接亦是一阶连续的。其连接亦是一阶连续的。 2 2几个低次几个低次B B样条曲面样条曲面 (2 2)双三次)双三次B B样条曲面样条曲面 当当 时,得双三次时,得双三次B B样条曲面:样条曲面:3nm 33,3,300,ijijijP u vP Fu Fv300010203210111213322021222330313233131 1133 13630360411303033316141010001PPPPvPPPPvuuuPPPPvPPPP 双三次双三次B B样条曲面片四个角点不

35、在给定的点的位样条曲面片四个角点不在给定的点的位置上。如果将网格向外扩展,曲面也相应延伸,而且置上。如果将网格向外扩展,曲面也相应延伸,而且由于三次由于三次B B样条基函数是二阶连续的,所以双三次样条基函数是二阶连续的,所以双三次B B样样条曲面也二阶连续。条曲面也二阶连续。 双三次双三次B B样条曲面特征网格样条曲面特征网格 四、四、CoonsCoons(孔斯)曲面孔斯)曲面 Coons Coons曲面是曲面是19641964年由孔斯(年由孔斯(coons)coons)提出的构造曲面提出的构造曲面的方法,这种方法的基本思想是将任意复杂的曲面分割的方法,这种方法的基本思想是将任意复杂的曲面分割

36、成若干小块,而每小块用参数方程来描述,即用四条边成若干小块,而每小块用参数方程来描述,即用四条边界曲线来定义,再通过适当地选择块与块之间的连接条界曲线来定义,再通过适当地选择块与块之间的连接条件,使边界上一阶导数和二阶导数连续,最后获得整个件,使边界上一阶导数和二阶导数连续,最后获得整个曲面。曲面。 1 1、混合函数、混合函数(1 1)定义定义 Coons Coons在他所研究的孔斯曲面中,定义了四个一元三在他所研究的孔斯曲面中,定义了四个一元三次函数次函数 F Fo o(u u),),F F1 1(u u),),G G0 0(u u),),G G1 1(u u),),它们的功它们的功能是用四

37、条给定的边界曲线生成一张曲面。能是用四条给定的边界曲线生成一张曲面。 定义在区间定义在区间0 0, l l上四个三次函数上四个三次函数 )25()10(232132231230321230 uuuuGuuuuGuuuFuuuF(2 2)混合函数性质)混合函数性质 , 11,01,00,00,01,01, 10,00,01, 11,00,00,01, 11,00, 101111000011110000GGGGGGGGFFFFFFFF列列性性质质:三三次次混混合合函函数数。具具有有下下 我们构造这样一段曲线我们构造这样一段曲线P P(u u),),来理解这四个混合函数的来理解这四个混合函数的功能。

38、若要求功能。若要求u=0u=0时时P P(0 0)=A=A0 0且且u u0 0处切向量处切向量P P(0)=B(0)=B0 0u=1u=1时,时,P(1)P(1)A A1 1,且且u ul l处的切向量处的切向量P P(1)=B(1)=B1 1。显然,根据上述四个一元三次函数显然,根据上述四个一元三次函数F F0 0(u)(u),F F1 1(u),G(u),G0 0(u),G(u),G1 1(u)(u)的端点性质,我们很容易得到的端点性质,我们很容易得到 )10(11001100 uuGBuGBuFAuFAuP 由此我们可以看出四个函数由此我们可以看出四个函数F F0 0(u),F(u),

39、F1 1(u),G(u),G0 0(u),G(u),G1 1(u)(u) 在在P P(u u)的表示中所起作用:的表示中所起作用: F F0 0(u)(u),F F1 1(u)(u)和用于控制两个端点(和用于控制两个端点(x x0 0)和(和(x=1x=1)的函数值,的函数值, G G0 0(u),G(u),G1 1(u)(u)而和却用来控制两个端点(而和却用来控制两个端点(x x 0 0)和(和(x x l l)的切向量。的切向量。 正是由于正是由于F F0 0(u)(u),F F1 1(u),G(u),G0 0(u),G(u),G1 1(u)(u)和的上述作用,使和的上述作用,使得它们被用

40、来定义双三次得它们被用来定义双三次CoonsCoons曲面。曲面。 2 2、双三次、双三次CoonsCoons曲面曲面 Coons Coons曲面有几种类型,双三次曲面是其中最有实用曲面有几种类型,双三次曲面是其中最有实用价值的一种。在几何造型计算中使用的价值的一种。在几何造型计算中使用的coonscoons曲面,都是曲面,都是这种双三次曲面。双三次这种双三次曲面。双三次coonscoons曲面是定义在一个单位区曲面是定义在一个单位区域域R R0 0上,并用向量方式表示的双参数向量方程。上,并用向量方式表示的双参数向量方程。 设两个参数分别用设两个参数分别用u u和和v v表示,则空间曲面上任

41、意一表示,则空间曲面上任意一点用向量点用向量P P可表示为,其分量形式为:可表示为,其分量形式为:其中参数其中参数u u,v v的定义域为单位区域的定义域为单位区域R R0 0上的值,即上的值,即 vuzvuyvuxvuP, 01,01,0,Ryx (1 1)CoonsCoons简洁符号简洁符号为了研究方便,运算简洁,为了研究方便,运算简洁,CoonsCoons提出了一套表示参数曲面的简洁符号。在提出了一套表示参数曲面的简洁符号。在CoonsCoons记号中,参数记号中,参数u u和和v v之间的逗号以及矢量的各分量之间的逗号都省略掉之间的逗号以及矢量的各分量之间的逗号都省略掉。当仅在讨论一张

42、曲面时,向量函数。当仅在讨论一张曲面时,向量函数P(u,v)P(u,v)前面字母前面字母P P连同其后圆括号也一连同其后圆括号也一起省略掉。符号起省略掉。符号u u0 0, ,u ul l,0,0v v,1,1v v分别表示曲面的四条边界曲线,曲面的四个角分别表示曲面的四条边界曲线,曲面的四个角点则简记为点则简记为00,01,10,1100,01,10,11,如图所示。,如图所示。 00111001u0u11v0v曲面的偏导向量的记号是:曲面的偏导向量的记号是:其中。分别其中。分别0 0v vu u,1v,1vu u,u0,u0v v,u1,u1v v为边界为边界0 0v v,1,1v v,

43、,u u0 0和和u u1 1上的斜率上的斜率。0000u u,01,01u u,10,10u u和和1111u u,是在四个角点是在四个角点u u向切矢;向切矢;0000v v,01,01v v,10,10v v和和1111v v。是在四个角点是在四个角点v v向切矢;向切矢; 00 00uvuv,01,01uvuv,10,10uvuv和和1111uvuv是四个角点混合偏导,又称扭矢。是四个角点混合偏导,又称扭矢。 01200221000 vuuvvvuuuvuvuuvvuvuuuvvvuuvuvvuuvuv(2)(2)CoonsCoons曲面定义曲面定义 由式(由式(5 52 2),我们得

44、到四个混合函数的矩阵,表),我们得到四个混合函数的矩阵,表示形式如下:示形式如下: UMGGFFMuuuUuuuuGuGuFuF 1010232310100001010012331122100010100123311221于于是是有有令令VMGGFFvvvGGFFGGFFGGFFT 10102310101010101010011012100321032vu于于是是有有的的形形式式来来表表示示,即即以以列列矩矩阵阵若若自自变变量量的的形形式式来来表表示示,以以行行距距阵阵以以上上是是自自变变量量 根据点动生线、线动生面的几何原理,把根据点动生线、线动生面的几何原理,把U U和和V V取作两取作两

45、个独立参数,即得一张个独立参数,即得一张CoonsCoons双三次曲面片,其数学表达双三次曲面片,其数学表达式如下:式如下: 式中式中C C称为角点信息矩阵。称为角点信息矩阵。TTuvuvuuuvuvuuvvvvVUMCMGGFFGGFFUV 1010101011101110010001001110111001000100 扭扭矢矢切切矢矢量量切切矢矢量量角角点点uvCuvuvuuuvuvuuvvvv11101110010001001110111001000100其中前三组信息可以完全决定四边边界曲线位置的形状,而第其中前三组信息可以完全决定四边边界曲线位置的形状,而第四组与四条边界曲线形状无

46、关,反映四组与四条边界曲线形状无关,反映R R0 0的内部曲面形状变化。的内部曲面形状变化。 这里角点信息这里角点信息矩阵矩阵C C元素可以元素可以分成四组,分成四组,其左上角一块代表四个角点位其左上角一块代表四个角点位置矢量,右上角和左下角表示置矢量,右上角和左下角表示边界曲线在角点边界曲线在角点v v方向和方向和u u方向方向切矢量,右下角是四个角点混切矢量,右下角是四个角点混合偏导数,表示角点扭矢,合偏导数,表示角点扭矢, 由此可看出,通过选择四条边界曲线就可求出由此可看出,通过选择四条边界曲线就可求出CoonsCoons曲面,贝塞尔曲面通过给出若干个控制点来构造曲面,曲面,贝塞尔曲面通

47、过给出若干个控制点来构造曲面,而而CoonsCoons曲面通过给定四条边界线来构造曲面。曲面通过给定四条边界线来构造曲面。五、五、NURBSNURBS(非均匀有理(非均匀有理B B样条)曲面样条)曲面 对对NURBSNURBS曲线进行扩展后可以得到曲线进行扩展后可以得到NURBSNURBS曲面,曲面,NURBSNURBS曲面可以用如下数学表达式来定义:曲面可以用如下数学表达式来定义: ,00, ; ,00,00( )( )( , )( , ),0,1( )( )mnijiji pj qmnijiji p j qmnijiji pj qijPNu NvP u vPRu vu vNu Nv其中,

48、; ,00( )( )( , )( )( )iji pj qi p j qmnrsr ps qrsNu NvRu vNu Nv0000,0mnmn0ij规定四角点处用正权因子,即规定四角点处用正权因子,即,而其余,而其余。 上述上述NURBSNURBS曲面的数学式决定了曲面的数学式决定了NURBSNURBS曲面是一类通用曲面是一类通用的灵活曲面,利用它用户可以生成具有各种各样形状的曲的灵活曲面,利用它用户可以生成具有各种各样形状的曲面,比如大家熟悉的旋转面、直纹面、推挤面等。面,比如大家熟悉的旋转面、直纹面、推挤面等。 NURBS NURBS曲面拥有一些良好的性质,如通过选择合曲面拥有一些良好

49、的性质,如通过选择合适的适的CVCV控制点和权值就能够得到精确的二次曲面以控制点和权值就能够得到精确的二次曲面以及对于投影变换具有不变性等,因此,高级三维软及对于投影变换具有不变性等,因此,高级三维软件当中一般都支持这种曲面建模方式,件当中一般都支持这种曲面建模方式,NURBSNURBS能够很能够很好地控制物体表面的曲线度,从而保证了创建出的好地控制物体表面的曲线度,从而保证了创建出的造型能够更加形象逼真,目前,造型能够更加形象逼真,目前,NURBSNURBS已经成为曲面已经成为曲面造型中最为广泛应用的技术。造型中最为广泛应用的技术。 在二维图形变换的讨论中已经提出了齐次坐标表示法在二维图形变

50、换的讨论中已经提出了齐次坐标表示法,即,即n n维空间的点用维空间的点用n nl l个数表示。因此,对于三维空间个数表示。因此,对于三维空间点需要用点需要用4 4个数来表示,而相应的变换矩阵个数来表示,而相应的变换矩阵4444阶矩阵。阶矩阵。 如果用如果用 表示变换前三维空间的一个点,表示变换前三维空间的一个点,用用 表示变换后结果,则空间点的变换式为表示变换后结果,则空间点的变换式为: 5 5. .3 3 三维图形变换三维图形变换 1zyx 1zyx 11zyxTzyx 式中式中T T为三维图形变换矩阵它是一个为三维图形变换矩阵它是一个4 4阶方阵,即:阶方阵,即: 换换。可可使使图图形形实

51、实现现全全比比例例变变子子矩矩阵阵。可可使使图图形形实实现现平平移移变变换换子子矩矩阵阵称称、错错切切和和旋旋转转变变换换。、对对可可使使三三维维图图形形实实现现比比例例子子矩矩阵阵如如下下:个个子子矩矩阵阵,其其各各自自作作用用矩矩阵阵分分成成我我们们将将 rqpnmlihgfedcbasnmlrihgqfedpcbaT1*33*13*344*4投影变换投影变换一、三维图形几何变换一、三维图形几何变换 下面介绍三维图形的变换,为了表示清楚三维空间点或立体下面介绍三维图形的变换,为了表示清楚三维空间点或立体位置,我们选择右手坐标系,即右手的食指和中指分别指向位置,我们选择右手坐标系,即右手的食

52、指和中指分别指向X X和和Y Y轴方向;而大姆指指向轴方向;而大姆指指向Z Z轴的正方向,三个轴互相垂直。轴的正方向,三个轴互相垂直。 三维几何变换和二维几何变换类似,通过改变变换矩阵中不三维几何变换和二维几何变换类似,通过改变变换矩阵中不同元素值实现不同变换。同元素值实现不同变换。 1 1三维比例变换三维比例变换关于原点的比例变换的变换矩阵为:关于原点的比例变换的变换矩阵为: 主对角线上元素主对角线上元素a,e,i,sa,e,i,s的作用是使空间立体产生局部或的作用是使空间立体产生局部或总体比例变换。总体比例变换。(l l)局部比例变换局部比例变换在在3 3* *3 3子矩阵中主对角线上元素

53、子矩阵中主对角线上元素a,e,ia,e,i控制比例变换,令控制比例变换,令其余元素为零,则空间立体点(其余元素为零,则空间立体点(x x,y y,z z)的比例变换为的比例变换为: sieaT000000000000 izzeyyaxxzyxizeyaxieazyx ,1110000000000001即即由此可知,空间点坐标分别按比例系数由此可知,空间点坐标分别按比例系数a,e,ia,e,i进行变换,进行变换,可使整个图形按比例放大或缩小。可使整个图形按比例放大或缩小。 当当a ae ei i1 1时,图形不变,是恒等变换;时,图形不变,是恒等变换;当当a ae ei i1 1时,图形放大时,

54、图形放大; ;当当a ae ej j1 1时,图形缩小时,图形缩小; ;当当a ae ei i时,立体各向缩放比例不同,这时立体要产生时,立体各向缩放比例不同,这时立体要产生类似变化。类似变化。 134210421302100213401040030010001000030000400002111110111101100111101010110010001000030000400002对对单单位位立立体体进进行行变变换换。例例:设设变变换换矩矩阵阵T3 3* *3 3子矩阵子矩阵主对角线上主对角线上元素控制比元素控制比例变换例变换如图所示,空间立体由正方体变成长方体。虚线表示变如图所示,空间立

55、体由正方体变成长方体。虚线表示变换前的立方体,实线表示变换后的长方体。换前的立方体,实线表示变换后的长方体。 (2 2)全比例变换)全比例变换全比例变换矩阵为:全比例变换矩阵为:由此可知:当由此可知:当s s1 1时,则立体各方向等比例缩小;时,则立体各方向等比例缩小; 当当0 0s s1 1对,则立体各方向等比例放大。对,则立体各方向等比例放大。 sT000010000100001 szzsyysxxzyxszsysxszyxszyx/11/0000100001000011 即即则则2 2三维平移交换三维平移交换平移变换是使立体在空间平移一段距离而形状和大小保持平移变换是使立体在空间平移一段

56、距离而形状和大小保持不变。变换矩阵为:不变。变换矩阵为:l,m,nl,m,n分别为沿分别为沿 X X,Y Y,Z Z轴方向的平移量,由它们的正负轴方向的平移量,由它们的正负来决定立体平移方向。来决定立体平移方向。 1010000100001nmlT nzzmyylxxzyxnzmylxnmlzyx 1110100001000011即即则则例例5.3 5.3 设变换矩阵中设变换矩阵中l l3,3,m m=3,=3,n n3 3,试对单位立体进行试对单位立体进行平移变换。平移变换。 1444134414341334144313431433133313330100001000011111101111

57、0110011110101011001000沿沿x,y,zx,y,z方向的平移量方向的平移量 3 3三维对称变换三维对称变换在三维空间最简单的对称变换是对称于坐标平面的变在三维空间最简单的对称变换是对称于坐标平面的变换。空间一点对换。空间一点对XOYXOY坐标面对称变换时,点的(坐标面对称变换时,点的(x x,y y)坐标不变,只改变坐标不变,只改变z z的正负号。因此,其变换矩阵的正负号。因此,其变换矩阵为:为:变换结果如图所示。变换结果如图所示。 1000010000100001XOYT图5.20 对XOY平面的对称变换同理,对同理,对XOZXOZ坐标的对称变换矩阵和对坐标的对称变换矩阵和

58、对YOZYOZ坐标面的对称坐标面的对称变换矩阵分别为:变换矩阵分别为: 1000010000100001XOZT 1000010000100001YOZT4 4三维错切变换三维错切变换三维立体的某个面沿指定轴向移动属于三维错切,三维三维立体的某个面沿指定轴向移动属于三维错切,三维错切是由子矩阵中非主对角线元素各项产生的,其变换错切是由子矩阵中非主对角线元素各项产生的,其变换矩阵为:矩阵为:变换结果为:变换结果为: 1000010101hgfdcbT zfycxzhzybxygzdyxxzynzfycxhzybxgzdyxTzyx 111即即T T中第一列元素中第一列元素d d和和g g产生沿产

59、生沿X X轴方向错切,第二列元素轴方向错切,第二列元素b b和和h h产生产生沿沿Y Y轴方向错切,第三列元素轴方向错切,第三列元素c c和和f f产生沿产生沿Z Z轴方向错切。轴方向错切。错切变换时,一个坐标方向的变化受另外两个坐标变化错切变换时,一个坐标方向的变化受另外两个坐标变化的影响,因此,按错切方向不同可实现的影响,因此,按错切方向不同可实现6 6种错切变换。种错切变换。1.1.要求沿要求沿X X方向错切方向错切 a. a.当变换矩阵为:当变换矩阵为: b.b.当变换矩阵为:当变换矩阵为: 1000010000100011dT错切平面沿错切平面沿X X轴方向轴方向移动且离开移动且离开

60、Y Y轴轴 1000010001000012hT错切平面沿错切平面沿X X轴方向轴方向移动且离开移动且离开Z Z轴轴 例例 将一单位立方体进行错切变换,使错切平面沿将一单位立方体进行错切变换,使错切平面沿X X方向方向移动并离开移动并离开Y Y轴。轴。 令变换矩阵令变换矩阵 100001000015 . 10001T 1015 .21115 .21115 .11015 .1100111011100100010111111111010101001110111001000T则则变换结果如图所示变换结果如图所示: : ZXY变换前变换前变换后变换后错切平面垂直于错切平面垂直于Y Y轴,轴,沿沿X X

温馨提示

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

评论

0/150

提交评论