广工数媒计算机图形学之5基本图形生成算法-多边形扫描转换及区域填充

合集下载

第4章 多边形的扫描转换与区域填充

第4章 多边形的扫描转换与区域填充
的象素臵成背景色。
4.2.2 扫描线填充算法
三、存在问题
交点的个数必须是偶数才能保证填充的正确性。 存在问题: 当扫描线与多边形的顶点相交时,会出现异常情况。 问题1:如何取舍交点,保证交点正确配对?
扫描线2 与P1相交,P1,P1,E 扫描线7 与P6相交,P6,F,G
4.2.2 扫描线填充算法
4.1 矩形填充
为了减少函数调用的次数,每条扫描线上的[xmin,xmax]区间可 以用画线函数填充,其程序如下:
4.1 矩形填充
存在问题: 如果两个矩形共享一条边:
(1)如果象素的中心落在某个矩形区域内,则它属于该区域。 (2)如果将中心落在其共享边界的像素看成是同时属于两个矩形 图元区域,那么,落在共享边界上的像素就会被重画两次。 (3)如果将中心落在其共享边界的像素看成是不属于任何区域, 那么,中心落在共享边界上的像素就会被丢失。
处理措施:
如果像素的中心落在矩形边界的左方或下方时,该像素属于矩形, 否则不属于该多边形区域,也就是说,如果象素的中心落在矩形 边界的右方或上方时,该象素不属于矩形区域。
4.2 多边形扫描转换
4.2.1 逐点判断算法
基本思想:
逐个判断绘图窗口内的像素,确定它们是否在多边形区
域内部,从而求出位于多边形区域内的像素的集合。实现 扫描转换多边形最简单方法就是逐点判断。
实际上该数据表示了一条扫描线与某条边的交点,将这些交点链接 起来,就可以直接得到要求的所有交点。在填充过程中,为每一条 扫描线建立相应的活性边表,它表示了该扫描线要求交点的那些边, 在实用中每一条边的活性边表的信息与上一条边的活性边表的信息 有继承性,再结合ET表使得建立十分方便。
4.2.2 扫描线填充算法

多边形的扫描转换算法

多边形的扫描转换算法

多边形的扫描转换算法概述多边形的扫描转换算法是计算机图形学中用于将多边形转换为像素的常用算法。

它通过扫描线的方式来确定多边形与像素的相交关系,并将多边形的内部区域填充为指定的颜色。

本文将详细介绍多边形的扫描转换算法的原理、步骤和应用。

原理多边形的扫描转换算法基于扫描线的概念,将多边形的边界线与一条水平线或垂直线进行比较,从而确定多边形的内部和外部区域。

算法的关键在于边界线的处理和内部区域的填充。

步骤多边形的扫描转换算法一般包括以下步骤:1.初始化扫描线的位置和内部区域的填充颜色。

2.遍历多边形的边界线,将其与扫描线比较,确定内部和外部区域。

3.根据内部区域的状态,进行填充颜色。

4.更新扫描线的位置,继续扫描下一条线段,直至完成对所有边界线的处理。

算法详解初始化扫描线在开始进行多边形的扫描转换之前,需要初始化扫描线的位置和内部区域的填充颜色。

一般情况下,扫描线的位置可以从多边形的最低点开始,逐渐向上扫描。

内部区域的填充颜色可以根据具体需求进行选择。

边界线处理多边形的边界线可以由多个线段组成,需要按照一定的顺序进行处理。

一种常用的处理方式是按照边界线的上端点的纵坐标从小到大排序,然后依次处理每条线段。

对于每条线段,通过比较线段的上端点和下端点的纵坐标与扫描线的位置,可以确定线段与扫描线的相交关系。

根据线段的斜率可以进一步确定线段与扫描线的交点。

内部区域填充确定了线段与扫描线的相交关系后,就可以确定内部和外部区域。

一般情况下,内部区域被定义为线段上方的区域,而外部区域被定义为线段下方的区域。

根据内部区域的状态,可以进行填充颜色。

如果内部区域是连续的,则可以使用扫描线的颜色进行填充。

如果内部区域有间隙,则需要采用其他填充算法,如边界填充算法或种子填充算法。

更新扫描线处理完当前线段后,需要更新扫描线的位置,继续扫描下一条线段。

一般情况下,扫描线的位置会逐渐向上移动,直至到达多边形的最高点。

应用多边形的扫描转换算法在计算机图形学中有广泛的应用。

计算机图形学——多边形的扫描转换(基本光栅图形算法)

计算机图形学——多边形的扫描转换(基本光栅图形算法)

计算机图形学——多边形的扫描转换(基本光栅图形算法)⼀、多边形扫描转换在光栅图形中,区域是由【相连的】像素组成的集合,这些像素具有【相同的】属性值或者它们位于某边界线的内部1、光栅图形的⼀个基本问题是把多边形的顶点表⽰转换为点阵表⽰。

这种转换成为多边形的扫描转换。

2、多边形的扫描转换与区域填充问题是怎样在离散的像素集上表⽰⼀个连续的⼆维图形。

3、多边形有两种重要的表⽰⽅法:(1)顶点表⽰:⽤多边形的定点序列来表⽰多边形优点:直观、⼏何意义强、占内存少、易于进⾏⼏何变换缺点:没有明确指出那些象素在多边形内,故不能直接⽤于上⾊(2)点阵表⽰:是⽤位于多边形内的象素集合来刻画多边形缺点:丢失了许多⼏何信息(eg:边界、顶点等)但是【点阵表⽰是光栅显⽰系统显⽰时所需的表现形式。

】多边形的扫描转换就是把多边形的顶点表⽰转换为点阵表⽰,即从多边形的给定边界出发,求出位于其内部的各个像素,并将帧缓冲器内的各个对应元素设置相应的灰度或颜⾊。

实际上就是多边形内的区域的着⾊过程。

4、多边形分类⼆、X扫描线算法X扫描线算法填充多边形的基本思想是按扫描线顺序,计算扫描线与多边形的相交区间,再⽤要求的颜⾊显⽰这些区间的象素,即完成填充⼯作。

区间的端点可以通过计算扫描线与多边形边界线的交点获得。

如扫描线y=3与多边形的边界相交于4点(2,3)、(4,3)、(7,3)、(9,3)这四个点定义了扫描线从x=2到x=4,从x=7到x=9两个落在多边形内的区间,该区间内像素应取填充⾊。

算法的核⼼是按x递增顺序排列交点的x坐标序列。

由此可得到扫描线算法步骤如下:算法步骤:1.确定多边形所占有的最⼤扫描线数,得到多边形定点的最⼩最⼤值(y min和y max);2.从y min到ymax每次⽤⼀条扫描线进⾏填充;3.对⼀条扫描线填充的过程分为四个步骤:a)求交点;b)把所有交点按递增顺序排序;c)交点配对(第⼀个和第⼆个,第三个和第四个);d)区间填⾊。

计算机图形学5多边形扫描转换和区域填充

计算机图形学5多边形扫描转换和区域填充
多边形的扫描转换与区域填充
可编辑ppt
1
一、多边形的扫描转换
前面讲的画直线是一维图形的光栅化,就是如何在计算机 屏幕上即在一个离散的像素集上表示一个连续的图形。而多 边形的扫描转换和区域填充这个问题是怎么样在离散的像素 集上表示一个连续的二维图形。
多边形有两种重要的表示方法:顶点表示和点阵表示。
P2
当扫描线与多边形顶点相 交时,会出现异常情况。
解决方案: (1)、若共享顶点的两条 边分别落在扫描线的两边, 交点只算一个;
y
12 11 10
9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10 11 12 x
与多边形顶点相交的交点的处理
(2)若共享顶点的两条边在扫描线的同一边,这 时交点作为零个或两个。
凸多边形 凹多边形 含内环的多边形
有关概念
1) 区域:一组相邻而且又相连的像素,而且具有 相同属性的封闭区域。 2)种类:①单域 ②复合域
3) 区域填充:以某种属性对整个区域进行设置的过
程。
可编辑ppt
6
逐点判断填充算法
区域填充的基本(初级)方法:逐点判断填充算法
逐点判断绘图窗口内的每一个像素; 若在区域的内部:用指定的属性设置该点; 否则不予处理;
光栅图形的一个基本问题是把多边形的顶点表示转换为点阵 表示。这种转换称为多边形的扫描转换。
为什么叫扫描转换?因为光栅显示器是逐行扫描!
区域填充:指先将区域的一点赋予指定的颜色,然后将该颜 色扩展到整个区域的过程。
可编辑ppt
4
多边形分为凸多边形、凹多边形、含内环的多边 形等: (1)凸多边形 任意两顶点间的连线均在多边形内。 (2)凹多边形 任意两顶点间的连线有不在多边形内的部分。

多边形的扫描转换算法、区域填充算法

多边形的扫描转换算法、区域填充算法

贵州大学计算机图形学实验报告学院:计算机科学与信息学院专业:软件工程班级:反映)根据扫描线的连贯性可知:一条扫描线与多边形的交点中,入点和出点之间所有点都是多边形的内部点。

所以,对所有的扫描线填充入点到出点之间的点就可填充多边形。

如何具体实现(如何找到入点、出点)?根据区域的连贯性,分为3个步骤:(1)求出扫描线与多边形所有边的交点;(2)把这些交点按x坐标值以升序排列;(3)对排序后的交点进行奇偶配对,对每一对交点间的区域进行填充。

步骤(3)如上图:对y=8的扫描线,对交点序列按x坐标升序排序得到的交点序列是(2,4,9,13),然后对交点2与4之间、9与13之间的所有象素点进行填充。

求交点、排序、配对、填色利用链表:与当前扫描线相交的边称为活性边(Active Edge),把它们按与扫描线交点x坐标递增的顺序存入一个链表中,称为活性边表AEL (AEL, Active Edge List)。

它记录了多边形边沿扫描线的交点序列。

AEL中每个对象需要存放的信息:ymax:边所交的最高扫描线;x:当前扫描线与边的交点;Δx:从当前扫描线到下一条扫描线之间的x增量next:指向下一对象的指针。

伪码:建立ET,置y为ET中非空桶的最小序号;置AEL表为空,且把y桶中ET表的边加入AEL表中;while AEL表中非空do begin对AEL表中的x、Δx按升序排列;按照AEL表中交点前后次序,在每对奇偶交点间的x段予以填充;计算下一条扫描线:y=y+1;if 扫描线y=ymax then 从AEL表中删除这些边;对在AEL表中的其他边,计算与下一条扫描线的交点:x=x +Δx 按照扫描线y值把ET表中相应桶中的边加入AEL表中;endend of algorithm二、区域填充算法:区域可采用两种表示形式:内点表示枚举区域内部的所有像素;内部的所有像素着同一个颜色;边界像素着不同的颜色。

边界表示:枚举出边界上所有的像素;边界上的所有像素着同一颜色;内部像素着不同的颜色。

多边形扫描转换与区域填充技巧

多边形扫描转换与区域填充技巧

Rotational method: Align each edge with the x axis
2020/11/22
多边形的扫描转换和区域填充技巧
11
多边形扫描转换
逐点判断算法 扫描线填充算法 边缘填充算法
2020/11/22
多边形的扫描转换和区域填充技巧
12
逐点判断算法
实现扫描转换多边形最简单的算法是逐 点判断,即判断一个像素是否在多边形 内部,是则填充颜色,否则放弃
ymax
2020/11/22
ymin xmin
多边形的扫描转换和区域填充技巧
xmax
6
ymax
ymin 如何完成填充
的?? xmin
xmax
如何实现算法??
ymax
填充前 填充后
2020/11/22
ymin xmin
多边形的扫描转换和区域填充技巧
xmax
7
矩形扫描转换算法
FillRect(Rect *rect, int color) { int x,y; for (y=rect->ymin;y<=rect->ymax,y++)
第5章
2020/11/22
多边形的扫描转换和区域填充技巧
提出问题
上一章讲述了如何生成点、线和圆等 基本几何构造。
本章重点如何在指定的输出设备上构 造多边形域、像素数组等高级图元
2020/11/22
多边形的扫描转换和区域填充技巧
2
主要内容 主要内容
矩形填充 内外测试 多边形扫描转换 区域填充 多边形扫描转换与区域填充的区别 反走样
2020/11/22
多边形的扫描转换和区域填充技巧

计算机图形学:Lecture 5 多边形的扫描转换及区域填充

计算机图形学:Lecture 5 多边形的扫描转换及区域填充

计算过程
ET:按照每条边y坐标最小值进行排序,并把排序的边按 顺时针顺序加入到对应的扫描线指针中。
计算过程
每条扫描线的AET
边缘填充算法
即假设屏幕上某区域内像素的颜色为M,则对该区域内 像素颜色作偶数次求余运算后,该区域内像素的颜色保 持不变;而做奇数次求余运算后,该区域内像素的颜色 变为M的余。
for (y=rect->ymin;y<=rect->ymax;y++)
LineCoord(xmin,y,xmax,y);
}
多边形扫描转换
•逐点判断算法 •扫描线填充算法 •边缘填充算法
逐点判断算法
实现扫描转换多边形的最简单方法就是逐点判断,即对 屏幕上的每个像素进行判断,确定它们是否在多边形区 域内部,从而求出位于多边形区域内的像素的集合。
可能出现的问题
算法是对每一对交点之间的所有像素进行填充的,因此交点的个数必须是偶数才能保 证填充的正确性。而当扫描线恰好通过多边形的顶点(称为奇异点)时,不适当地计 数就会造成错误 。 例如:对于顶点4,如果只计一次交点,产生错误。
顶点2、6,如果重复计算交点次数,产生错误。
解决方法
规则:当扫描线与多边形顶点相交时,若交点相连边的y 值是单调递增或单调递减的,则填充时只记一个交点; 若交点相连边的y值在局部形成最大值或最小值,则填充 时记下两个交点。
④如果这些扫描线既不包含边界像素,也不包含已填充的像素,则在 xLeft<x<xRight中,把每一像素段的最右像素取作为种子像素,并压入 堆栈;
for (i=1; i<=n; i++) for (x=xi; x<max; x++)

计算机图形学实验报告-多边形的扫描转换与区域填充

计算机图形学实验报告-多边形的扫描转换与区域填充

计算机科学与技术学院2013-2014学年第一学期《计算机图形学》实验报告班级:学号:姓名:教师:成绩:实验项目(2、多边形的扫描转换与区域填充)一、实验目的与要求(1)了解多边形扫描转换的各种算法,掌握多边形的扫描转换与区域填充算法。

(2)进一步掌握在VC集成环境中实现图形算法的方法与过程。

二、实验内容设计菜单程序,利用消息处理函数,完成以下要求:(1)给出凸多边形的若干顶点(3 ~ 5个),实现多边形的“x扫描算法”。

(2)实现种子填充,泛填充算法(四邻法)。

(3)设计程序,实现判断一个点是否在多边形区域内部。

三、重要算法分析(一)边界表示的四连通区域种子填充算法此方法的基本思想是,从多边形内部任一像素出发,按照“左上右下”的顺序判断相邻像素,若不是边界像素且没有被填充过,则对其填充,并且重复上述过程,直到所有像素填充完毕。

(1)从种子点出发,向左判断多边形内部颜色,如果不是填充颜色并且不是边界颜色,则填充,直到遇到边界为止。

(2)从种子点出发,向右判断多边形内部颜色,如果不是填充颜色并且不是边界颜色,则填充,直到遇到边界为止。

(3)将种子点的坐标y值上移一个像素,重复步骤(1)、(2)直到遇到上面边界为止。

(4)将种子点的坐标y值下移一个像素,重复步骤(1)、(2)直到遇到上面边界为止。

(二)判断一个点是否在多边形内部解决方案是将测试点的y坐标与多边形的每一个点进行比较,我们会得到一个测试点所在的行与多边形边的交点的列表。

如果测试点的两边点的个数都是奇数个则该测试点在多边形内,否则在多边形外。

如图1所示,判断点(红点)y值左边与多边形有5个交点,右边与多边形有3个交点,则该点在多边形内部。

图1如图2所示,判断点(红点)y值左边与多边形有2个交点,右边与多边形有2个交点,则该点在多边形外部。

图2但是有一种特殊情况须特别处理一下,当与多边形顶点相交时,需要将改点计算为两个交点,如图3所示:图3四、程序运行截图1.种子四连通域填充法,如图4所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 多边形扫描转换——x-扫描线算法 x-扫描线算法填充多边形基本思路:
扫描线与x轴平行。按照扫描顺序,计算每一条扫描线与多边 形的相交区间,用指定颜色显示区间内的像素。区间的端点 可以通过计算扫描线与多边形边界线的交点获得。 x-扫描线算法可以填充凸、凹多边形,也可填充中间有空的 多边形。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
多边形扫描转换——x-扫描线算法
x-扫描线算法涉及的问题: 一、扫描线与多边形边界交点的 有效性判别; 扫描线y=5与AB边有无效交点k, 在做求交运算之前,判断该扫 描线的y坐标不在点A和点B的y 坐标之间,不做求交运算。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域填充——边界填充算法
栈结构实现4-连通边界填充算法步骤: (1)种子像素入栈; (2)栈顶象素出栈; (3)将出栈象素置成填充色; (4)检查出栈象素的4-邻接点,若其中某个象素点不是边 界色且未置成多边形色,则把该象素入栈。 (5)检查栈是否为空,若非空,则执行步骤(2),若为 空,则结束。 4-连通边界填充.SWF
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 填充算法——边缘填充算法
“边缘填充算法的过程.SWF”演示了边缘填充算法的实现过 程。 该算法的优点是简单,缺点是对于复杂图形,每一像素可 能要访问多次,效率降低。
广东工业大学机电学院图学与数字媒体工程系
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 填充算法——边标志填充算法
边标志算法的实现步骤: 三、填充。至下而上完成扫描后,将所有inside值为true的像 素点集的颜色置换为填充色,完成多边形填充。 “边标志.SWF”演示了边标志算法实现的过程。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 区域填充
区域填充针对以像素点阵(即多边形内部的像素的集合) 表示的区域的填充。 区域填充的思路为:从区域内的一个点(种子点)开始, 由内向外将填充色扩展到整个区域。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域填充
与区域填充相关的概念: 边界表示——把位于边界的像素一一列举出来,即区域边界 上的像素用同一种颜色着色。 4-连通区域和8-连通区域——确定了区域内点的邻接方式。
以4-邻接点定义的区域称为4连通区域;以8-邻接点定义 的区域称为8-连通区域。
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
大多数的图形系统采用顶点序列表示多边形。为解决这种表 示法“没有明确位于多边形内部的像素集合,所以不能直接 用于面着色”的问题,需要有从多边形顶点表示到点阵表示 的转换。这种转换称为多边形扫描转换。 多边形扫描转换即多边形的填充,需要从多边形的顶点信息 出发,求出位于多边形内部的各个像素点,并将其颜色写入 帧缓存的相应单元中。 二维多边形的扫描转换是三维立体面着色的基础。
通常用确定穿越多边形区域的扫描线的覆盖区域的方 法来填充多边形。
用从给定的位置开始涂描直到指定的边界条件为止的 方法来填充以像素点阵表示的区域。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域的表示法
以多边形定义的区域用 多边形的顶点序列来定 义边界。这种方法直观, 几何意义强,占用内存 小。但是由于没有明确 位于多边形内部的像素 集合,所以不能直接用 于面着色。
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
填充算法——边标志填充算法
边标志算法是边缘填充算法的优化实现。 边标志算法的实现步骤: 一、边标记。首先对多边形的每一条边进行直线的扫描转换, 然后给扫描转换后得到的像素添加边标记。 二、点标记。对每一个像素使用一个布尔值inside指示当前状 态,inside初值为false。每条扫描线依从左到右的顺序扫描。 遇到被标记过的点后, inside值取反,直至遇到下一个被标 记点为止。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域填充——泛填充算法
泛填充算法通常用于给区域重新着色。要求原多边形内部有 与背景不同的颜色。 该算法要求确定种子点、填充色和原多边形内部点的颜色。 算法从种子点开始,按照4-连通或8-连通定义搜索邻接点, 用填充色置换内部点的颜色,实现多边形的重新着色。 泛填充通常也应用栈操作来实现。 8-连通泛填充.SWF
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础
多边形扫描转换及区域填充
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
计算机图形学一个重要问题是在一个区域的内部填上 不同的图案、灰度或色彩。
计算机图形学领域所说的区域分为两类:一类是以顶 点和边界界定的多边形;一类是以像素点阵(即多边 形内部的像素的集合)表示的区域。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域填充——边界填充算法
算法步骤:用户确定边界颜色;确定填充色和填充模式 (4-连通或8-连通边界填充算法);指定内部点(种子 点),按规则搜索当前点的4-邻接点或8-邻接点,若这些 点非边界色,也非指定填充色,则置换该点的颜色为填充 色,直至完成多边形内部填充。 边界填充算法不要求区域内、外颜色不同,即原多边形内 部可以为背景色。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
多边形扫描转换——x-扫描线算法
x-扫描线算法涉及的问题:
y
二、扫描线与多边形顶点相交时 12
交点的取舍问题;
11
10
情况1、共享顶点的两条边分别落
9 8
在扫描线两侧时,交点记为1个。 7
6
情况2、共享顶点的两条边位于扫 描线同侧,交点记为0个或2个。
4-邻接点
8-邻接点
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 区域填充
与区域填充相关的概念: 栈——栈是一种数据项按序排列的数据结构,只能在一端(称 为栈顶(top))对数据项进行插入和删除的操作。对栈内数据的 操作遵循后进先出(Last-In/First-Out) 的原则。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域的表示法
点阵表示用位于多边形内部的 像素的集合来刻画多边形。这 种表示法失去了多边形重要的 几何信息(如顶点、几何边界 等),但便于用帧缓存表示图 形,是面着色所需要的图形表 示形式。
广东工业大学机电学院图学与数字媒体工程系
5 4 3
2
“X-扫描线算法填充.SWF”演示 1
x-扫描线算法实现的过程。
1 2 3 4 5 6 7 8 9 10 11 12 x
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 填充算法——边缘填充算法
边缘填充算法的基本思想是逐边向右求补。可以按任意顺 序处理多边形的每一条边。在处理每一条边时,首先求出 该边与扫描线的交点,然后将每一条扫描线上交点右方的 所有像素点取补(若这些点为背景色,则置换为填充色; 若这些点为填充色,则置换为背景色)。 多边形的所有边处理完毕后,填充完成。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
多边形扫描转换——x-扫描线算法
算法的实现步骤:
一、确定多边形所有顶点的 ymax和ymin,得到扫描的范围 和最大扫描线数; 二、求交:扫描线与多边形各 边求交点,并确定交点的有效 性; 三、排序:将所有有效交点按 x坐标的大小排序;
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
多边形扫描转换——x-扫描线算法
算法的实现步骤:
y
四、交点配对:奇数序号和偶 数序号的交点配对;
12 11 10
五、区间填色:将位于一对交 点之间的像素置换成指定颜色。
9 8 7
6
5
4ቤተ መጻሕፍቲ ባይዱ
3
2
1
1 2 3 4 5 6 7 8 9 10 11 12 x
相关文档
最新文档