计算机图形学第五章 PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直接求交算法
直线与窗口边都 写成参数形式, 求参数值。
Cohen-Sutherland裁剪
基本思想: 对于每条线段P1P2分为三种情况处理: (1)若P1P2完全在窗口内,则显示该线段P1P2 。 (2)若P1P2明显在窗口外,则丢弃该线段。 (3)若线段不满足(1)或(2)的条件,则在
特点:用编码方法可快速判断线段的完 全可见和显然不可见。
中点分割裁剪算法
中点分割裁剪算法是对Cohen-Sutherland 直线段裁剪算法的改进。 在Cohen-Sutherland 直线段裁剪算法中, 为了避免求直线段与窗口 边界的交点, 用不断对分线段的方法排斥线段 在窗口外的部分, 最后求出离线段端点最远的 可见点(所谓可见点就是线段落在窗口内的点), 若这两点存在, 则这两点就是线段P1P2的可见线 段端点。
最简单的裁剪方法是把各种图形扫描 转换为点之后,再判断各点是否在窗内。 但那样太费时,一般不可取。这是因为有 些图形组成部分全部在窗口外,可以完全 排除,不必进行扫描转换。所以一般采用 先裁剪再扫描转换的方法。
5.2 二维裁剪
裁剪算法有二维的和三维的,裁剪 对象也可以是规则形体,也可以是 不规则形体。本章重点介绍二维裁 剪,三维裁剪涉及到后面章节三维 消隐等内容,后面再简要介绍。
中点分割裁剪算法
基本思想: 与前一种Cohen-Sutherland算
法一样首先对线段端点进行编码,并把 线段与窗口的关系分为三种情况: 全部可见、完全不可见和线段部分可见。 对前两种情况,进行一样的处理。对于 第三种情况,用中点分割的方法求出线 段与窗口的交点。
问:算法为什么可行?会不会 无限循环、不断二分?
满足下列不等式: xL <= x <= xR 并且yB <= y <= yT 否则,P点就在窗口外。
(xL,yB )
(xR,yT )
直线段裁剪
裁剪线段与窗口的关系:(1)线段完全可 见;(2)显然不可见;(3)其它
提高裁剪效率: 快速判断情形(1)(2), 对于情形(3),设法减 少求交次数和每次求 交时所需的计算量。
5.2.1 直线段裁剪
直线段裁剪算法是复杂图元裁 剪的基础。复杂的曲线可以通过折 线段来近似,从而裁剪问题也可以 化为直线段的裁剪问题。所以本章 重点讨论直线段的裁剪算法。算法 一般取的裁剪多边形都是矩形,有 些特殊的算法采用任意多边形裁剪。
点的裁剪
图形裁剪中最基本的问题。
假设窗口的左下角坐标为 (xL,yB),右上角坐标为 (xR,yT),对于给定点P(x,y), 则P点在窗口内的条件是要
一旦给定所有的线段端点的区 域码,就可以快速判断哪条直 线完全在剪取窗口内,哪条直 线完全在窗口外。所以得到一 个规律:
Cohen-Sutherland裁剪
若P1P2完全在窗口内code1=0,且code2=0,则 “取”
若P1P2明显在窗口外code1&code2≠0,则“弃” 在交点处把线段分为两段。其中一段完全在窗
裁剪可以在世界坐标系中进行,即相对于窗口进行;也可 以把对象变换为设备坐标之后相对于视区进行。前者可以把不 在窗口范围内的部分剪掉, 避免了不必要的变换处理;后者在 设备坐标系中裁剪易于用硬件实现。
裁剪处理的基础是:点在窗口区域内外的判断以及计 算图形元素与窗口区域边界的交点。其原理虽然简单,但涉及 的图形元素多, 提高裁剪速度是算法应考虑的重要问题。以下 介绍直线段裁剪算法及多边形裁剪算法。
大家应该也有点累了,稍作休息
大家有疑问的,可以询问和交流
5.2 二维裁剪
5.2.1 直线段裁剪
直接求交算法 Cohen-Sutherland算法 中点分割算法 Liang-Barskey算法 参数化裁剪算法
5.2.2 多边形裁剪
Sutlerland_Hodgman算法 Weiler-Athenton算法
第五章 裁剪
5.1 裁剪概述 5.2 二维裁剪
5.2.1 直线段裁剪 5.2.2 多边形裁剪
5.1 裁剪概述
在使用计算机处理图形信息时,遇到的情况往往是计算机内 部存储的图形比较大,而屏幕显示只是图的一部分。例如,虽然 计算机内部可以存储全国地图,但是,如果把全国地图整幅显示 在屏幕上,则不能看到各地局部的细节。这时,可以使用缩放技 术,把地图中的局部区域放大显示。在放大显示一幅图形的一部 分区域时,必须确定图形中哪些部分落在显示区之内,哪些部分 落在显示区之外,以便显示落在显示区内的那部分图形。这个选 择处理过程称为裁剪。在进行裁剪时,画面中对应于屏幕显示的 那部分区域称为窗口。一般把窗口定义为矩形,由上、下、左、 右四条边围成。裁剪的实质就是决定图形中哪些点、线段、文字 以及多边形在窗口之内。
口外,可弃之。然后对另一段重复上述处理。
1001
1000
0001 0101
Leabharlann Baidu
0000 0100
1010 0010 0110
P1 P3 P4
P2
Cohen-Sutherland 直线裁剪算法小结
本算法的优点在于简单,易于实现。他 可以简单的描述为将直线在窗口左边的 部分删去,按左,右,下,上的顺序依 次进行,处理之后,剩余部分就是可见 的了。在这个算法中求交点是很重要的, 他决定了算法的速度。另外,本算法对 于其他形状的窗口未必同样有效。
计算机图形学第五章
第五章 裁剪
教学学时:6课时
教学目的与要求:
让学生初步了解裁剪的定义,掌握对直线 段裁剪的一些基本算法,掌握简单的对多 边形裁剪的算法,掌握算法的理论原理, 能够分析基本算法的优缺点。
教学重点:Cohen-Sutherland算法,中点 分割算法,梁友栋—Barsky算法,参数化 算法,Sutlerland_Hodgman算法。
交点处把线段分为两段。其中一段完全在窗口 外,可弃之。然后对另一段重复上述处理。 为快速判断,采用如下编码方法:
图 5.1 区域划分及编码
图 5.2 区位码各位含义
编码的思想在图形学中非常重要。
Sutherland:Coons, 图灵, IEEE 计算机 先驱奖。
Cohen-Sutherland算法