实验二:图形填充算法实验报告

实验二:图形填充算法实验报告

ID:39925062

大小:70.50 KB

页数:4页

时间:2019-07-15

实验二:图形填充算法实验报告_第1页
实验二:图形填充算法实验报告_第2页
实验二:图形填充算法实验报告_第3页
实验二:图形填充算法实验报告_第4页
资源描述:

《实验二:图形填充算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《计算机图形学》实验报告(实验二:图形填充算法)一、实验目的及要求用两种方法做图形的填充算法!二、理论基础1.边填充算法对于每一条扫描线和每条多边形的交点(x1,y1),将该扫描线上的交点右方的所有像素取补。2.种子填充算法利用栈来实现种子填充算法。种子像素入栈,当栈非空时重复执行如下步骤:将栈顶像素出栈,将出栈像素置成多边形色,按左,上,右,下顺序检查与出栈像素相邻的四个像素,若其中某个像素不再边界且未置成多边形,则把该像素入栈!三、算法设计与分析1、边填充算法voidCEdge_mark_fillView::OnDraw(CDC*

2、pDC){CEdge_mark_fillDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);intd[500][500]={0};intinside;intx,y;Bresenham(80,101,100,400,d);Bresenham(100,300,290,400,d);Bresenham(292,400,382,50,d);Bresenham(380,50,202,150,d);Bresenham(200,150,82,101,d);for(y=0;y<500;y++){inside=0;for

3、(x=0;x<500;x++){if(d[x][y]==1)if(d[x+1][y]!=1){inside=!(inside);}if(inside!=0)pDC->SetPixel(x,y,12);}}}2、种子填充intx=299,y=51;COLORREFoldcolor;COLORREFnewcolor;oldcolor=RGB(256,256,256);newcolor=RGB(123,123,123);pDC->MoveTo(40,40);pDC->LineTo(80,40);pDC->LineTo(70,80);pDC-

4、>LineTo(40,40);FloodFill(51,51,RGB(255,255,255),RGB(0,0,255));pDC->LineTo(40,40);voidCMyView::FloodFill(intx,inty,COLORREFoldcolor,COLORREFnewcolor){CDC*pDC;pDC=GetDC();if(pDC->GetPixel(x,y)==oldcolor){pDC->SetPixel(x,y,newcolor);FloodFill(x,y-1,oldcolor,newcolor);Flood

5、Fill(x,y+1,oldcolor,newcolor);FloodFill(x-1,y,oldcolor,newcolor);FloodFill(x+1,y,oldcolor,newcolor);}四、程序调试及结果的分析1、2、一、实验心得及建议由于很多不会,所以这次没能按时当堂完成,下来花了不少时间才弄出来,第二种尤其比较麻烦,在同学的帮助下才做出来了。种子填充算法适用性大,但是运行较慢。没有边填充算法简便!姓名班级学号实验日期指导教师实验成绩评语:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。