当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

郑州轻工业学院:《计算机图形学基础与实践 Elements and practice for Computer Graphics》课程教学资源(PPT课件讲稿)第5章 基本图形处理技术

资源类别:文库,文档格式:PPT,文档页数:113,文件大小:661KB,团购合买
提纲: 1.区域填充; 2.线宽与线型处理 3.字符显示与处理 4.裁剪处理 5.反走样技术
点击下载完整版文档(PPT)

第5章基本图形处理技术

第5章 基本图形处理技术

提纲 1.区域填充; 2.线宽与线型处理 3.字符显示与处理 4.裁剪处理 5.反走样技术

提纲: ◼ 1. 区域填充; ◼ 2. 线宽与线型处理 ◼ 3. 字符显示与处理 ◼ 4. 裁剪处理 ◼ 5. 反走样技术

5.1区域填充 区域填充的任务是在一个封闭的区域 中的所有像素,用一种颜色或图案位图来 显示。区域填充可以分两步进行,第一步 先确定填充的区域,第二步确定用什么颜 色值来填充。在本节中,我们首先讨论如 何用单一颜色填充多边形与图形区域,然 后再讨论图案填充

5.1 区域填充 区域填充的任务是在一个封闭的区域 中的所有像素,用一种颜色或图案位图来 显示。区域填充可以分两步进行,第一步 先确定填充的区域,第二步确定用什么颜 色值来填充。 在本节中,我们首先讨论如 何用单一颜色填充多边形与图形区域,然 后再讨论图案填充

5.1.1多边形域的填充 1.原理描述 这里讨论的是任意多边形,多边形域可以是 凸的、凹的或带孔的。一种常用的填充方法是按 扫描线顺序,计算扫描线与多边形的相交区间, 再用要求的颜色显示这些区间的像素,即可以完 成填充工作。区间的端点可以通过计算扫描线与 多边形边界线的交点获得。 如图5.1.1所示,扫描线6与多边形的边界线 交于四点A、B、C、D。这四点把扫描线分为五 个区间[0,2]、[2,3.5]、[3.5,7]、[7,11 [11,12]。其中AB[2,35],CD[711]两个区间 落在多边形内,该区间内的像素应取多边形填充 色,其他区间内的像素取背景色

5.1.1 多边形域的填充 1.原理描述 这里讨论的是任意多边形,多边形域可以是 凸的、凹的或带孔的。一种常用的填充方法是按 扫描线顺序,计算扫描线与多边形的相交区间, 再用要求的颜色显示这些区间的像素,即可以完 成填充工作。区间的端点可以通过计算扫描线与 多边形边界线的交点获得。 如图5.1.1所示,扫描线6与多边形的边界线 交于四点A、B、C、D。这四点把扫描线分为五 个区间[0,2]、[2,3.5]、[3.5,7]、[7,11]、 [11,12]。其中AB[2,3.5],CD[7,11]两个区间 落在多边形内,该区间内的像素应取多边形填充 色,其他区间内的像素取背景色

y876 P6(2,7) P4(11,8) F G A B 5 P3(11,3) P1(2,2) E P2(5,1) 01234567891011 图5.1.1一个多边形与若干扫描线

P1 (2,2) P2 (5,1) P3 (11,3) P5 (5,5) P4 (11,8) P6 (2,7) E A B C D D F G 0 1 2 3 4 5 6 7 8 9 10 11 x 1 2 3 4 5 6 7 8 y 图5.1.1 一个多边形与若干扫描线

这里的四个交点在计算时未必是按从左到右 顶序获得。例如,当多边形采用顶点序列 P1P2P3P4P5P6表示时,把扫描线6分别与P1P2 P2P3、P3P4、P4P5 P5P6、P6P1六条边 相交,得到交点序列为D、C、B、A,必须经过 序,按X递增的顺序排列交点顺序,才能得到从 左到右排列的交点序列。 般多边形的填充过程,对于一条扫描线, 可以分为四个步骤: (1)求交:计算扫描线与多边形各边的交点 (2)排序:把所有交点按x递增顺序进行排序 3)交点配对:第一个与第二个,第三个与第四 第2i-1与第 配对,其中 1~n。每对交点就代表扫描线与多边形的一个相 交区间 4)区间填色:把这些相交区间内的像素置成多边 填充色,把区间外的像素置成背景色

这里的四个交点在计算时未必是按从左到右 顺序获得。例如,当多边形采用顶点序列 P1P2P3P4P5P6表示时,把扫描线6分别与P1P2、 P2P3 、P3P4 、P4P5 、P5P6 、P6P1 六条边 相交,得到交点序列为D、C、B、A,必须经过 排序,按x递增的顺序排列交点顺序,才能得到从 左到右排列的交点序列。 一般多边形的填充过程,对于一条扫描线, 可以分为四个步骤: (1)求交:计算扫描线与多边形各边的交点; (2)排序:把所有交点按x递增顺序进行排序; (3)交点配对:第一个与第二个,第三个与第四 个,…,第2i-1与第2i个交点配对,其中,i取 1~n。每对交点就代表扫描线与多边形的一个相 交区间。 (4)区间填色:把这些相交区间内的像素置成多边 形填充色,把区间外的像素置成背景色

在多边形填充算法中,必须解决两个特殊的问题 是当扫描线与多边形顶点相交时,交点的取舍问题 多边形边界上像素的取 题。前者用于保证交点正确配 对,后者用于避免填充扩大化 先讨论第一个问题。当扫描线与多边形顶点相交时, 出现异常情况。例如图5.1.1中过的与P1、P2、P5 P6点的扫描线,算几个交点,如果取舍不正确,交点配对 和填充就会出现错误 为了正确地进行交点取舍,必须按照下面的规则对交 点进行取舍: (1)扫描线交于一顶点,而共享该顶点的两条边分别落在 扫描线的两边,则交点只算一个。如图5.1.2(a) )扫描线交于一顶点,而共享该顶点的两条边在扫描线 同一边,这时交点作为零个或两个,这取决于该顶点 多边形的局部最高点(0个)还是局部最低点(2个) 图51.2(b)和如图5.1.2(C)

在多边形填充算法中,必须解决两个特殊的问题:一 是当扫描线与多边形顶点相交时,交点的取舍问题。二是 多边形边界上像素的取舍问题。前者用于保证交点正确配 对,后者用于避免填充扩大化。 先讨论第一个问题。当扫描线与多边形顶点相交时, 会出现异常情况。例如图5.1.1中过的与P1、P2、P5、 P6点的扫描线,算几个交点,如果取舍不正确,交点配对 和填充就会出现错误。 为了正确地进行交点取舍,必须按照下面的规则对交 点进行取舍: (1)扫描线交于一顶点,而共享该顶点的两条边分别落在 扫描线的两边,则交点只算一个。如图5.1.2(a)。 (2)扫描线交于一顶点,而共享该顶点的两条边在扫描线 的同一边,这时交点作为零个或两个,这取决于该顶点是 多边形的局部最高点(0个)还是局部最低点(2个)。如 图5.1.2(b)和如图5.1.2(c)

A B A B A B (b) (C 取 取零个 取 图51.2扫描线与多边形顶点相交时交点的取舍

A B C A B C C B A (a) 取 一 个 (b) 取 零 个 (c) 取 二 个 图5.1.2 扫描线与多边形顶点相交时交点的取舍

具体实现时,只需检查顶点的两体条边的另外两个端 点的y值,如果两个y值中大于交点出y值的个数是0、1 2,那么交点分别取零个 按照上述规则,图5.1.1中的顶点P2,算两个交点, 这样P2像素用多边形颜色设置。在顶点P1处,只算一个 交点。而在P6处,交点算零个,即该点不予填充 下面讨论第二个问题,即边界上像素的取舍问题。例 如,对左下角为(1,1),右上角为(3,3)的正方形填充时 若对边界上所有的像素均进行填充,就得到如图5.1.3的 结果,被填充的像素覆盖的面积为3X3单位,而正方形的 实际面积只有2X2单位。这种现象称为边界扩大化问题。 为了克服这个问题,规定落在右/上边界的像素不予填充, 而落在左/下边界的像素予以填充。在具体实现时,只要 对扫描线与多边形的相交区间取左闭右开。容易看出,在 解决第一个问题时,对交点的取舍方法保证了多边形的 “下闭上开”,即丢弃上方水平边以及上方非水平边上作 为局部最高点的顶点

具体实现时,只需检查顶点的两体条边的另外两个端 点的y值,如果两个y值中大于交点出y值的个数是0、1、 2,那么交点分别取零个、一个或二个。 按照上述规则,图5.1.1中的顶点P2 ,算两个交点, 这样P2 像素用多边形颜色设置。在顶点P1 处,只算一个 交点。而在P6 处,交点算零个,即该点不予填充。 下面讨论第二个问题,即边界上像素的取舍问题。例 如,对左下角为(1,1),右上角为(3,3)的正方形填充时, 若对边界上所有的像素均进行填充,就得到如图5.1.3的 结果,被填充的像素覆盖的面积为3х3单位,而正方形的 实际面积只有2х2单位。这种现象称为边界扩大化问题。 为了克服这个问题,规定落在右/上边界的像素不予填充, 而落在左/下边界的像素予以填充。在具体实现时,只要 对扫描线与多边形的相交区间取左闭右开。容易看出,在 解决第一个问题时,对交点的取舍方法保证了多边形的 “下闭上开”,即丢弃上方水平边以及上方非水平边上作 为局部最高点的顶点

432 3 图5.1.3边界上像素的填充

1 2 3 4 x 1 2 3 4 y 图5.1.3 边界上像素的填充

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共113页,可试读30页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有