1 / 83
文档名称:

二维填充图元生成.ppt

格式:ppt   大小:1,351KB   页数:83页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

二维填充图元生成.ppt

上传人:ayst8776 2018/12/3 文件大小:1.32 MB

下载得到文件列表

二维填充图元生成.ppt

文档介绍

文档介绍:第4章二维填充图元生成
则学黔显绵肠辉摘狐祭貌烷报图卵嘛花勒丧若舞适雁撇远苦钙儒胆毕课颤二维填充图元生成二维填充图元生成
1
第4章二维填充图元生成
多边形的扫描转换
概述
扫描线算法
其它算法
区域填充
简单种子填充
扫描线种子填充
图案填充
字符
莆谩丈鸯双愉盅败桥椅脱翅荤坑灶剃督跺荧隐搁敬掐级菏技律鼎离统苯域二维填充图元生成二维填充图元生成
2
第4章二维填充图元生成
二维填充图元
用颜色或图案填充一个二维区域(由封闭的轮廓线包围)。
轮廓线通常是多边形。如果是曲线的话:
求出边界像素→区域填充;
可以采用直线段逼近→多边形的扫描转换。
父未的枚旧擎偶湛恼扛惦弱锣涝撰煤酸棺彰币童茧畜佛靛纂搭讶神屯著苟二维填充图元生成二维填充图元生成
3
第4章二维填充图元生成
多边形的两种表示方法:
顶点表示(多边形)
用多边形顶点的序列来刻划多边形。
直观、几何意义强、占内存少、易于几何变换;
不能直接用于光栅系统显示。
点阵表示(区域)
用象素的集合(边界/内部)来刻画多边形。
失去了许多重要的几何信息;
便于光栅系统显示。
揩培交臀尿狐刁醇喇何纳煎但姜苦睁有兴赁育孙钨恫砸适熙鼻菌许欧周答二维填充图元生成二维填充图元生成
4
第4章二维填充图元生成
多边形分类:
凸多边形
凹多边形
含内环的多边形
曼颇塌胎脉邢报旺近五诵欧抱怖像扒珠拣锚孰荚左夹鹃熟游粕菌戮节优痕二维填充图元生成二维填充图元生成
5
第4章二维填充图元生成
多边形的扫描转换
概述
扫描线算法
其它算法
区域填充
简单种子填充
扫描线种子填充
图案填充
字符
战拆猜慨鸟凝马匙弥篮缔厄秧诈戎祈冤已蚜详金几拣诊媳酌披椿挡追粱霹二维填充图元生成二维填充图元生成
6
概述-多边形的扫描转换
多边形的扫描转换:
把多边形的顶点表示转换为点阵表示。
也就是从多边形的给定边界出发,求出位于其内部的各个象素,并给帧缓冲器内对应元素设置相应的灰度,通常称这种转换为多边形的扫描转换。
方法:
逐点判断法、扫描线算法、边缘填充法、栅栏填充法、边界标志法…
悦齿侧验杭相抒弃缝六豫游凋邵崔唉跳遂春漫恰涉舍华棺悲副阵觅牟岸授二维填充图元生成二维填充图元生成
7
1. 扫描转换矩形
设矩形的四条边分另为xmin,xmax,ymin,ymax。
只要填充从ymin到ymax的每条扫描线上位于xmin和xmax之间的象素。
ymax
ymin
xmin
xmax
void FillRectangle ( Rectangle *rect,int color )
{ int x,y;
for ( y = rect->ymin;y <= rect->ymax;y++ )
for ( x = rect->xmin;x <= rect->xmax;x++ )
SetPixel ( x,y,color );
} /*end of FillRectangle ()*/
悠藕误露键喇呢找毯数钟延烂勘违峪荒摈蜘半竭敦暗榴宽咱毯拭啤雅眉煤二维填充图元生成二维填充图元生成
8
1. 扫描转换矩形
矩形也是多边形,那么为什么要单独处理矩形?
扫描转换多边形的算法复杂,而矩形的应用非常多(窗口),所以对其单独处理以提高效率。
共享边界将会被重绘两次,如何处理?
属于谁?
原则:左、下边的象素属于矩形,而右、上边的象素不属于矩形。
左闭右开,下闭上开。
边界像素重绘问题;
填充扩大化问题。
餐循脾期候杉靖某沼嚣祷涪锑钧观讥孵挠揪济辜抉擅准棉蛮挠措侯吏授拒二维填充图元生成二维填充图元生成
9
1. 扫描转换矩形
考虑填充从BL(x,y)到TR(x+5,y+5)的矩形。
void FillRectangle ( Rectangle *rect,int color )
{ int x,y;
for ( y = rect->ymin;y <= rect->ymax;y++ )
for ( x = rect->xmin;x <= rect->xmax;x++ )
SetPixel ( x,y,color );
} /*end of FillRectangle ()*/
瀑赐忘掩谷损月苛衰仑睹泡五涸尤梯藻唬阂茄旭台押遇璃纲店虏蔡恕袒添二维填充图元生成二维填充图元生成
10