实验二有效边表填充算法

实验二有效边表填充算法

ID:41613296

大小:72.48 KB

页数:4页

时间:2019-08-28

实验二有效边表填充算法_第1页
实验二有效边表填充算法_第2页
实验二有效边表填充算法_第3页
实验二有效边表填充算法_第4页
资源描述:

《实验二有效边表填充算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二有效边表填充算法1•实验目的:设计有效边表结点和边表结点数据结构设计有效边表填充算法编程实现有效边表填充算法2•实验描述:下图1所示多边形覆盖了12条扫描线,共有7个顶点和7条边。7个顶点分别为:P0(7,8),P1(3,12),P2(1,7),P3(3,1),P4(6,5),P5(8,1),P6(12,9)。在1024X768的显示分辩率下,将多边形顶点放大为P0(500,400),P1(350,600),P2(250,350),P3(350,50),P4(500,250),P5(600,50),P6(80

2、0,450)。请使用有效边表算法填充该多边形。图1示例多边形p3P5Pl图2屏幕显示多边形1•算法设计:2.源程序:1)〃AET・h和AET・・cppclassAET{}2)//Bucket.h和Bucket.cppclassBucket{}3)//TestView.hinclude”AET.h"〃包含有效边表类include”Bucket.h”〃包含桶类#defineNumber7//N为闭合多边形顶点数,顶点存放在整型二维数组Point[N冲classCTestView:publicCViewpublic:vo

3、idPolygonFill();//±闭下开填充多边形voidCreatBucket();//建立桶结点桶voidEt();〃构造边表voidAddEdge(AET*);//将边插入AET表voidEdgeOrder();//7^AET表进行排序protected:COLORREFGetColor;//调色板CPointPoint⑺;〃定义多边形Bucket*HeadB,*CurrentB;//ffi的头结点和当前结点AETE[Number],*HeadE,*CuiTentE,*Tl,*T2;〃有效边表的结点1)/

4、/TestView.cppCTestView::CTestView(){〃设置多边形的7个顶点Point[0]=CPoint(550,400);//P0Point[l]=CPoint(350,600);//PlPoint[2]=CPoint(250350);//P2Point[3]=CPoint(350^0);//P3Point[4]=CPoint(500,250);//P4Point[5]=CPoint(600,50);//P5Point[6]=CPoint(800,450);//P6}voidCTestView

5、::OnDraw(CDC*pDC){CTestDoc*pDoc=GetDocument();ASSERT.VALID(pDoc);pDC・>Polygon(Point,7);〃绘制多边形〃输出多边形的顶点编号pDC->TextOut(550,410,HP0M);pDC->TextOut(350,600,,,Pr,);pDC->TextOut(230,340,MP2H);pDC->TextOut(350,30,nP3H);pDC->TextOut(490,220,nP4M);pDC->TextOut(600,30,H

6、P5n);pDC->TextOut(805,450,HP6M);}voidCTestView::OnMenuAET()〃菜单函数{AfXGetMainWnd()->SetWindowText(H多边形有效边表填充算法”);//显示标题CColorDialogccd(GetColor);if(ccd.DoModal()==IDOK)//调用调色板选取前景色{GetColor=ccd.GetColor();}RedrawWindow();〃刷新屏幕CreatBucket();〃初始化桶Et();〃建立边表Polygon

7、FilK);//多边形填充}voidCTestView::CreatBucket()//^始化桶{}voidCTestView::Et()//构造边表{}voidCTestView::AddEdge(AET*NewEdge)//插入临时边表函数{}voidCTestView::EdgeOrder()//对边表进行排序函数{}voidCTestView::PolygonFill()//多边形填充函数5•运行结果:(屏幕截图)

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

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

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