计算机图形处理技术.ppt
《计算机图形处理技术.ppt》由会员分享,可在线阅读,更多相关《计算机图形处理技术.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章计算机图形处理技术计算机图形处理技术 坐标系与坐标变换坐标系与坐标变换 图形裁剪技术图形裁剪技术 图形几何变换图形几何变换 投影变换投影变换本本 章章 要要 点点3 计算机图形处理技术计算机图形处理技术坐标系坐标系分类分类3.1 坐标系与坐标变换坐标系与坐标变换模型坐标系(造型坐标系模型坐标系(造型坐标系MCSMCS):):(Modeling Coordinate SystemModeling Coordinate System)右手坐标系,是用来描述世界坐标系中每个具体物体的右手坐标系,是用来描述世界坐标系中每个具体物体的形状,当物体的空间位置发生变化时,由造型坐标系定义的形状,
2、当物体的空间位置发生变化时,由造型坐标系定义的物体上的各点的坐标值不变,也称工作坐标系。物体上的各点的坐标值不变,也称工作坐标系。图图a图图b3.1 坐标系与坐标变换坐标系与坐标变换世界坐标系世界坐标系(WC)(WC):世界坐标系(也称用户坐标系)是用户用于定义所有物世界坐标系(也称用户坐标系)是用户用于定义所有物体的统一参考坐标系,它在计算过程中始终保持唯一性。物体的统一参考坐标系,它在计算过程中始终保持唯一性。物体从模型坐标下经几何变换到世界坐标系称模型变换。体从模型坐标下经几何变换到世界坐标系称模型变换。zxynvuWCVRC用于定义整图或最高层次图形结构,各子图、图元都放在用于定义整图
3、或最高层次图形结构,各子图、图元都放在wcwc的适当位置。的适当位置。世界坐标系与造型坐标系是整体与局部的关系,造型坐标系也称为局部坐世界坐标系与造型坐标系是整体与局部的关系,造型坐标系也称为局部坐标系,世界坐标系也称为整体坐标系。标系,世界坐标系也称为整体坐标系。3.1 坐标系与坐标变换坐标系与坐标变换观察坐标系(观察坐标系(VCSVCS):):符合右手定则的直角坐标系符合右手定则的直角坐标系作用:作用:(1 1)用于指定裁剪空间,)用于指定裁剪空间,确定物体要显示输出的确定物体要显示输出的部分;部分;(2 2)是通过在观察坐标)是通过在观察坐标系中定义观察平面,把系中定义观察平面,把三维物
4、体的世界坐标变三维物体的世界坐标变换为规格化设备坐标。换为规格化设备坐标。3.1 坐标系与坐标变换坐标系与坐标变换设备坐标系(设备坐标系(DCSDCS):):图形输出设备(如显示器、绘图机)自身都有一个坐标图形输出设备(如显示器、绘图机)自身都有一个坐标系,称为设备坐标系或物理坐标系。系,称为设备坐标系或物理坐标系。设备坐标系是一个二维平面坐标系,用于在图形设备上设备坐标系是一个二维平面坐标系,用于在图形设备上定义图形或窗口的位置,它的度量单位是步长(绘图机)定义图形或窗口的位置,它的度量单位是步长(绘图机)或像素(显示器)。或像素(显示器)。定义域是整数域且是有界的。定义域是整数域且是有界的
5、。3.1 坐标系与坐标变换坐标系与坐标变换规格化设备坐标系(规格化设备坐标系(NDCSNDCS):):由于不同的图形设备具有不同的设备坐标系,且不同设由于不同的图形设备具有不同的设备坐标系,且不同设备间坐标范围也不尽相同,为了避免由于设备坐标系与设备备间坐标范围也不尽相同,为了避免由于设备坐标系与设备的相关性影响应用程序的可移植性,引入与设备无关的规格的相关性影响应用程序的可移植性,引入与设备无关的规格化的设备坐标系,规格化的设备坐标系的取值范围是左下角化的设备坐标系,规格化的设备坐标系的取值范围是左下角(0.0,0.0)用户的图形数据经转换成规格化设备坐标系后,使应用用户的图形数据经转换成规
6、格化设备坐标系后,使应用程序与图形设备隔离开,增强了应用程序的可移植性。程序与图形设备隔离开,增强了应用程序的可移植性。观察坐标系观察坐标系规格化设备坐标系规格化设备坐标系设备坐标系设备坐标系3.1 坐标系与坐标变换坐标系与坐标变换坐标变换坐标变换3.1 坐标系与坐标变换坐标系与坐标变换窗口与视区窗口与视区1 1、窗口、窗口(Windows)(Windows)用户坐标系中的一个矩形区域,可以用其左下角点和右上角用户坐标系中的一个矩形区域,可以用其左下角点和右上角点坐标来表示。只有在这个区域内的图形才能在设备坐标系下显点坐标来表示。只有在这个区域内的图形才能在设备坐标系下显示输出,其余的将被裁剪
7、掉。窗口可以嵌套,即在第一层窗口中示输出,其余的将被裁剪掉。窗口可以嵌套,即在第一层窗口中再定义第二层窗口,在第再定义第二层窗口,在第n n层窗口中再定义第层窗口中再定义第n n+1+1层窗口,在各种层窗口,在各种CADCAD系统中经常用到的框选放大操作就是窗口技术的典型应用。系统中经常用到的框选放大操作就是窗口技术的典型应用。2 2、视区、视区(Viewport)(Viewport)设备坐标系中的一个矩形区域,在图形设备上用来输出图形设备坐标系中的一个矩形区域,在图形设备上用来输出图形的最大区域称之为屏幕域,它是有限的整数域,任何小于或等于的最大区域称之为屏幕域,它是有限的整数域,任何小于或
8、等于屏幕域的区域都可定义为视区。视区由用户在屏幕域中用设备坐屏幕域的区域都可定义为视区。视区由用户在屏幕域中用设备坐标定义,一般也由左下角点和右上角点坐标来表示,同样视区也标定义,一般也由左下角点和右上角点坐标来表示,同样视区也可以是多层的。而且,在同一屏幕还可以定义多个视区。可以是多层的。而且,在同一屏幕还可以定义多个视区。3.1 坐标系与坐标变换坐标系与坐标变换通过变换可以把窗口中的图形和视通过变换可以把窗口中的图形和视区中的图形一一对应起来。区中的图形一一对应起来。输出图形:用户坐标系输出图形:用户坐标系 设备坐标系设备坐标系 (窗口坐标)(窗口坐标)(视区坐标)(视区坐标)输入图形:设
9、备坐标系输入图形:设备坐标系 用户坐标系用户坐标系 (视区坐标)(视区坐标)(窗口坐标)(窗口坐标)3.1 坐标系与坐标变换坐标系与坐标变换3.1 坐标系与坐标变换坐标系与坐标变换窗口与视区的变换窗口与视区的变换3.1 坐标系与坐标变换坐标系与坐标变换窗口与视区的变换窗口与视区的变换3.1 坐标系与坐标变换坐标系与坐标变换窗口与视区的变换窗口与视区的变换3.1 坐标系与坐标变换坐标系与坐标变换二维图形的输出过程二维图形的输出过程三维形体的输出过程三维形体的输出过程3.1 坐标系与坐标变换坐标系与坐标变换注意:注意:1 1、当视区不变时,窗口尺寸缩小则视区图形尺寸变大,窗、当视区不变时,窗口尺寸
10、缩小则视区图形尺寸变大,窗口尺寸变大则视区显示尺寸变小。口尺寸变大则视区显示尺寸变小。窗口窗口 视区视区窗口窗口 3.1 坐标系与坐标变换坐标系与坐标变换2 2、当窗口尺寸不变时,视区的尺寸变化与视区内显、当窗口尺寸不变时,视区的尺寸变化与视区内显示图形的尺寸变化一致。示图形的尺寸变化一致。窗口窗口 视区视区视区视区3.1 坐标系与坐标变换坐标系与坐标变换3 3、如果视区的纵横比与窗口的纵横比不一致时,经变换、如果视区的纵横比与窗口的纵横比不一致时,经变换后的图形在视区中输出时会产生失真现象,因此在定义窗后的图形在视区中输出时会产生失真现象,因此在定义窗口和视区时,要保证它们的纵横比一致。口和
11、视区时,要保证它们的纵横比一致。窗口窗口 视区视区视区视区3.1 坐标系与坐标变换坐标系与坐标变换窗口和视区的关系:窗口和视区的关系:窗窗口口定定义义在在用用户户坐坐标标系系中中;视视区区定定义义在在设设备备坐坐标系中。标系中。窗窗口口能能定定义义一一个个、数数个个、嵌嵌套套;视视区区的的个个数数由由窗口个数决定,以保证一一对应关系。窗口个数决定,以保证一一对应关系。窗窗口口能能进进行行移移动动、放放大大、缩缩小小、旋旋转转等等几几何何变变换;视区一般不能进行几何变换。换;视区一般不能进行几何变换。3.1 坐标系与坐标变换坐标系与坐标变换结论:结论:当当视视区区大大小小不不变变时时,窗窗口口缩
12、缩小小或或放放大大时时,则则显显示的图形会相反地放大或缩小。示的图形会相反地放大或缩小。当当窗窗口口大大小小不不变变时时,视视区区缩缩小小或或放放大大时时,则则显显示的图形会跟随缩小或放大。示的图形会跟随缩小或放大。当当窗窗口口与与视视区区大大小小相相同同时时,则则显显示示的的图图形形大大小小比例不变。比例不变。若视区纵横比不等于窗口的纵横比时,则显示若视区纵横比不等于窗口的纵横比时,则显示的图形会有伸缩变形。的图形会有伸缩变形。3.1 坐标系与坐标变换坐标系与坐标变换确定图形中哪些部分落在显示区之内确定图形中哪些部分落在显示区之内,以便显示落在显以便显示落在显示区内的那部分图形,这个选择过程
13、称为裁剪。示区内的那部分图形,这个选择过程称为裁剪。只有窗口内的物体才能显示出来。因此,窗口之外的物只有窗口内的物体才能显示出来。因此,窗口之外的物体都是不可见的,可以不参加标准化转换及随后的显示体都是不可见的,可以不参加标准化转换及随后的显示操作,节约处理时间。裁剪(操作,节约处理时间。裁剪(clippingclipping)是裁去窗口之)是裁去窗口之外物体的一种操作。外物体的一种操作。3.2 图形的裁剪技术图形的裁剪技术点与字符的裁剪点与字符的裁剪 点的裁剪比较简单,当图形系统的窗口确定之后,点的裁剪比较简单,当图形系统的窗口确定之后,设被裁剪的点的坐标为(设被裁剪的点的坐标为(x x,y
14、 y),则只有当该点的坐标),则只有当该点的坐标满足下式满足下式 该点才位于窗口之内,并经过窗口该点才位于窗口之内,并经过窗口-视图变换后送视视图变换后送视区中显示,否则该点位于窗口之外而被舍去。区中显示,否则该点位于窗口之外而被舍去。3.2 图形的裁剪技术图形的裁剪技术 字符的裁剪,根据裁剪精度不同,可分为三种情况。字符的裁剪,根据裁剪精度不同,可分为三种情况。(1 1)字串裁剪)字串裁剪 用一个限界矩形来包含整个文本字符串,判断该限界用一个限界矩形来包含整个文本字符串,判断该限界矩形是否全部位于裁剪窗口的内部,如果是,则字符串全矩形是否全部位于裁剪窗口的内部,如果是,则字符串全部保留,如果
15、不是,则字符串全部不可见。这是字符裁剪部保留,如果不是,则字符串全部不可见。这是字符裁剪的最简单方法,裁剪速度最快,但精度最低。的最简单方法,裁剪速度最快,但精度最低。3.2 图形的裁剪技术图形的裁剪技术 (2 2)字裁剪)字裁剪 类似于串裁剪,但限界矩形以单个字符为单位。类似于串裁剪,但限界矩形以单个字符为单位。(3 3)笔划裁剪)笔划裁剪 通过把一个字符看成一系列短笔划的集合,使字符的裁剪归结为对组通过把一个字符看成一系列短笔划的集合,使字符的裁剪归结为对组成这些字符的笔划的裁剪,必须逐条直线的进行。此种方法可以精确地删成这些字符的笔划的裁剪,必须逐条直线的进行。此种方法可以精确地删除字符
16、在窗口外的部分,如实地反映了字符的裁剪结果,优点是裁剪精度除字符在窗口外的部分,如实地反映了字符的裁剪结果,优点是裁剪精度最高,缺点是裁剪过程比较复杂。最高,缺点是裁剪过程比较复杂。字裁剪字裁剪笔划裁剪笔划裁剪3.2 图形的裁剪技术图形的裁剪技术二维直线段裁剪二维直线段裁剪 线段与窗口的位置关系有如下几种情况线段与窗口的位置关系有如下几种情况 (1 1)直线段两个端点在窗口内;)直线段两个端点在窗口内;(2 2)直线段两个端点在窗口外,)直线段两个端点在窗口外,且与窗口不相交;且与窗口不相交;(3 3)直线段两个端点在窗口外,)直线段两个端点在窗口外,且与窗口相交;且与窗口相交;(4 4)直线
17、段一个端点在窗口内,一个端点在窗口外。)直线段一个端点在窗口内,一个端点在窗口外。从图中我们可以看出,不同位置的线段被窗口边界分成一段或从图中我们可以看出,不同位置的线段被窗口边界分成一段或几段,但其中只有一段落在窗口内,如何找出落在窗口内线段的几段,但其中只有一段落在窗口内,如何找出落在窗口内线段的起点和终点坐标是关键。常用的算法有矢量裁剪法、编码裁剪法、起点和终点坐标是关键。常用的算法有矢量裁剪法、编码裁剪法、中点分割法。中点分割法。3.2 图形的裁剪技术图形的裁剪技术编码裁剪法:编码裁剪法:1 1、第一位:端点在窗口左边界代码为、第一位:端点在窗口左边界代码为1 1,否则为,否则为0 0
18、 2 2、第二位:端点在窗口右边界代码为、第二位:端点在窗口右边界代码为1 1,否则为,否则为0 0 3 3、第三位:端点在窗口下边界代码为、第三位:端点在窗口下边界代码为1 1,否则为,否则为0 0 4 4、第四位:端点在窗口上边界代码为、第四位:端点在窗口上边界代码为1 1,否则为,否则为0 0定定义义编编码码状状态态表表3.2 图形的裁剪技术图形的裁剪技术 (1 1)直线段的两个端点按其所在区域被赋予相应代码,称为)直线段的两个端点按其所在区域被赋予相应代码,称为端点状态代码。端点状态代码。(2 2)测试直线段的端点状态,当两端点状态代码都为零,说明)测试直线段的端点状态,当两端点状态代
19、码都为零,说明该线段完全位于窗口之内;当两端点的状态代码的位逻辑该线段完全位于窗口之内;当两端点的状态代码的位逻辑“与与”不不为零,说明线段位于窗外同一侧。为零,说明线段位于窗外同一侧。(3 3)不能通过上述测试的线段,再求它)不能通过上述测试的线段,再求它与窗口边界(或边界的延长线)的有效交点,与窗口边界(或边界的延长线)的有效交点,它将线段分割成两个子段,用上述两个条件它将线段分割成两个子段,用上述两个条件对这两个子段进行测试,舍弃位于窗外的一对这两个子段进行测试,舍弃位于窗外的一段,而对剩余部分再次赋给交点处的端点状段,而对剩余部分再次赋给交点处的端点状态代码,再次测试,再次求交,直至能
20、判断态代码,再次测试,再次求交,直至能判断出裁剪剩余部分直线段是否位于窗口内或在出裁剪剩余部分直线段是否位于窗口内或在窗外。窗外。3.2 图形的裁剪技术图形的裁剪技术abdec中点分割法:中点分割法:基基本本思思想想:分分别别寻寻找找直直线线段段两两个个端端点点各各自自对对应应的的最最远远的的可可见见点点,两个可见点之间的连线即为要输出的可见线段。两个可见点之间的连线即为要输出的可见线段。判断直线段判断直线段 是否全部在窗口外,若是则结束,否则是否全部在窗口外,若是则结束,否则;判判断断 点点是是否否可可见见,若若是是则则 即即为为距距 点点最最远远的的可可见见点点(b b线线段段)返返回,否
21、则回,否则;将直线段将直线段 对分,中点为对分,中点为 ,如果,如果 全部在窗口外(全部在窗口外(d d线段),线段),则用则用 代替代替 ,否则以,否则以 代替代替 (e e线段),对新的线段线段),对新的线段 从从 开始;开始;重复上述过程,直到重复上述过程,直到 的长度小于给定的误差,即认为已与窗口的一个的长度小于给定的误差,即认为已与窗口的一个边界相交为止。边界相交为止。上述过程找到了距上述过程找到了距 点最远的可见点,把两个端点对调,重复上述步骤,点最远的可见点,把两个端点对调,重复上述步骤,即可找到距即可找到距 点最远的可见点,连接两点,即为要输出的可见段。点最远的可见点,连接两点
22、,即为要输出的可见段。3.2 图形的裁剪技术图形的裁剪技术多边形裁剪多边形裁剪逐边裁剪法、双边裁剪法、分区判逐边裁剪法、双边裁剪法、分区判断求交法、凸包矩形判别法、边界断求交法、凸包矩形判别法、边界分割法等。分割法等。逐边裁剪法原理:逐边裁剪法原理:先用窗口的一条边界对多边形进行裁剪,保留裁剪后位先用窗口的一条边界对多边形进行裁剪,保留裁剪后位于该边界窗口内的部分图形,合并外部区域的图形,得到一于该边界窗口内的部分图形,合并外部区域的图形,得到一个或若干个新的封闭图形,当用窗口的第一条边界处理完后,个或若干个新的封闭图形,当用窗口的第一条边界处理完后,再用第二条边界对新生成的多边形进行裁剪,如
23、此下去,直再用第二条边界对新生成的多边形进行裁剪,如此下去,直至窗口的四条边界都裁剪完毕。至窗口的四条边界都裁剪完毕。3.2 图形的裁剪技术图形的裁剪技术逐边裁剪法(逐边裁剪法(1974年由年由Sutherland和和Hodman提出)提出)3.2 图形的裁剪技术图形的裁剪技术图形变换图形变换在计算机图形处理中,经常需要对已经生成的图形进行在计算机图形处理中,经常需要对已经生成的图形进行几何变换处理几何变换处理。例如,改变图形的大小、移动图形或根据需。例如,改变图形的大小、移动图形或根据需要将图形旋转一个角度,输出零件的三视图,显示立体图,要将图形旋转一个角度,输出零件的三视图,显示立体图,或
24、要求一物体绕一轴线作连续的动态转动,使观察者能看到或要求一物体绕一轴线作连续的动态转动,使观察者能看到物体的各个侧面。这就要求图形处理软件能够实现旋转、平物体的各个侧面。这就要求图形处理软件能够实现旋转、平移、缩放等几何变换。移、缩放等几何变换。点是构成一个几何形体的最基本的元素,一幅二维图形可以看成是一个点是构成一个几何形体的最基本的元素,一幅二维图形可以看成是一个点集,因此可以把对图形的几何变换归结为对点的变换。点集,因此可以把对图形的几何变换归结为对点的变换。图形的基本构成:顶点坐标图形的基本构成:顶点坐标+拓扑关系拓扑关系3.3 图形几何变换图形几何变换图形变换方法图形变换方法 一、一
25、、点的向量表示点的向量表示二维平面中点的表示方法:二维平面中点的表示方法:P(x,y)三维空间里则用三维空间里则用 表示。表示。对于一个二维平面的图形或三维空间的立体,可以用一个点的集合(简对于一个二维平面的图形或三维空间的立体,可以用一个点的集合(简称点集)来表示,每个点对应一个行向量,则点集为称点集)来表示,每个点对应一个行向量,则点集为n2或或m3阶的矩阵:阶的矩阵:或或3.3 图形几何变换图形几何变换例:已知三角形例:已知三角形ABC顶点的坐标分别为:顶点的坐标分别为:A(x1,y1),),B(x2,y2),),C(x3,y3)则三角形则三角形ABC可以记作矩阵:可以记作矩阵:然后把它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形 处理 技术
限制150内