欢迎来到天天文库
浏览记录
ID:52138003
大小:758.50 KB
页数:38页
时间:2020-04-01
《计算机图形学第6章开窗口及二维裁剪.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章开窗口及二维裁剪应用程序中所定义的画面均以世界坐标系表示,这些画面要映射到设备坐标系才可以显示出来。在显示器上可以只选择一个显示区域观察一幅画面,也可以同时选择若干显示区域观察若干幅画面。把用一观察窗口有选择地显示物体地某一部分称为开窗口技术,如果要求删除显示区域之外的画面部分则称为裁剪。第6章开窗口及二维裁剪6.1开窗口及裁剪的基本概念6.2直线裁剪算法6.3多边形裁剪6.4文本裁剪6.1开窗口及裁剪的基本概念6.1.1坐标系组成图形的最基本元素是点,而点的位置通常是在一个坐标系中定义的。图形系统中所使用的坐标系是人
2、们广为熟悉的直角坐标系,也称笛卡儿坐标系。1.建模坐标系(MC)依物体而建,物体在其中的表示相对简单,易于描述。是直角右手坐标系,长度单位由用户自定,取值范围是整个实数域。2.世界坐标系(WC)单个物体的形状一旦被指定以后,需要将其放入到场景的适当位置,场景是采用世界坐标系描述的。是直角右手坐标系,长度单位由用户自定,取值范围是整个实数域。6.1.1坐标系3.设备坐标系(DC)无论是显示器、绘图仪还是数字化仪,通常都采用二维直角坐标系,但原点及轴向依具体设备的不同而不同。4.规格华设备坐标系(NDC)是一种虚拟的坐标系,它与
3、具体设备无关,其坐标在0~1之间。NDC将WC与DC联系起来,使两种坐标系之间建立一一对应的关系,用户在用WC描述物体图形时,能在具体的图形设备上正确输出。6.1.1坐标系在最后变换为特定设备坐标之前,图形系统需要将世界坐标位置变换为规范化设备坐标位置。这样可使系统独立于可能使用的特定工作站的各种设备。图中,初始建模坐标位置(xmc,ymc)变换为设备坐标位置(xdc,ydc),其系列为6.1.2窗口与视区窗口:用户在世界坐标系中指定的局部区域,通常是矩形区域。开窗口:指定或选取一个区域。视区:在屏幕上指定一个较小的矩形区域
4、,用于显示窗口内的图形,这个在屏幕上的矩形区域称为视区,它是用规格化设备坐标系进行描述的。6.1.3窗口在图形显示中的应用1.利用开窗口技术,可灵活地在屏幕上显示一景物的不同部分、改变窗口及视区的大小和位置,可使显示的图形发生变化。2.对于一个显示物体可定义多个窗口及多个视区,这样可多方位、多侧面观察一个物体。3.在多工作站的情况下,可在各工作站建立不同的窗口及视区,这样就可以在不同的输出设备上显示物体的不同部分。6.2直线裁剪算法裁剪的含义为了能看到计算机内部存储数据量比较大的图形的各个局部细节。在放大显示一幅图形的一部分
5、区域时,必须确定图形中哪些部分落在显示区之内,哪些落在显示区之外,以便显示落在显示区内的那部分图形。这个选择过程称为裁剪。裁剪的实质决定图形中哪些点、线段、文字、以及多边形在窗口之内。6.2.1直线裁剪的基本原理裁剪的目的判断图形元素是否落在裁剪窗口之内并找出其位于内部的部分裁剪的处理的基础图元关于窗口内外关系的判别图元与窗口的求交假定条件矩形裁剪窗口:[xmin,xmax]X[ymin,ymax]待裁剪线段:6.2.1直线裁剪的基本原理点裁剪点(x,y)在窗口内的充分必要条件是:6.2.1直线裁剪的基本原理为提高效率,算法
6、设计时应考虑:(一)快速判断情形(1)(2);(二)设法减少情形(3)求交次数和每次求交时所需的计算量。待裁剪线段和窗口的关系线段完全可见显然不可见线段至少有一端点在窗口之外,但非显然不可见6.2.2Cohen-Sutherland直线裁剪算法Cohen-Sutherland算法思想:对于每条线段P1P2,分为3种情况处理:(1)若P1P2完全在窗口内,则显示该线段P1P2,简称取之(2)若P1P2明显在窗口外,则丢弃该线段P1P2,简称弃之(3)若线段既不满足“取”的条件,也满足“弃”的条件,则把线段分成两段。其中一段完全
7、在窗口外,可弃之。然后对另一段重复上述处理。6.2.2Cohen-Sutherland直线裁剪算法一、区域码建立区域码:表示直线端点相对位置的4位二进制代码。区域码按照端点与窗口边界的相对编码,即区域码的4位分别代表端点位于窗口的上、下、左、右。区域,码从右到左的各位所代表的坐标区如下:6.2.2Cohen-Sutherland直线裁剪算法一、区域码建立-编码方法:由窗口四条边所在直线把二维平面分成9个区域,每个区域赋予一个四位编码——CtCbCrCl(上下右左);代码每位用0或1来表示,并且规定:在窗口上边线之上,第4位为
8、1,否则第4位为0;在窗口下边线之下,第3位为1,否则第3位为0;在窗口右边线之右,第2位为1,否则第2位为0;在窗口左边线之左,第2位为1,否则第1位为0;6.2.2Cohen-Sutherland直线裁剪算法一、区域码建立6.2.2Cohen-Sutherland直线裁剪算法二、区域码
此文档下载收益归作者所有