- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
y-x有效边表填充算法
有效边表填充算法
一、实验目的与要求:
设计有效边表节点和边表节点数据结构
二、实验描述:
使用有效边算法填充示例多边形
三、实验结果:
四、算法设计:
创建菜单栏,添加函数。
在VC++的class view 界面,新建两个类,VET和Bucket。其中AET类用于建立有效边表和边表节点,Bucket类用来建立桶节点。
AET.h文件。
class AET
{
public:
AET();
virtual ~AET();
double x;
int yMax;
double k;
AET *next;
};
Bucket.h文件
#include AET.h
class Bucket
{
public:
Bucket();
virtual ~Bucket();
int ScanLine;
AET *p;
Bucket *next;
};
CExp2View.h文件。其中添加了成员变量和函数的声明,以及库的导入。
#include AET.h
#include Bucket.h
#define Number 7
添加的成员变量和函数声明如下:
public:
void PolygonFill();
void CreatBucket();
void Et();
void AddEdge(AET *);
void EdgeOrder();
protected:
COLORREF GetColor;
CPoint Point[7];
Bucket *HeadB,*CurrentB;
AET E[Number],*HeadE,*CurrentE,*T1,*T2;
CExp2View.cpp文件。包含构造方法、OnDraw方法和其他成员方法的描述
#define ROUND(a) int(a+0.5)
CExp2View::CExp2View()
{
// TODO: add construction code here
Point[0] = CPoint(500,400);
Point[1] = CPoint(350,600);
Point[2] = CPoint(250,350);
Point[3] = CPoint(350,50);
Point[4] = CPoint(500,250);
Point[5] = CPoint(600,50);
Point[6] = CPoint(800,450);
}
void CExp2View::OnDraw(CDC* pDC)
{
CExp2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC-TextOut(505,410,P0);
pDC-TextOut(340,600,P1);
pDC-TextOut(230,350,P2);
pDC-TextOut(360,50,P3);
pDC-TextOut(490,225,P4);
pDC-TextOut(610,50,P5);
pDC-TextOut(800,450,P6);
}
void CExp2View::OnMenuAET()
{
// TODO: Add your command handler code here
AfxGetMainWnd()-SetWindowText(?à±?D?ì?3?£oóDD§±???·¨);
CColorDialog ccd(GetColor);
if(ccd.DoModal() == IDOK)
GetColor = ccd.GetColor();
RedrawWindow();
CreatBucket();
Et();
PolygonFill();
}
void CExp2View::CreatBucket()
{
int ScanMin,ScanMax;
ScanMax = ScanMin = Point[0].y;
for(int i=1;iNumber;i++)
{
if(Point[i].yScanMin)
ScanMin = Point[i].y;
if(Point[i].yScanMax)
ScanMax = Point[i].y;
}
for(i=ScanMin;iScanMax;i++)
{
if(ScanMin == i)
{
HeadB = new Bucket;
CurrentB = HeadB;
CurrentB-ScanLine = ScanMin;
CurrentB-p
您可能关注的文档
- 人教版选修9单词.doc
- 专升本英语资料-词汇速记(培训机构内部资料).doc
- 2篇阅读选词练习及4篇仔细阅读.doc
- 懂了它 六级必过.doc
- Unit test 新标准大一第三册读写答案.doc
- 江苏省启东市陈兆民中学八年级物理下册《第八章 第2节 二力平衡》学案.doc
- 2013年12月CET4真题(三).docx
- java类HashMap解析.doc
- 第12讲.生活中的圆周运动-学生版.doc
- Bbg儿童品牌系列.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
最近下载
- 把握高考,精致备考——2024届语文备考策略 课件.pptx VIP
- 新生儿肺透明膜病个案.pptx VIP
- 2024年国家电网招聘之财务会计类题库附参考答案(轻巧夺冠).docx
- 2023-2024学年牛津上海版英语八年级上学期单元测试提升卷 Unit 3Trouble含详解.docx VIP
- 最新老年病的临床特征及其诊治原则PPT课件.ppt
- 2023-2024学年牛津上海版英语八年级上学期单元测试基础卷 Unit 3 Trouble含详解.docx VIP
- 2024年高考英语3500词汇朗读加例句.pdf
- 老年病的临床特征及其诊治原则课件.pptx VIP
- “双带头人”教师党支部书记工作室申报书.docx VIP
- BIM技术与应用-Revit 2023建筑与结构建模-课件全套-第1--17章BIM概述-综合案例.pptx
文档评论(0)