计算机图形学课程设计报告Word文档格式.docx

上传人:b****4 文档编号:14339417 上传时间:2022-10-22 格式:DOCX 页数:12 大小:43.54KB
下载 相关 举报
计算机图形学课程设计报告Word文档格式.docx_第1页
第1页 / 共12页
计算机图形学课程设计报告Word文档格式.docx_第2页
第2页 / 共12页
计算机图形学课程设计报告Word文档格式.docx_第3页
第3页 / 共12页
计算机图形学课程设计报告Word文档格式.docx_第4页
第4页 / 共12页
计算机图形学课程设计报告Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算机图形学课程设计报告Word文档格式.docx

《计算机图形学课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机图形学课程设计报告Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

计算机图形学课程设计报告Word文档格式.docx

专业:

计算机科学与技术

班级:

16级3班

廖宁

职称:

课程设计题目:

细脚怪

已知技术参数和设计要求:

 

所需仪器设备:

成果验收形式:

课程设计报告(纸质)

程序运行效果图

参考文献:

时间

安排

廖宁教研室主任:

2018年12月06日

注:

本表下发学生一份,指导教师一份,栏目不够时请另附页。

课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。

一.设计目的……………………………………………………………

二.设计要求……………………………………………………………

1.构建基础类……………………………………………………

2.构建直线类……………………………………………………

3.构建变换类……………………………………………………

4.构建填充类……………………………………………………

5.构建光照类……………………………………………………

三.开发环境…………………………………………………………

四.详细设计

五.源程序

六.程序运行效果图

七.总结

设计目的

▪培养对图形建模、变换、投影、消隐、光照原理的理解和应用。

▪培养图形类的编程能力。

▪培养计算机图形学应用软件开发的能力。

设计要求

深入研究计算机图形学的生成原理,设计算法实现具体的类。

1.构建基础类

实现CP2类绘制二维点;

实现CP3类绘制三维点;

实现CRGB类处理RGB颜色;

实现CVector类处理矢量。

2.构建直线类

实现CLine类绘制任意斜率的直线、实现CALine类绘制任意斜率的反走样直线、实现CCLine类绘制任意斜率的颜色渐变直线、实现CACLine类绘制任意斜率的反走样颜色渐变直线。

3.构建变换类

实现CTransForm完成二维和三维图形变换。

4.构建填充类

实现CFill类使用有效边表算法填充多边形、实现CZBuffer类进行深度缓冲消隐,并使用Gouraud和Phong明暗处理填充图形面片。

5.构建光照类

实现CLight类设置点光源、实现CMaterial类设置物体材质、实现CLighting类对物体实施光照。

开发环境

ViusalC++6.0的MFC框架。

详细设计

1.利用函数Ellipse画出人物的脸,并用给脸填充颜色。

再利用Ara画出人物的嘴巴。

CRect确定人物的眼睛,给眼睛填充颜色。

利用画笔画出人物的鼻子。

2.添加ddaline()成员函数,编写自定义的成员函数ddaline()程序,编写OnDraw()函数,画出人物的脚和脚趾。

3.添加星星star()成员函数,编写自定义的成员函数star()程序,确定五角星的位置、大小和颜色。

4.添加五环circle()成员函数,并利用colorcircle()函数给五环上色。

5.添加旗子flayA()、flayB()成员函数,确定旗杆的位置,用四点坐标设置旗子的范围,将星星和五环置于旗子中。

源程序

//Yzg20166989View.cpp:

implementationoftheCYzg20166989Viewclass

//

#include"

stdafx.h"

Yzg20166989.h"

math.h"

Yzg20166989Doc.h"

Yzg20166989View.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CYzg20166989View

IMPLEMENT_DYNCREATE(CYzg20166989View,CView)

BEGIN_MESSAGE_MAP(CYzg20166989View,CView)

//{{AFX_MSG_MAP(CYzg20166989View)

//NOTE-theClassWizardwilladdandremovemappingmacroshere.

//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!

//}}AFX_MSG_MAP

//Standardprintingcommands

ON_COMMAND(ID_FILE_PRINT,CView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT,CView:

ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView:

OnFilePrintPreview)

END_MESSAGE_MAP()

//CYzg20166989Viewconstruction/destruction

CYzg20166989View:

CYzg20166989View()

{

//TODO:

addconstructioncodehere

}

~CYzg20166989View()

BOOLCYzg20166989View:

PreCreateWindow(CREATESTRUCT&

cs)

ModifytheWindowclassorstylesherebymodifying

//theCREATESTRUCTcs

returnCView:

PreCreateWindow(cs);

//CYzg20166989Viewdrawing

voidCYzg20166989View:

OnDraw(CDC*pDC)

CYzg20166989Doc*pDoc=GetDocument();

ASSERT_VALID(pDoc);

adddrawcodefornativedatahere

AfxGetMainWnd()->

SetWindowText("

20166989尹志刚"

);

graph(pDC,0,0);

CRectrect(200,120,430,350);

CRectrect1(250,195,275,220);

CRectrect2(355,195,380,220);

CBrushnBrush(RGB(0,255,255)),*pOldnBrush;

pOldnBrush=pDC->

SelectObject(&

nBrush);

pDC->

Ellipse(200,120,430,350);

SelectObject(pOldnBrush);

CBrushBrush(RGB(0,0,0)),*pOldBrush;

pOldBrush=pDC->

Brush);

RoundRect(rect1,CPoint(200,200));

RoundRect(rect2,CPoint(200,200));

SelectObject(pOldBrush);

CBrushmBrush(RGB(255,255,0)),*pOldmBrush;

pOldmBrush=pDC->

mBrush);

Arc(250,275,380,355,295,285,335,285);

SelectObject(pOldmBrush);

CPointp1(305,295),p2(325,295);

CPenPen,*pOldPen;

Pen.CreatePen(PS_SOLID,3,RGB(0,0,0));

pOldPen=pDC->

Pen);

MoveTo(p1);

LineTo(p2);

SelectObject(pOldPen);

SetTextColor(RGB(0,0,255));

TextOut(225,20,"

同一个世界,同一个梦想"

ddaline(pDC,225,305,225,450,RGB(255,0,0));

ddaline(pDC,405,305,405,450,RGB(255,0,0));

ddaline(pDC,225,450,225,460,RGB(0,0,0));

ddaline(pDC,225,450,215,460,RGB(0,0,0));

ddaline(pDC,225,450,235,460,RGB(0,0,0));

ddaline(pDC,405,450,405,460,RGB(0,0,0));

ddaline(pDC,405,450,395,460,RGB(0,0,0));

ddaline(pDC,405,450,415,460,RGB(0,0,0));

//CYzg20166989Viewprinting

OnPreparePrinting(CPrintInfo*pInfo)

//defaultpreparation

returnDoPreparePrinting(pInfo);

OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addextrainitializationbeforeprinting

OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addcleanupafterprinting

////////////////////////////////////////////////////////////////////

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1