展会信息港展会大全

计算机图形学-光栅图形学
来源:互联网   发布日期:2011-10-05 21:53:04   浏览:4666次  

导读: 2.3多边形的扫描转换与区域填充 多边形的扫描转换 边界标志算法 边界标志算法的基本思想是:在帧缓冲器中对多边形的每条边进行直线扫描转换,亦即对多边形边界所经过的象素打上标志。然后再采用和扫描线算法类似的方法将位于多边形内的各个区段着上所需颜色...

 

2.3 多边形的扫描转换与区域填充

多边形的扫描转换

  边界标志算法

    边界标志算法的基本思想是:在帧缓冲器中对多边形的每条边进行直线扫描转换,亦即对多边形边界所经过的象素打上标志。然后再采用和扫描线算法类似的方法将位于多边形内的各个区段着上所需颜色。对每条与多边形相交的扫描线依从左到右的顺序,逐个访问该扫描线上的象素。使用一个布尔量inside来指示当前点是否在多边形内的状态。Inside的初值为假,每当当前访问的象素为被打上边标志的点,就把inside取反。对未打标志的象素,inside不变。若访问当前象素时,inside为真,说明该象素在多边形内,则把该象素置为填充颜色。

边界标志算法:

void edgemark_fill(polydef, color)

多边形定义 polydef; int color;

{  对多边形polydef 每条边进行直线扫描转换;

   inside = FALSE;

   for (每条与多边形polydef相交的扫描线y )

   for (扫描线上每个象素x )

   { if(象素 x 被打上边标志)inside = ! (inside);

     if(inside!= FALSE)     drawpixel (x, y, color);

     else    drawpixel (x, y, background);

   }

}

图2.3.6 正方形内切n个圆的边界标志算法

    用软件实现时,扫描线算法与边界标志算法的执行速度几乎相同,但由于边界标志算法不必建立维护边表以及对它进行排序,所以边界标志算法更适合硬件实现,这时它的执行速度比有序边表算法快一至两个数量级。

页首

[上一页] [练习题] [下一页] [返回]

赞助本站

人工智能实验室

相关热词: 计算机 图形 光栅

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港