资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 目录,第五章 三,维图形生成和变换技术,5.1 三维图形的概念 5.2 自由曲面的生成 5.3 三维图形的变换 5.4 三维图形剪裁和消隐,1,第五章 三维图形生成和变换技术,第五章 三维图形生成和变换技术,5.1 三维图形的概念,5.2 自由曲面的生成,5.3 三维图形变换,5.4 三维图形剪裁和消隐技术,5.1,三维图形的概念,在第二章我们已讨论过坐标系统的世界坐标系、规范坐标系和设备坐标系三种坐标系。坐标系统确定之后,需要使用不同的绘图元素来描述图形,它们是点、直线、曲线和其他基本的图形元素。,2,在计算机图形学研究中,三维图形概念有几种:,1、是采用线框图构成的三维图形,这是最基本、最简单的,它实际上是在二维屏幕上展示的具有三维视觉效果的图形;,2、三维实体图形,它是采用各种颜色图案、纹理等填充过的图形,在视觉上也具有三维效果;,3、三维立体图形,它借助于光照、浓淡和明暗技术,产生了真正的三维立体效果。这些三维图形都是我们在计算机图形学中要研究和予以实现的内容。,3,三维图形的应用可以根据所处理的图形是一个真实的物体,还是一个设计的新物体类型来分类。我们可以通过对一个三维空间物体进行近似的描述,采用该描述数据构造相应的三维图形。例如,将立方体图形描述成线框结构或者平面集合,或者说明成曲线、曲面表示等,也可以通过构造和变换产生新的图形和物体,以组成新的三维空间形状,这在计算机和辅助设计中应用很广。例如,汽车和飞机的主体就是通过表面图形的各种拼接及安排。直至达到某些设计指标。无论何种应用,三维立体图形的描述都是在一个世界坐标系统中予以说明,然后再映射到显示器或其它输出设备的二维坐标系统上。,4,第五章 三维图形生成和变换技术,5.1 三维图形的概念,5.2 自由曲面的生成,5.3 三维图形变换,5.4 三维图形剪裁和消隐技术,5.2 自由曲面的生成,一、概述,在计算机出现之前以及在计算几何没有很好地发展之前,一些工程实际中应用的复杂自由曲面,如飞机、船舶、汽车等几何外形的描述以及地形形状的表示,,传统的处理办法是用一组或几组平行平面去裁这个曲面,画出几组截交线来表示这个曲面。,例如船体就是用互相正交的三组平面截得的纵剖线,横剖线和水平线表示;地面则是用一组水平面截得等高线表示的。这实际上是把曲面问题转化成了曲线问题。这种处理办法可称为曲线网格表示法。,一组等高线表示地面,5,正是利用这些曲线网格来近似地表示自由曲面,因此,在产生一张曲面时,我们可以利用一系列的纵横交错且相互平行的样条曲线来构造曲面,如图所示。,我们如何确定这张曲面上任意一点位置呢?很明显,如果这点恰好落在某一条网格线上,如图,A,点,那么就可以根据这条网格线函数表示来计算这一点位置(坐标);若这一点不在任何网格线上,如图5.1中的,B,点,那么就无法计算出该点精确位置,只能用离该点最近一条网格线上的点近似地表示。,图5.1 曲面的网格表示,6,这使得本来精度不很高近似曲面在这一点精度更加降低,所以用这种方法来产生曲面只适合于一部分精度要求不太高场合,我们可以把平面里自由曲线生成方法加以推广,借助于曲面的解析表达式来处理有关曲面问题。,曲面的种类繁多,为便于讨论,将曲面分为两类,(1)规则曲面:如柱、锥、椭球、环、双曲面、抛物面等,它可以用参数方程解析地描述。,(2)不规则曲面、如,Coons,曲面、,Bezier,曲面、,B,样条曲面等,这是构造某种曲面方程问题,也是下面要讨论重点。,7,二、空间曲面的参数表示,在三维空间内一张任意曲面一段用两个参数曲面矢量 方程或参数方程表示,可以写成,,式中,u、v,为参数,8,曲面的图形如图所示,曲面有两族参数曲线,或称坐标曲线,通常简称,u,线和,v,线。当,u,=,u,i,时,代人式(51)得,上式中是曲面上一条参数曲线,r(,u,i,v),,,即一条,v,线。当,v=,v,j,时,代人式(51)得,上式则是另一条参数曲线,r,(,u,v,j,),,或称,u,线。上述两条参数曲线,r,(,u,i,v,),和,r,(,u,v,j,),的交点则是,r,(,u,i,v,j,),。,事实上,用,u,=,u,i,v,=,v,j,代人式(5,l),也得到曲面上同一点位置矢量,r,(,u,i,v,j,),9,v,u,r(,u,i,v),r(u,v,j,),r(,u,i,v,j,),10,例如,如图的平面片方程为:,式中矢量,r,0,为平面上一点的位置矢量,,a,和,b,为常矢量,且,a,不平行于,b,,该平面片是由矢量,a,和,b,张成的四边形。,r(u,v),11,图5.4 柱面,又例如,如图5.4所示,以固定方向长度为,a,的直线段作为母线沿给定一条空间曲线,r,1,(u),移动生成一个柱面,其方程为,式中,a,是沿母线方向的常矢量。,a,r,1,(u),12,二、,Bezier(,贝塞尔)曲面,如前所述,,Bezier,曲线是一条与控制多边形顶点位置有严格的相关联关系的曲线,,Bezier,曲线形状趋向于特征多边形形状,阶次由控制多边形顶点个数来决定。,Bezier,曲面是由,Bezier,曲线拓广而来,它也是以,Bernstein,函数作为基函数,可以构造由空间点阵列的位置来控制曲面。,P,0,P,1,P,2,P,3,由四个数据点控制的三次贝塞尔曲线,13,1、贝塞尔曲面的数学表达式,在三维空间里,给定(,n,l)(,m,+1),个点的空间点到,P,ij,(i=0,ln;j=0,1,m,),,称,n,m,次参数曲面:,为,n,m,次,Bezier,曲面。,P,ij,是的控制顶点,和为,Bernstein,基函数,具体表示为:,14,如果用一系列直线段将相邻的点,P,i0,,,P,i1,P,im,(i=0,1n),和,P,0j,,,P,1j,P,nj,(j=0,l,,m,),一连接起来组成一张空间网格,称这张网络为,mn,次曲面特征网格,如图所示。,类似于,Bezier,曲线情况,特征网格框定了,P(,u,v,),的大致形状;,P(,u,v,),是对特征网格的逼近。,p,00,p,10,p,20,p,30,p,31,p,21,p,11,p,01,p,32,p,22,p,12,p,02,p,33,p,23,p,13,p,03,3*3次的特征曲面网格,15,2、贝塞尔曲面的性质,Bezier,曲面有类似于,Bezier,曲线的性质。,(,l),端点位置,由于,P,00,=,P,(0,0),P,0m,=,P,(0,1),P,n0,=,P,(1,0),P,nm,=,P,(1,1),说明,P,00,、,P,0m,、,P,n0,、,P,nm,是曲面,P,(,u,v,),的四个端点,见图,p,00,p,30,p,03,p,33,16,(2)边界线位置,Bezier,曲面的四条边界线,P,(0,v)、,P,(u,0)、,P,(1,v)、,P,(u,1),分别是以,P,00,P,01,P,02,P,0m,、,P,00,P,10,P,20,P,n0,、,P,n0,P,n1,P,n2,P,n,m,和,P,0m,P,1m,P,2m,P,nm,为控制多边形的,Bezier,曲线,见图。,17,(3)端点的切平面,由计算易知,三角,P,00,P,10,P,01,、,P,0n,P,1m,P,0,m-1,、,P,nm,P,n,-1,m,P,n,m-1,和,P,n0,P,n-1,0,P,n1,(,图5.6中打上斜线三角形)所在的平面分别在点,P,00,、,P,0m,和,P,n0,与曲面,P,(,u,v,),相切。,p,00,p,30,p,03,p,33,18,(4)凸包性,曲面,P,(,u,v,),位于其控制顶点,P,ij,(i=0,l,2,n,;j=0,1,2,m,),的凸包内。,(5)几何不变性,曲面,P,(,u,v,),的形状和位置与坐标系选择无关,仅和点,P,00,、,P,01,、,P,nm,位置有关。,19,3.几个低次的贝塞尔曲线,(1)双一次,Bezier,曲面,当,n,=,m,=1,时,得双一次,Bezier,曲面,给定,(,n,1)(,m,+1) =22=4,个控制点:,P,00,、,P,01,、,P,10,、,P,11,。,20,其图形表示如图所示,可以证明它是一个双曲抛物面(马鞍面)上的一块曲面片。,21,在上式中,当,u,=0,和,u,=1,时,得到的两条边界为直线段;,同样,当,v,=0,和,v,=1,时,得到两条也是直线段。,所以双一次,Bezier,曲面由四条直线段包围而成。,22,(2)双二次,Bezier,曲面,当,n,=,m,=2,时,得双二次,Bezier,曲面,给定,(,n,1)(,m,+1) =33=9,个控制点:,P,00,、,P,01,、,P,02,、,P,10,、,P,11,、,P,12,、,P,20,、,P,21,、,P,22,。,23,当,u,取定值时,是关于,v,的二次参数曲线,是抛物线;,当,v,取定值时,是关于,u,的二次参数曲线。,当,u,=0,和,u,=1,时,两条边界是抛物线段;,24,同理,当,v,=0,和,v,=1,时,另外两条边界是抛物线段。,所以双二次,Bezier,曲面由四条抛物线段包围而成。显然,中间的一个顶点的变化对边界曲线不产生影响,这意味着在周边八点不变的情况下,适当选择中心顶点的位置可以控制曲面凹凸,这种控制方式是极其直观的,而且极其简易。,25,(3)双三次贝塞尔曲线,4、贝塞尔曲线的拼接,26,三、,B,样条曲面(略),27,四、,Coons(,孔斯)曲面,Coons,曲面是1964年由孔斯(,coons),提出的构造曲面的方法,这种方法的基本思想是将任意复杂的曲面分割成若干小块,而每小块用参数方程来描述,即用四条边界曲线来定义,再通过适当地选择块与块之间的连接条件,使边界上一阶导数和二阶导数连续,最后获得整个曲面。,28,1、混合函数,(1),定义,Coons,在他所研究的孔斯曲面中,定义了四个一元三次函数,F,o,(u),,F,1,(u),,G,0,(u),G,1,(u),,它们的功能是用四条给定的边界曲线生成一张曲面。,定义在区间0,,l,上四个三次函数,29,(2)混合函数性质,我们构造这样一段曲线,P(u),,来理解这四个混合函数的功能。若要求,u=0,时,P,(0)=A,0,且,u,0,处切向量,P(0)=B,0,u=1,时,,P(1)A,1,,,且,ul,处的切向量,P(1)=B,1,。,显然,根据上述四个一元三次函数,F,0,(u),F,1,(u),G,0,(u),G,1,(u),的端点性质,我们很容易得到,30,由此我们可以看出四个函数,F,0,(u),F,1,(u),G,0,(u),G,1,(u),在,P(u),的表示中所起作用:,F,0,(u),F,1,(u),和用于控制两个端点(,x0),和(,x=1),的函数值,,G,0,(u),G,1,(u),而和却用来控制两个端点(,x, 0),和(,x, l),的切向量。,正是由于,F,0,(u),F,1,(u),G,0,(u),G,1,(u),和的上述作用,使得它们被用来定义双三次,Coons,曲面。,31,2、双三次,Coons,曲面,Coons,曲面有几种类型,双三次曲面是其中最有实用价值的一种。在几何造型计算中使用的,coons,曲面,都是这种双三次曲面。双三次,coons,曲面是定义在一个单位区域,R,0,上,并用向量方式表示的双参数向量方程。,设两个参数分别用,u,和,v,表示,则空间曲面上任意一点用向量,P,可表示为,其分量形式为:,其中参数,u,,,v,的定义域为单位区域,R,0,上的值,即,32,(1)Coons,简洁符号,为了研究方便,运算简洁,,Coons,提出了一套表示参数曲面的简洁符号。在,Coons,记号中,参数,u,和,v,之间的逗号以及矢量的各分量之间的逗号都省略掉。当仅在讨论一张曲面时,向量函数,P(u,v),前面字母,P,连同其后圆括号也一起省略掉。符号,u,0,u,l,0,v,1,v,分别表示曲面的四条边界曲线,曲面的四个角点则简记为00,01,10,11,如图所示。,00,11,10,01,u,0,u,1,1,v,0,v,33,曲面的偏导向量的记号是:,其中。分别0,v,u,1v,u,u0,v,u1,v,为边界0,v,1,v,u,0,和,u,1,上的斜率。,00,u,01,u,10,u,和11,u,,,是在四个角点,u,向切矢;,00,v,01,v,10,v,和11,v,。,是在四个角点,v,向切矢;,00,uv,01,uv,10,uv,和11,uv,是四个角点混合偏导,又称扭矢。,34,(2),Coons,曲面定义,由式(52),我们得到四个混合函数的矩阵,表示形式如下:,35,36,根据点动生线、线动生面的几何原理,把,U,和,V,取作两个独立参数,即得一张,Coons,双三次曲面片,其数学表达式如下:,式中,C,称为角点信息矩阵。,其中前三组信息可以完全决定四边边界曲线位置的形状,而第,四组与四条边界曲线形状无关,反映,R,0,的内部曲面形状变化。,这里角点信息矩阵,C,元素可以分成四组,,其左上角一块代表四个角点位置矢量,右上角和左下角表示边界曲线在角点,v,方向和,u,方向切矢量,右下角是四个角点混合偏导数,表示角点扭矢,,37,由此可看出,通过选择四条边界曲线就可求出,Coons,曲面,贝塞尔曲面通过给出若干个控制点来构造曲面,而,Coons,曲面通过给定四条边界线来构造曲面。,38,第五章 三维图形生成和变换技术,5.1 三维图形的概念,5.2 自由曲面的生成,5.3 三维图形变换,5.4 三维图形剪裁和消隐技术,5、3 三维图形变换,在二维图形变换的讨论中已经提出了齐次坐标表示法,即,n,维空间的点用,nl,个数表示。因此,对于三维空间点需要用4个数来表示,而相应的变换矩阵44阶矩阵。,如果用 表示变换前三维空间的一个点,,用 表示变换后结果,则空间点的变换式为:,39,式中,T,为三维图形变换矩阵它是一个阶方阵,即:,40,一、三维图形几何变换,下面介绍三维图形的变换,为了表示清楚三维空间点或立体位置,我们选择右手坐标系,即右手的食指和中指分别指向,X,和,Y,轴方向;而大姆指指向,Z,轴的正方向,三个轴互相垂直。,三维几何变换和二维几何变换类似,通过改变变换矩阵中不同元素值实现不同变换。,41,1三维比例变换,关于原点的比例变换的变换矩阵为:,主对角线上元素,a,e,i,s,的作用是使空间立体产生局部或总体比例变换。,(,l),局部比例变换,在3*3子矩阵中主对角线上元素,a,e,i,控制比例变换,令其余元素为零,则空间立体点(,x,,,y,,,z,),的比例变换为:,42,由此可知,空间点坐标分别按比例系数,a,e,i,进行变换,可使整个图形按比例放大或缩小。,当,a,e,i,1,时,图形不变,是恒等变换;,当,a,e,i,1,时,图形放大;,当,a,e,j,1,时,图形缩小;,当,a,e,i,时,立体各向缩放比例不同,这时立体要产生类似变化。,43,44,(2)全比例变换,全比例变换矩阵为:,由此可知:,当,s,1,时,则立体各方向等比例缩小;,当0,s,1,对,则立体各方向等比例放大。,45,2三维平移交换,平移变换是使立体在空间平移一段距离而形状和大小保持不变。变换矩阵为:,l,m,n,分别为沿,X,Y,Z,轴方向的平移量,由它们的正负来决定立体平移方向。,46,例5.3 设变换矩阵中,l,3,m,=3,n,3,,试对单位立体进行平移变换。,47,3三维对称变换,在三维空间最简单的对称变换是对称于坐标平面的变换。空间一点对,XOY,坐标面对称变换时,点的(,x,,,y,),坐标不变,只改变,z,的正负号。因此,其变换矩阵为:,变换结果如图所示。,图5.20 对,XOY,平面的对称变换,48,同理,对,XOZ,坐标的对称变换矩阵和对,YOZ,坐标面的对称变换矩阵分别为:,49,4三维错切变换,三维立体的某个面沿指定轴向移动属于三维错切,三维错切是由子矩阵中非主对角线元素各项产生的,其变换矩阵为:,变换结果为:,50,T,中第一列元素,d,和,g,产生沿,X,轴方向错切,第二列元素,b,和,h,产生沿,Y,轴方向错切,第三列元素,c,和,f,产生沿,Z,轴方向错切。错切变换时,一个坐标方向的变化受另外两个坐标变化的影响,因此,按错切方向不同可实现6种错切变换。,具体见书,P184,如5.,l,。,51,5三维旋转变换,三维旋转变换是指空间立体绕坐标轴旋转,角,正负按右手定则确定,即右手姆指指向转轴正向,其余4个手指指向便是,角正角。,旋转变换前后立体的大小和形状不发生变化,只是空间位置相对原位置发生了变化。当空间立体绕某一坐标轴旋转时,立体上各点在此轴坐标值不变,而在该坐标轴所垂直的另两坐标轴所组成的坐标面上的坐标值相当于一个二维的旋转变换。,具体见书,P185,52,6 三维组合变换,上面我们讨论的三维图形变换中的变换矩阵是针对原点或者坐标轴的,如果要针对任意一个参考点,或者针对空间中任意一条直线(轴)、任意一个平面来进行变换,则前述的变换矩阵就不能直接使用。对于上述情况就需要进行三维图形的组合变换。,具体见书,P186,53,二、 三维图形平行投影交换,通常图形输出设备(显示器、绘图仪等)都是二维的,用这些二维设备来输出三维图形,就得把三维坐标系下图形上各点的坐标转化为某一平面坐标系下的二维坐标,也就是将(,x,y,z),变换为(,x,y),或(,x,z),或(,y,z)。,这种把三维物体用二维图形表示的过程称为三维投影变换。这种变换方式有很多种,在实际中,根据不同目的或需要而采用不同的变换方式。,54,三维投影变换大致分类如图所示。,55,平行投影是将物体上所有点都沿着一组平行线投影到投影平面,而透视投影是所有点沿着一组汇聚到一个称为投影中心的位置的线进行投影,两种方法如图所示。,56,1正平行投影变换,投影方向垂直于投影平面时称正平行投影。,(,l),正投影变换,在工程上将三维坐标系,OXYZ,中的三个坐标平面分别为,H,面(,XOY,平面)、,V,面(,XOZ,平面)和,W,面(,YOZ,平面)。如图所示。,57,所谓正投影就是三维图形上各点分别向某一坐标平面作垂线,其垂足便称为该三维点投影点,将所有投影点按原三维图形中点与点之间的对应关系一连起来便得到了一平面图形,这一平面图形称为三维图形在该平面上正投影。,如图所示。在,V,面上的投影图形称主视图,在,H,面上的投影图形称俯视图,在,W,面上的投影图形称侧视图。,58,正面(,V,面)投影主视图变换,正面投影是物体在,XOZ,平面上的投影,使物体的,y,坐标都等于零,,x,和,z,坐标不变,其变换矩阵是:,59, 水平面(,H,面)投影俯视图变换,水平面投影是物体在,XOY,平面上投影,使物体的,z,坐标都等于零,,x,和,y,坐标不变,其变换矩阵是:,60, 侧面(,W,面)投影侧视图变换,侧面投影是物体在,YOZ,平面上投影,使物体的,x,坐标都等于零,,y,和,z,坐标不变,其变换矩阵是,61,三视图,上面投影后的三面投影图仍位于空间,根据工程中规定还须将,V,面,,H,面,和,W,面上得到的三个正投影以一定方式展平在同一平面上而得到三个视图,习惯上是放在,V,面上。,为了在,V,面上构成三视图,使,V,面上投影保持不变,而使,H,面上正投影绕,X,轴逆转90到,V,面,为了防止与原,V,面上投影发生拥挤现象,再让它向轴方向平移一段距离,n,。,同样,使,w,面上正投影绕,Z,轴正转90,再向方向移一段距离,l,。,具体变换矩阵见书,P192,62,谢谢大家!,63,
展开阅读全文