《计算机图形学二维变换.ppt》由会员分享,可在线阅读,更多相关《计算机图形学二维变换.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机图形学二维计算机图形学二维变换变换现在学习的是第1页,共59页齐次坐标二维图形基本几何变换矩阵Cohen-Sutherland直线裁剪算法现在学习的是第2页,共59页5.1 5.1 图形几何变换基础图形几何变换基础5.2 5.2 二维图形基本几何变换矩阵二维图形基本几何变换矩阵 5.3 5.3 二维复合变换二维复合变换5.4 5.4 二维图形裁剪二维图形裁剪5.5 Cohen-Sutherland5.5 Cohen-Sutherland直线裁剪算法直线裁剪算法现在学习的是第3页,共59页5.15.1图形几何变换基础图形几何变换基础 通过对图形进行几何变换,可以由简单图形构造复杂图形。图形
2、几何变换是对图形进行平移变换、比例变换、旋转变换、反射变换和错切变换。图形几何变换可以分为二维图形几何变换和三维图形几何变换,而二维图形几何变换是三维图形几何变换的基础 。现在学习的是第4页,共59页5.1 5.1 图形几何变换基础图形几何变换基础n5.1.1 5.1.1 规范化齐次坐标规范化齐次坐标 n5.1.2 5.1.2 矩阵相乘矩阵相乘 n5.1.3 5.1.3 二维变换矩阵二维变换矩阵n5.1.4 5.1.4 二维几何变换二维几何变换现在学习的是第5页,共59页5.1.1 5.1.1 规范化齐次坐标规范化齐次坐标 为了使图形几何变换表达为图形顶点集合矩阵与某一变换矩阵相乘的问题,引入
3、了规范化齐次坐标。所谓齐次坐标就是用n1维矢量表示n维矢量。例如,在二维平面中,点P(x,y)的齐次坐标表示为(wx,wy,w)。类似地,在三维空间中,点P(x,y,z)的齐次坐标表示为(wx,wy,wz,w)。这里,w为任一不为0的比例系数,如果w1就是规范化的齐次坐标。二维点P(x,y)的规范化齐次坐标为x,y,1,三维点P(x,y,z)的规范化齐次坐标为x,y,z,1。不能写成下标形式,w和x,w和y,w和z是乘法的关系。定义了规范化齐次坐标以后,图形几何变换可以表示为图形顶点集合的规范化齐次坐标矩阵与某一变换矩阵相乘的形式。现在学习的是第6页,共59页 二维图形顶点表示为规范化齐次坐标
4、后,其图形顶点集合矩阵一般为n3的矩阵,其中n为顶点数,变换矩阵为33的矩阵。在进行图形几何变换时需要用到线性代数里的矩阵相乘运算。例如,对于n3的矩阵A和33的矩阵B,矩阵相乘公式为:5.1.2 5.1.2 矩阵相乘矩阵相乘 (5-15-1)现在学习的是第7页,共59页由线性代数知道,矩阵乘法不满足交换律,只有左矩阵的列数等于右矩阵的行数时,两个矩阵才可以相乘。特别地,对于二维变换的两个33的方阵A和B,矩阵相乘公式为:类似地,可以处理三维变换的两个44的矩阵相乘问题 现在学习的是第8页,共59页5.1.3 5.1.3 二维变换矩阵二维变换矩阵 用规范化齐次坐标表示的二维基本几何变换矩阵是一
5、个33的方阵,简称为二维变换矩阵。从功能上可以把二维变换矩阵从功能上可以把二维变换矩阵T T分为分为4 4个子矩阵。个子矩阵。其中其中是对图形进行比例、旋转、反射和错切变换;是对图形进行平移变换;是对图形进行投影变换;是对图形进行整体比例变换。(5-2)现在学习的是第9页,共59页 二维几何变换的基本方法是把变换矩阵作为一个算子,作用到变换前的图形顶点集合的规范化齐次坐标矩阵上,得到变换后新的图形顶点集合的规范化齐次坐标矩阵。连接变换后的新图形顶点,就可以绘制出变换后的二维图形 5.1.4 5.1.4 二维几何变换二维几何变换 设变换前图形顶点集合的规范化齐次坐标矩阵为:设变换前图形顶点集合的
6、规范化齐次坐标矩阵为:变换后图形顶点集合的规范化齐次坐标矩阵为:变换后图形顶点集合的规范化齐次坐标矩阵为:现在学习的是第10页,共59页二维变换矩阵为:则二维几何变换公式为,可以写成:现在学习的是第11页,共59页5.2 5.2 二维图形基本几何变换矩阵二维图形基本几何变换矩阵 n n5.2.1 5.2.1 平移变换矩阵平移变换矩阵 n n5.2.2 5.2.2 比例变换矩阵比例变换矩阵 n n5.2.3 5.2.3 旋转变换矩阵旋转变换矩阵 n n5.2.4 5.2.4 反射变换矩阵反射变换矩阵 n n5.2.5 5.2.5 错切变换矩阵错切变换矩阵 现在学习的是第12页,共59页5.2 5
7、.2 二维图形基本几何变换矩阵二维图形基本几何变换矩阵 二维图形基本几何变换是指相对于坐标原点和坐标轴进行的几何变换,包括平移、比例、旋转、反射和错切五种变换。本节以点的二维基本几何变换为例进行讲解。二维坐标点的基本几何变换可以表示成P=PT的形式,其中,P为变换前点的规范化齐次坐标点,P为变换后点的规范化齐次坐标点,T为33的变换矩阵。现在学习的是第13页,共59页5.2.1 5.2.1 平移变换矩阵平移变换矩阵 平移变换是指将坐标点P(x,y)从位置移动到P(x,y)位置的过程,如图5-1所示。平移变换的坐标表示为:图5.1 平移变换654321O123456yxPPTxTy现在学习的是第
8、14页,共59页因此,二维平移变换矩阵为:式中,Tx,Ty为平移参数。(5-4)相应的齐次坐标矩阵表示为:相应的齐次坐标矩阵表示为:现在学习的是第15页,共59页5.2.2 5.2.2 比例变换矩阵比例变换矩阵 比例变换是指坐标点P(x,y)相对于坐标原点O,沿x方向缩放Sx倍,沿y方向缩放Sy倍,得到点P(x,y)的过程,如图5-2所示。图5.2比例变换PPsysx现在学习的是第16页,共59页比例变换的坐标表示为:相应的齐次坐标矩阵表示为:因此,二维比例变换矩阵为:因此,二维比例变换矩阵为:式中,式中,S Sx x,S Sy y为比例系数为比例系数 (5-55-5)现在学习的是第17页,共
9、59页 比例变换可以改变图形的形状。当SxSy且Sx、Sy大于1时,图形等比放大;当SxSy且Sx、Sy小于1大于0时,图形等比缩小;当SxSy时,图形发生形变。前面介绍过变换矩阵的子矩阵 是对图形作整体比例变换,关于这一点可以令SxSyS导出,请注意这里s1/S,即s1时,图形整体缩小;0s0c0是沿是沿x x正向正向的错切变换,的错切变换,c0c0b0是沿是沿y y正向正向的错切变换,的错切变换,b0b0是沿是沿y y负向的错切变换,如图负向的错切变换,如图5-55-5(d d)和()和(e e)所示。)所示。在前面的变换中,子矩阵 现在学习的是第28页,共59页 上面讨论的五种变换给出的
10、都是点变换的公式,对于线框模型,图形的变换实际上都可以通过点变换来完成。例如直线段的变换可以通过对两个顶点坐标进行变换,连接新顶点得到变换后的新直线;多边形的变换可以通过对每个顶点进行变换,连接新顶点得到变换后的新多边形来实现。曲线的变换可通过变换控制多边形的控制点并重新画线来完成。符合下面形式的坐标变换称为二维仿射变换(Affine Transformation)。(5-115-11)现在学习的是第29页,共59页变换后的坐标x和y都是变换前的坐标x和y的线性函数。参数aij是由变换类型确定的常数。仿射变换具有平行线变换成平行线,有限点映射到有限点的一般特性。平移、比例、旋转、反射和错切五种
11、变换都是二维仿射变换的特例,任何一组二维仿射变换总可表示为这五种变换的组合。因此,平移、比例、旋转、反射的仿射变换保持变换前后两直线间的角度、平行关系和长度之比不改变。现在学习的是第30页,共59页n复习:设变换前图形顶点集合的规范化齐次坐标矩阵为:设变换前图形顶点集合的规范化齐次坐标矩阵为:变换后图形顶点集合的规范化齐次坐标矩阵为:变换后图形顶点集合的规范化齐次坐标矩阵为:现在学习的是第31页,共59页二维变换矩阵为:则二维几何变换公式为,可以写成:现在学习的是第32页,共59页二维平移变换矩阵为:二维比例变换矩阵为:二维比例变换矩阵为:二维旋转变换矩阵为:顺时针旋转变换矩阵为:现在学习的是
12、第33页,共59页关于原点的二维反射变换矩阵为:关于x轴的二维反射变换矩阵为:关于y轴的二维反射变换矩阵为:现在学习的是第34页,共59页5.3 二维复合变换5.3.15.3.1复合变换原理复合变换原理5.3.2 5.3.2 相对于任一参考点的二维几何变换相对于任一参考点的二维几何变换5.3.3 5.3.3 相对于任意方向的二维几何变换相对于任意方向的二维几何变换现在学习的是第35页,共59页5.3.1复合变换原理 复合变换是指图形做了一次以上的基本几何变换,是基本几何变换的组合形式,复合变换矩阵是基本几何变换矩阵的组合。其中,T为复合变换矩阵,T1,T2Tn为单次基本几何变换矩阵。值得注意是
13、:进行复合变换时,需要注意矩阵相乘的顺序。由于矩阵乘法不满足交换律,因此通常T1T2T2T1,在复合变换中,矩阵相乘的顺序不可交换。通常先计算出 ,再计算现在学习的是第36页,共59页5.3.2 5.3.2 相对于任一参考点的二维几何变换相对于任一参考点的二维几何变换 前面已经定义,二维基本几何变换都是相对于坐标原点进行的平移、比例、旋转、反射和错切五种变换,但在实际应用中常会遇到参考点不在坐标原点的情况。相对于任一参考点的变换方法为首先将参考点平移到坐标原点,对坐标原点进行二维基本几何变换,然后再将参考点平移回原位置。例1 一个由顶点P1(10,10),P2(30,10)和P3(20,25)
14、所定义的三角形,如图5-6所示,相对于点Q(10,25)逆时针旋转30,求变换后的三角形顶点坐标。现在学习的是第37页,共59页P1P2P3Q 图 5-6 示例图现在学习的是第38页,共59页第一步 Q点平移至坐标原点,如图5-7所示。QP3P1P2图5-7 平移 变换矩阵为:现在学习的是第39页,共59页第二步 三角形相对于坐标原点逆时针旋转30,如图5-8所示。P1P2P3Q 图 5-8 旋转 变换矩阵为:现在学习的是第40页,共59页P1P2P3Q第三步 参考点Q平移回原位置,如图5-9所示。变换矩阵为:图 5-9 反平移 现在学习的是第41页,共59页图形变换后的顶点的规范化齐次坐标矩
15、阵等于变换前的规范化齐次坐标矩阵乘以变换矩阵。而所以 P1(17.5,12.01),P2(34.82,22.01)P3(18.66,30)。现在学习的是第42页,共59页5.3.3 5.3.3 相对于任意方向的二维几何变换相对于任意方向的二维几何变换 二维基本几何变换是相对于坐标轴进行的平移、比例、旋转、反射和错切五种变换,但在实际应用中常会遇到变换方向不与坐标轴重合的情况。相对于任意方向的变换方法为首先对任意方向做旋转变换,使变换方向与坐标轴重合,然后对坐标轴进行二维基本几何变换,最后做反向旋转变换,将任意方向还原回原来的位置。现在学习的是第43页,共59页例2 图5-10所示三角形相对于轴
16、线y=kx+b作反射变换,求每一步相应的变换矩阵。y=kx+b(0,b)图5-10原始图形 现在学习的是第44页,共59页第一步 将点(0,b)平移至坐标原点,如图5-11所示。图5-11平移 变换矩阵为:现在学习的是第45页,共59页第二步 将轴线y=kx绕坐标原点顺时针旋转角(=arctank),落于x轴上,如图5-12所示。变换矩阵为:图5-12旋转 现在学习的是第46页,共59页第三步 三角形相对x轴作反射变换,如图5-13所示。变换矩阵为:图5-13反射 现在学习的是第47页,共59页第四步 将轴线y=kx逆时针旋转角(=arctank),如图5-14所示。变换矩阵为:图5-14反旋
17、转 现在学习的是第48页,共59页图5-15 反平移 第五步 将轴线平移回原来的位置,如图5-15所示。变换矩阵为:现在学习的是第49页,共59页5.4 5.4 二维图形裁剪二维图形裁剪n n5.4.1 5.4.1 图形学中常用的坐标系图形学中常用的坐标系n n5.4.2 5.4.2 窗口和视区及窗视变换窗口和视区及窗视变换n n5.4.3 5.4.3 窗视变换矩阵窗视变换矩阵现在学习的是第50页,共59页5.4.1 5.4.1 图形学中常用的坐标系图形学中常用的坐标系 计算机图形学中常用的坐标系有用户坐标系、观察坐标系、设备坐标系和规格化设备坐标系等。1.1.用户坐标系(用户坐标系(User
18、 Coordinate User Coordinate,UC)UC)用户定义原始图形所采用的坐标系称为用户坐标系。用户定义原始图形所采用的坐标系称为用户坐标系。用户坐标系通常根据应用的需要可以选择直角坐标系、用户坐标系通常根据应用的需要可以选择直角坐标系、圆柱坐标系、球坐标系以及极坐标系等等。图圆柱坐标系、球坐标系以及极坐标系等等。图5-165-16所所示为常用的二维和三维用户直角坐标系。示为常用的二维和三维用户直角坐标系。现在学习的是第51页,共59页5-16 二维和三维用户坐标系 2.观察坐标系(View Coordinate,VC)依据观察窗口的方向和形状在用户坐标系中定义的依据观察窗口
19、的方向和形状在用户坐标系中定义的坐标系称为观察坐标系,观察坐标系用于指定图形的哪坐标系称为观察坐标系,观察坐标系用于指定图形的哪一部分可以输出范围。一部分可以输出范围。现在学习的是第52页,共59页5-17 观察坐标系3.3.设备坐标系设备坐标系(Device Coordinate(Device Coordinate,DC)DC)显示器等图形输出设备自身都有一个坐标系称为设备坐标系,也称为屏幕坐标系。设备坐标系是二维坐标系,原点位于屏幕左上角,x轴垂直向右,y轴垂直向下,基本单位为像素。5-18 设备坐标系 5-19 规格化设备坐标系 现在学习的是第53页,共59页4.4.规格化设备坐标系规格
20、化设备坐标系(Normalized Device Coordinate(Normalized Device Coordinate,NDC)NDC)规格化设备坐标系是将设备坐标系规格化到0.0,0.0到1.0,1.0的范围内而定义的坐标系。规格化设备坐标系独立于具体输出设备。一旦图形变换到规格化设备坐标系中,只要作一个简单的乘法运算即可映射到具体的设备坐标系中。由于规格化设备坐标系能统一用户各种图形的显示范围,故把用户图形变换成规格化设备坐标系中的统一大小标准图形的过程叫作图形的逻辑输出。把规格化设备坐标系中的标准图形送到显示设备上输出的过程叫作图形的物理输出。有了规格化设备坐标系后,图形的输出
21、可以在抽象的显示设备上进行讨论,因而这种图形学又称为与具体设备无关的图形学。现在学习的是第54页,共59页5.4.2 5.4.2 窗口和视区及窗视变换窗口和视区及窗视变换 在观察坐标系中定义的确定显示内容的区域称为窗口。显然此时窗口内的图形是用户希望在屏幕上输出的,窗口是裁剪图形的标准参照物。在设备坐标系中定义的输出图形的区域称为视区。视区和窗口的大小可以不相同。一般情况下,用户把窗口内感兴趣的图形输出到屏幕上相应的视区内。在屏幕上可以定义多个视区,用来同时显示不同的窗口内的图形信息,图5-20定义了3个窗口内容用于输出,图5-21的屏幕被划分为3个视区,对3个窗口内容进行了重组。现在学习的是
22、第55页,共59页5-20 3个窗口 5-21 3个视区 图形输出需要进行从窗口到视区的变换,只有窗口内的图形才能在视区中输出,并且输出的形状要根据视区的大小进行调整,这称为窗视变换(Window Viewport Transformation,WVT)。在二维图形观察中,可以这样理解,窗口相当于一个一扇窗户,窗口内的图形是希望看到的,就在视区中输出,窗口外的图形不希望看到,不在视区中输出,因此需要对窗口中输出的二维图形进行裁剪。现在学习的是第56页,共59页 在计算机图形学术语中,窗口最初是指要观察的图形区域。但是随着Windows的出现,窗口概念已广泛用于图形系统中,泛指任何可以移动,改变大小、激活或变为无效的屏幕上的矩形区域。在本章中,窗口回归到其原始定义,是在观察坐标系中确定输出图形范围的矩形区域。现在学习的是第57页,共59页5.4.3 5.4.3 窗视变换矩阵窗视变换矩阵 窗口和视区的边界定义如图5-22所示,假定把窗口内的一点P(xw,yw)变换为视区中的一点P(xv,yv)。这属于相对于任一参考点的二维几何变换,变换步骤为:5-22 窗口和视区的定义 窗口视区现在学习的是第58页,共59页1.将窗口左下角点(wxl,wyb)平移到观察坐标系原点2.对原点进行比例变换,使窗口的大小和视区大小相等,将窗口变换为视区其中现在学习的是第59页,共59页