当前位置:文档之家› 计算机图形学课程设计作品

计算机图形学课程设计作品

《计算机图形学V i s u a l c++版》考试作业报告题目:计算机图形学图形画板
专业:推荐IT学长淘宝日用品店530213
班级:推荐IT学长淘宝日用品店530213
学号:推荐IT学长淘宝日用品店530213
姓名:推荐IT学长淘宝日用品店530213
指导教师:推荐IT学长淘宝日用品店530213 完成日期: 2015年12月2日
一、课程设计目的
本课程设计的目标就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序的能力,并培养基本的、良好的计算机图形学的技能。

设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握计算机图形学基本知识和算法设计的基本技能术,掌握分析、解决实际问题的能力。

通过这次设计,要求在加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

二、设计内容推荐IT学长淘宝日用品店530213
设计一个图形画板,在这个图形画板中要实现:
1,画线功能,而且画的线要具备反走样功能。

2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。

3,可以对选中区域的图形放大,缩小,平移,旋转等功能。

三、设计过程
程序预处理:包括头文件的加载,常量的定义以及全局变量的定义
#include ""
#include ""
#include ""
#include ""
#include ""
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
=0;
temp[0].y=0;
temp[1].x=0;
temp[1].y=0;
CView::OnRButtonDown(nFlags, point);
填充:通过实现RunFill函数实现填充
CPoint stack[1000000];
void CGraDesignView::RunFill(CPoint point)
{
CPoint p;
int top;
COLORREF r;
CClientDC dc(this);
top=0;
stack[top]=point;
top++;
while(top!=0)
{
top--;
p=stack[top];
r=(p);
if(r != RGB(255,255,255)) continue;
(p,RGB(0,255,0));
r=+1,;
if(r == RGB(255,255,255) && r!=RGB(0,255,0))
{
stack[top].x=+1;
stack[top].y=;
top++;
}
r=,;
if(r == RGB(255,255,255) && r!=RGB(0,255,0))
{
stack[top].x=;
stack[top].y=;
top++;
}
r=,+1);
if(r == RGB(255,255,255)&& r!=RGB(0,255,0))
{
stack[top].x=;
stack[top].y=+1;
top++;
r=,;
if(r == RGB(255,255,255) && r!=RGB(0,255,0))
{
stack[top].x=;
stack[top].y=;
top++;
}
}
}
void CGraDesignView::Ontobig()
{
type = 6;
}
推荐IT学长淘宝日用品店530213
1.需求分析
本程序将实现多功能画板的功能:
1,画线功能,而且画的线要具备反走样功能。

2, 利用上面的画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。

3,可以对选中区
域的图形放大,缩小,平移,旋转等功能。

2.概要设计
RunLine(CPoint CP0, CPoint CP1) //反走样直线
RunRectangle(CPoint CP0, CPoint CP1) //矩形
RunEllipse(CPoint CP0, CPoint CP1) //椭圆
RunFill(CPoint point) //填充
OnLButtonDown(UINT nFlags, CPoint point) //鼠标左键
OnRButtonDown(UINT nFlags, CPoint point) //鼠标右键
3.详细设计
RunLine函数绘制任意斜率的直线,并且添加反走样算法,通过OnLButtonDown,OnLButtonUp函数记录鼠标的点击位置
利用画线功能通过实现RunRectangle函数画出矩形
利用画线功能通过实现RunEllipse函数画出椭圆
利用画线功能通过鼠标左键函数OnLButtonDown取点,用鼠标右键函数OnRButtonDown实现回到原点4.调试分析
仅画图功能初步实现,而放大,缩小,平移,旋转等功能依然无法实现。

5.用户使用说明
1、运行
2、选择功能面板上的类型
3、选择功能(画线,矩形,椭圆,多边形,填充)
4、在画板上画图
6.测试结果
1,直线:
2,矩形
3,椭圆
5,填充
7.附录
带注释的源程序。

如果提交源程序软盘,可以只列出程序文件名的清单。

四、课程设计体会
通过做这个画板设计实验,一方面把所学的知识整合到一起并通过画板表现出来,通过这次设计,实现对直线,矩形,多边形的绘制,还有通过自创类来实现消隐的功能,通过研究与合作,更熟练了用指针进行扫描来绘制这些图形,以及提高对这门课程的兴趣。

推荐IT学长淘宝日用品店530213。

相关主题