- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告
题 目: 计算机图形学
院 (系):信息与控制工程学院
专业班级: 计算机1202
姓 名: 谷萌
学 号: 120620218
指导教师: 周方晓
2015年12月 12日
实验一 熟悉Windows图形开发环境
一、实验目的?
1.?熟悉VisualC++6.0的开发环境;?
2.?掌握Windows图形输出的方法;?
3.?理解设备环境、画笔、画刷的概念,掌握常用的绘制函数。?
二、实验原理?
原理:使用Visual?C++在Windows下进行图形程序设计?
三、实验内容?
内容:?编写程序,要求如下:?
1.?定义一支红色画笔,绘制一个正方形;?
2.?用不同颜色的线条连接互不相临的两个顶点;?
3.?用不同颜色的画刷填充用上述方法所形成的图形的每一个区域。
四、实验步骤
使用Visual C++在Windows下进行图形程序设计的基本步骤是:
(1)在绘制之前,创建绘图工具并设置相关的颜色、线型、线宽等属性;
(2)调用相关的绘图函数选择绘图工具并进行绘图;
(3)在绘制之后,恢复原有的绘图工具。
五、实验环境?
?已安装visual?C++6.0的Windows?XP计算机一台,u盘?
六、实验结果及分析?
运行结果如图所示
分析:?代码调试完毕,编译运行,按预期结果输出。
七、实验小结?
? 对我来说这次实验既是一次挑战也是一次全新的学习机会。当然这也是我第一次编写Windows图形程序,所以在编写过程中发现了许多问题,比如说vc++6.0软件存在问题,导致程序总是出现一些莫名其妙的错误,像无法打开工程,自动关闭等等。后来,经过询问老师和上网查询,才发现是软件和我的系统有兼容性问题,与一些软件也存在冲突。后来在网上的建议,我换成Windows?xp的虚拟机中运行,此问题得到了解决。?
除此之外,程序编写时将工程类型创建错了,导致无法连接成功。后来经过上网有哪些信誉好的足球投注网站相关内容解决了此问题。然后在调用一些画图的函数时对函数体了解不多,导致函数调用出错。
实验二 创建VC6.0下 OpenGL绘图程序的基本框架
实验目的?
1.?了解使用VC6.0下?OpenGL绘图程序的基本框架?
2.?掌握理解简单的OpenGL程序结构;?
3.?掌握OpenGL提供的基本图形函数,尤其是生成点、线、面的函数。
实验环境?
安装有Visual?C++?6.0的windowXp计算机一台,u盘。
实验原理内容步骤?
新建工程,在工程—设置—链接—L对象库模版中添加OPENGL库,
即opengl32.lib glu32.lib glaux.lib
如图所示:
在Visual C++中,修改视图类成员函数代码实现OpenGL绘图的过程如下:
① 在(文件名.view)视图类中改造PreCreateWindow函数:将窗口的客户区设置为OpenGL能够支持的风格。具体添加代码如下:
cs.style|=WS_CLIPCHILDREN|WS_CLIPSIBLINGS;
② 在工具栏的视图——类向导中添加并改造OnCreate函数:定义像素存储格式,并创建一个OpenGL操作所必须的绘图上下文RC(Rendering Context)。使用一个PIXELFORMATDESCRIPTOR结构来指定像素格式,使用wglCreateContext()函数创建绘图上下文RC。
添加头文件:
#include GL\glu.h
#include GL\gl.h
#include GL\glaux.h
OnCreate函数中具体添加代码如下:
//首先定义像素存储格式
PIXELFORMATDESCRIPTOR pfd=
{
sizeof(PIXELFORMATDESCRIPTOR), // pfd的大小
1, //结构的版本号
PFD_DRAW_TO_WINDOW| //支持window
PFD_SUPPORT_OPENGL| //支持OpenGL
PFD_DOUBLEBUFFER, //双缓存
PFD_TYPE_RGBA, //RGBA颜色模式
24, //24位颜色深度缓存
0,0,0,0,0,0, //color bits ignored
0, //no alpha buffer
0, //shift bit ignored
0, //不使用累积缓存
0,0,0,0, //accu
文档评论(0)