资源简介
多边形的区域填充
学时:2
实验类型:设计性
实验类别:专业实验
实验目的
1. 通过实验,进一步理解和掌握几种常用多边形填充算法的基本原理
2. 掌握多边形区域填充算法的基本过程
3. 掌握在C/C++环境下用多边形填充算法编程实现指定多边形的填充。
实验设备及实验环境
计算机(每人一台)
VC++6.0或其他C/C++语言程序设计环境
实验学时:2学时
实验内容
用种子填充算法和扫描线填充算法等任意两种算法实现指定多边形的区域填充。
实验步骤
1. 复习有关算法,明确实验目的和要求;
2. 依据算法思想,绘制程序流程图(指定填充多边形);
3. 设计程序界面,要求操作方便;
4. 用C/C++语言编写源程序并调试、执行(最好能用动画显示填充过程);
5. 分析实验结果
6. 对程序设计过程中出现的问题进行分析与总结;
7. 打印源程序或把源程序以文件的形式提交;
8. 按格式要求完成实验报告。
实验报告要求:
1. 分析算法的工作原理;
2. 画出算法的流程图
3. 实验结果及分析(比较两种算法的不同)
4. 实验总结(含问题分析及解决方法)
代码片段和文件信息
// MainFrm.cpp : implementation of the CMainframe class
//
#include “stdafx.h“
#include “zhztch.h“
#include “MainFrm.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainframe
IMPLEMENT_DYNCREATE(CMainframe CframeWnd)
BEGIN_MESSAGE_MAP(CMainframe CframeWnd)
//{{AFX_MSG_MAP(CMainframe)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code !
ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR // status line indicator
ID_INDICATOR_CAPS
ID_INDICATOR_NUM
ID_INDICATOR_SCRL
};
/////////////////////////////////////////////////////////////////////////////
// CMainframe construction/destruction
CMainframe::CMainframe()
{
// TODO: add member initialization code here
}
CMainframe::~CMainframe()
{
}
int CMainframe::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CframeWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this TBstyle_FLAT WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINframe))
{
TRACE0(“Failed to create toolbar\n“);
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators
sizeof(indicators)/sizeof(UINT)))
{
TRACE0(“Failed to create status bar\n“);
return -1; // fail to create
}
// TODO: Delete these three lines if you don‘t want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return 0;
}
BOOL CMainframe::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CframeWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainframe diagnostics
#ifdef _DEBUG
void CMainframe::AssertValid() const
{
CframeWnd::AssertValid();
}
void CMainframe::Dump(CDumpContext& dc) const
{
CframeWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainframe message handlers
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 75264 2012-01-15 12:59 多边形的区域填充.doc
文件 2365 2012-01-01 05:24 种子和扫描线填充算法\zhztch.clw
文件 1356 2007-06-25 15:50 种子和扫描线填充算法\zhztch.h
文件 1054 2007-06-25 15:50 种子和扫描线填充算法\StdAfx.h
文件 1581 2007-06-25 15:50 种子和扫描线填充算法\MainFrm.h
文件 1475 2007-06-25 15:50 种子和扫描线填充算法\zhztchDoc.h
文件 1742 2007-06-25 15:50 种子和扫描线填充算法\zhztchDoc.cpp
文件 4555 2007-06-25 15:50 种子和扫描线填充算法\zhztch.dsp
文件 230400 2012-01-01 05:24 种子和扫描线填充算法\zhztch.ncb
文件 1110 2012-01-01 03:31 种子和扫描线填充算法\zhztch.plg
文件 535 2007-06-25 15:50 种子和扫描线填充算法\zhztch.dsw
文件 4209 2007-06-25 15:50 种子和扫描线填充算法\zhztch.cpp
文件 208 2007-06-25 15:50 种子和扫描线填充算法\StdAfx.cpp
文件 4311 2007-06-25 15:50 种子和扫描线填充算法\ReadMe.txt
文件 2507 2007-06-25 15:50 种子和扫描线填充算法\MainFrm.cpp
文件 11895 2012-01-01 03:24 种子和扫描线填充算法\zhztch.rc
文件 734 2012-01-01 03:24 种子和扫描线填充算法\Resource.h
文件 29272 2012-01-01 05:22 种子和扫描线填充算法\zhztch.aps
文件 2170 2012-01-01 03:27 种子和扫描线填充算法\zhztchView.h
文件 7838 2012-01-01 03:31 种子和扫描线填充算法\zhztchView.cpp
文件 51712 2012-01-01 05:24 种子和扫描线填充算法\zhztch.opt
文件 398 2007-06-25 15:50 种子和扫描线填充算法\res\zhztch.rc2
文件 1078 2007-06-25 15:50 种子和扫描线填充算法\res\zhztchDoc.ico
文件 1078 2007-06-25 15:50 种子和扫描线填充算法\res\zhztch.ico
文件 1158 2012-01-01 03:24 种子和扫描线填充算法\res\Toolbar.bmp
文件 230400 2012-01-01 04:36 种子和扫描线填充算法\Debug\vc60.idb
文件 7476 2012-01-01 03:24 种子和扫描线填充算法\Debug\zhztch.res
文件 5494560 2009-04-18 00:02 种子和扫描线填充算法\Debug\zhztch.pch
文件 364544 2012-01-01 03:31 种子和扫描线填充算法\Debug\vc60.pdb
文件 105926 2009-04-18 00:02 种子和扫描线填充算法\Debug\StdAfx.obj
............此处省略13个文件信息
评论
共有 条评论