5.1.2边填充算法 1.原理描述 边填充算法的基木思想:对于每一条 扫描线和每条多边形边的交点(x1,y1), 将该扫描线上交点右方的所有像素取补 对多边形的每条边作此处理,多边形的顺 序随意。如图5.1.6是一个简单边填充算法 的示意图
5.1.2 边填充算法 1.原理描述 边填充算法的基本思想:对于每一条 扫描线和每条多边形边的交点(x1,y1), 将该扫描线上交点右方的所有像素取补。 对多边形的每条边作此处理,多边形的顺 序随意。如图5.1.6是一个简单边填充算法 的示意图
P4 PI P2P3 P3P4 P4P5 PSP1 图5.1.6边填充算法示意图
P1 P2 P3 P4 P5 P2P3 P3P4 P4P5 P5P1 图5.1.6 边填充算法示意图
边填充算法最适用于具有帧缓冲器的图形系 统,按任意顺序处理多边形的边。在处理每条边 时,仅访问与该边有交的扫描线上交点右方的像 素。当所有的边都被处理之后,按扫描线顺序读 出帧缓冲器的内容,送入显示设备。该算法的 简单,缺点是对于复杂图形,每一像素可能 被访问多次,输入输出的量也比较大 为了减少边填充算法访问像素的次数,可引 入栅栏。所谓栅栏指的是一条与扫描线垂直的直 线,栅栏位置通常取过多边形顶点、且把多边形 分为左右两半。栅栏填充算法的基本思想是:对 于每条扫描线与多边形边的交点,就将交点与栅 栏之间的像素取补。若交点位于栅栏左边,则将 交点置右,栅栏之左的所有像素取补;若交点 于栅栏右边,则将栅栏置右,交点之左的像素取 补。图5.1.7是采用栅栏填充算法的示意图。栅栏 填充算法只是减少了被重复访问像素的次数,但 仍有一些像素会被重复访问
边填充算法最适用于具有帧缓冲器的图形系 统,按任意顺序处理多边形的边。在处理每条边 时,仅访问与该边有交的扫描线上交点右方的像 素。当所有的边都被处理之后,按扫描线顺序读 出帧缓冲器的内容,送入显示设备。该算法的优 点是简单,缺点是对于复杂图形,每一像素可能 被访问多次,输入输出的量也比较大。 为了减少边填充算法访问像素的次数,可引 入栅栏。所谓栅栏指的是一条与扫描线垂直的直 线,栅栏位置通常取过多边形顶点、且把多边形 分为左右两半。栅栏填充算法的基本思想是:对 于每条扫描线与多边形边的交点,就将交点与栅 栏之间的像素取补。若交点位于栅栏左边,则将 交点置右,栅栏之左的所有像素取补;若交点位 于栅栏右边,则将栅栏置右,交点之左的像素取 补。图5.1.7是采用栅栏填充算法的示意图。栅栏 填充算法只是减少了被重复访问像素的次数,但 仍有一些像素会被重复访问
栅栏线 P4 PI P2P3 P3P4 P4P5 PSPI 图517栅栏填充算法示意图
P1 P2 P3 P4 P5 P2P3 P3P4 P5P1 栅栏线 P4P5 图5.1.7 栅栏填充算法示意图
444444444 44444 444444 5q d4已82 中44444 小以以以以 4444 4444444414 012345 678901234567894 边标志1 Inside.为真,hide.为假 图518边标志算法示意图