第五章二维图形裁剪 计算机内部存储的图形数据 量往往比较大,而屏幕显示 的只是图的局部部分。因此 需要确定图形中哪些部分落 在显示区之内,哪些落在显 示区之外,以便只显示落在 显示区内的那部分图形。这 个选择过程称为裁剪。一般 因为有些图形组成部分全部 在窗口外,可以完全排除, 不必进行扫描转换。所以 采用先裁剪再扫描转 换的方法
第五章 二维图形裁剪 计算机内部存储的图形数据 量往往比较大,而屏幕显示 的只是图的局部部分。因此 需要确定图形中哪些部分落 在显示区之内,哪些落在显 示区之外,以便只显示落在 显示区内的那部分图形。这 个选择过程称为裁剪。一般, 因为有些图形组成部分全部 在窗口外,可以完全排除, 不必进行扫描转换。所以 采用先裁剪再扫描转 换的方法
主要内容 直线段的 Cohen- Sutherland算法 Nicho-Lee- Nicho算法、中点分割算法 梁友栋- Barkey算法,裁剪多边形的 Sutherland-Hodgman算法、 Weiler- Atherton算法,字符裁剪
主要内容 直线段的Cohen-Sutherland算法、 Nicholl-Lee-Nicholl算法、中点分割算法、 梁友栋-Barskey算法,裁剪多边形的 Sutherland-Hodgman算法、Weiler- Atherton算法,字符裁剪
5.1直线段裁剪 直线段裁剪算法比较简单,但非常重要, 是复杂图元裁剪的基础。因为复杂的曲 线可以通过折线段来近似,从而裁剪问 题也可以化为直线段的裁剪问题。 常用的线段裁剪方法 Cohen-Sutherland ●中点分割算法 ●梁友栋一 barkey算法
5.1 直线段裁剪 直线段裁剪算法比较简单,但非常重要, 是复杂图元裁剪的基础。因为复杂的曲 线可以通过折线段来近似,从而裁剪问 题也可以化为直线段的裁剪问题。 常用的线段裁剪方法 l Cohen-Sutherland、 l 中点分割算法 l 梁友栋-barskey算法
直线段裁剪前提和假设 n裁剪的目的判断图形元素是否落在裁剪窗口 之内并找出其位于内部的部分 裁剪处理的基础 ●图元关于窗口内外关系的判别 ●图元与窗口的求交 假定条件:(1)矩形裁剪窗口- [Xmin, xmax Xlymin,ymax] (2)待裁剪线段--P(x)P(x2) 待裁剪线段和窗口的关系:(1)线段完全可见;(2 显然不可见;(3)线段至少有一端点在窗口之外, 但非显然不可见
直线段裁剪前提和假设 n裁剪的目的:判断图形元素是否落在裁剪窗口 之内并找出其位于内部的部分 裁剪处理的基础: l 图元关于窗口内外关系的判别 l 图元与窗口的求交 假定条件: (1)矩形裁剪窗口---- [xmin,xmax]X[ymin,ymax] (2)待裁剪线段---- 待裁剪线段和窗口的关系:(1)线段完全可见; (2) 显然不可见; (3)线段至少有一端点在窗口之外, 但非显然不可见
例子 线段 AB CDEF GH,J等 --ym ax 丑H 简单的点 E 裁剪:点 A (x,y)在窗 INliNe 口内的充 G 分必要条 件是 XInin x min <x< xmax ymnsy≤ymax
例子 线段AB,CD,EF, GH, IJ等 简单的点 裁剪: 点 (x, y)在窗 口内的充 分必要条 件是: