计算机图形学 课程设计作品
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机图形学Visual c++版》考试作业报告
题目:计算机图形学图形画板
专业:推荐IT学长淘宝日用品店530213
班级:推荐IT学长淘宝日用品店530213
学号:推荐IT学长淘宝日用品店530213
姓名:推荐IT学长淘宝日用品店530213
指导教师:推荐IT学长淘宝日用品店530213 完成日期: 2015年12月2日
一、课程设计目的
本课程设计的目标就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序的能力,并培养基本的、良好的计算机图形学的技能。
设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握计算机图形学基本知识和算法设计的基本技能术,掌握分析、解决实际问题的能力。
通过这次设计,要求在加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
二、设计内容推荐IT学长淘宝日用品店530213
设计一个图形画板,在这个图形画板中要实现:
1,画线功能,而且画的线要具备反走样功能。
2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。
3,可以对选中区域的图形放大,缩小,平移,旋转等功能。
三、设计过程
程序预处理:包括头文件的加载,常量的定义以及全局变量的定义
#include "stdafx.h"
#include "GraDesign.h"
#include "GraDesignDoc.h"
#include "GraDesignView.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//******自定义全局变量
int type = -1;
CPoint point1;
CPoint point2;
CPoint temp[2];
CPoint remember;
int i = 0;
///////////////////////////////////////////////推荐IT学长淘宝日用品店530213//////////////////////////////
// CGraDesignView
IMPLEMENT_DYNCREATE(CGraDesignView, CView)
BEGIN_MESSAGE_MAP(CGraDesignView, CView)
//{{AFX_MSG_MAP(CGraDesignView)
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_COMMAND(line, Online)
ON_COMMAND(rectangle, Onrectangle)
ON_COMMAND(ellipse, Onellipse)
ON_COMMAND(polygon, Onpolygon)
ON_COMMAND(fill, Onfill)
ON_WM_RBUTTONDOWN()
ON_COMMAND(tobig, Ontobig)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
////////////////////////////推荐IT学长淘宝日用品店530213/////////////////////////////////////////////////
// CGraDesignView construction/destruction
CGraDesignView::CGraDesignView()
{
// TODO: add construction code here
}
CGraDesignView::~CGraDesignView()
{
}
BOOL CGraDesignView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CGraDesignView drawing
void CGraDesignView::OnDraw(CDC* pDC)
{
CGraDesignDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CGraDesignView printing
BOOL CGraDesignView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CGraDesignView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {
// TODO: add extra initialization before printing
}
void CGraDesignView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CGraDesignView diagnostics
#ifdef _DEBUG
void CGraDesignView::AssertValid() const