資源簡介
多邊形的區域填充
學時: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個文件信息
評論
共有 條評論