没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
计算机图形学实验指导书
年月
2
目 录
实验 1 OPENGL 开发环境..................................................................................................................1
实验 2 直线与圆的绘制.................................................................................................................12
实验 3 图形变换与裁剪.................................................................................................................15
实验 4 真实感图形绘制.................................................................................................................17
实验 5 计算机动画技术…………………………………………………………………………..1
实验 6 分形几何……………………………………………………………………………………
3
一、实验目的和要求
1、实验目的
本课程的实践性教学内容主要是要求学生用 C++语言编程实现各种图形的绘制,强化学
生的程序设计能力和程序调试能力,使学生巩固所学的各种图形的生成算法的理论知识。实
践教学共包括十项内容,其中两项设计性实验与一项综合性实验。
2、实验要求
本实践课程主要以 Visual C++6.0 和 OpenGL 软件为平台,讲述 OpenGL 系统的安装、
操作、设计、管理等基本概念及其操作方法;重点要求掌握 C++语言图形编程技巧,学会图
形算法设计、实现和图形显示。
要求学生实验前认真准备,实验后提供实验报告,给出详细设计结果以及设计依据。
实验报告的格式应采用统一封面,统一的实验报告纸。封面应包括:课程名称、实验序
号、名称、专业、班级、姓名、同组实验者、实验时间。实验报告内容应包括:实验名称、
目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明
等)。
二、实验环境介绍
1、硬件设备要求
个人计算机:Intel Pentium 4 CPU 1.2GHz,256MB RAM。
2、软件要求
软件要求:
(1)WindowsXP 或 Win7 操作系统;
(2)Microsoft Visual C++ 6.0 或以上版本
(3)OpenGL 1.1 或以上版本(含 Glut1.3);;
三、实验内容和学时分配
实 验 项 目
实验时数
实验类型
实验要求
每组人数
实验 1:OpenGL 开 发 环 境
2 课时
验证型
必做
1
实验 2:直线与圆的绘制
4 课时
设计型
必做
1
实验 3:图形变换与裁剪
4 课时
设计型
必做
1
实验 4: 真实感图形绘制
4 课时
设计型
必做
1
实验 5: 计算机动画技术
4 课时
设计型
必做
1
实验 6: 分形几何
2 课时
设计型
必做
1
4
实验 1 OpenGL 开发环境
一、实验目的
1、熟悉 OpenGL 的基本功能;
2、掌握 OpenGL 的绘图流程和原理;
3、掌握在 Visual C++下 OpenGL 绘图程序的基本实现方法。
二、实验内容
任务 1. Glut 基本图元的绘制
利用 Glut 函数绘制点、线、多边形。
任务 2. Glaux 图形绘制
利用 Glaux 绘制运动球体。
(1) 定义颜色格式和缓冲模式;
(2)设置光源;
(3)设置材质;
(4) 定义投影方式;
(5)定义与 Windows 接口的系统函数。
任务 3. 基于 MFC 的 OpenGL 应用程序的开发
创建一个基于 MFC 的 Single Document 应用程序,利用 OpenGL 进行图形的绘制:
(1)实现 OpenGL 绘图环境和 Windows 绘图环境兼容;
(2)利用 OpenGL 绘图函数进行一些基本图形如椭圆、直线、多边形的绘制;
(3)利用 OpenGL 设置图形的颜色。
三、相关知识点
1、OpenGL 中构造几何图元
OpenGL 中 使 用 一 组 顶 点 序 列 以 一 定 的 方 式 组 织 起 来 定 义 几 何 图 元 。 利 用 函 数
glVertex*(…) 来定义顶点,多个 glVertex*函数来组成顶点序列。注意:所有被定义的顶
点必须放在 glBegain()和 glEnd()两个函数之间才能正确表达一个几何图元或物体,否则,
glVertex*()不完成任何操作。其中,函数 glBegin(GLenum mode)标志描述一个几何图元
的顶点列表的开始,其参数 mode 表示几何图元的类型。如表 1.1 所示。
【例】定义多边形。
glBegin(GL_POLYGON); //定义图元开始,GL_POLYGON 声明图元为多边形
glVertex2f(0.0, 0.0); //第 1 个顶点,2f 表示坐标为两个浮点数
glVertex2f(0.0,3.0); //第 2 个顶点
glVertex2f(3.0,3.0); //第 3 个顶点
glVertex2f(4.0, 1.5); //第 3 个顶点
glVertex2f(3.0, 0.0); //第 3 个顶点
2
glEnd (); //图元定义结束
表1.1 绘制图元类型
Mode的值
解释
GL_POINTS
一系列独立的点
GL_LINES
每两点相连成为线段
GL_POLYGON
简单凸多边形的边界
GL_TRIANGLES
三点相连成为一个三角形
GL_QUADS
四点相连成为一个四边形
GL_LINE_STRIP
顶点相连成为一系列线段
GL_LINE_LOOP
顶点相连成为一系列线段,连接最后一点与第一点
GL_TRIANGLE_STRIP
相连的三角形带
GL_TRIANGLE_FAN
相连的三角形扇形
GL_QUAD_STRIP
相连的四边形带
2. Glaux 图形绘制
(1)定义颜色格式和缓冲模式
OpenGL 提供两种颜色模式:RGB(RGBA)模式和颜色索引模式。在 RGBA 模式下所有颜
色的定义用 RGB 三个值来表示,有时也加上 Alpha 值(表示透明度)。RGB 三个分量值的范
围都在 0 和 1 之间,它们在最终颜色中所占的比例与它们的值成正比。如:(1,1,0)表示
黄色,(0,0,1)表示蓝色。颜色索引模式下每个象素的颜色是用颜色索引表中的某个颜色
索引值表示(类似于从调色板中选取颜色)。由于三维图形处理中要求颜色灵活,而且在阴
影,光照,雾化,融合等效果处理中 RGBA 的效果要比颜色索引模式好,所以,在编程时大
多采用 RGBA 模式。
OpenGL 提供了双缓存来绘制图像。即在显示前台缓存中的图像同时,后台缓存绘制第
二幅图像。当后台绘制完成后,后台缓存中的图像就显示出来,此时原来的前台缓存开始绘
制第三幅图像,如此循环往复,以增加图像的输出速度。
设置窗口显示模式函数:
void auxInitDisplayMode(
AUX_DOUBLE//双缓存方式
|AUX_RGBA);//RGBA 颜色模式
(2)设置光源
OpenGL 的光源大体分为三种:环境光(Ambient light),即来自于周围环境没有固定方
向的光。漫射光(Diffuse light)来自同一个方向,照射到物体表面时在物体的各个方向上
均匀发散。镜面光(Specular light)则是来自于同一方向,也沿同一个方向反射。全局环境
光是一种特殊的环境光,它不来自特于某种定光源,通常做为场景的自然光源。
指定光源函数:
Void glLightfv(Glenum light, //光源号
Glenum pname, //指明光源种类
//GL_DIFFUSE 光源为漫射光光源
//GL_AMBIENT 光源为环境光光源
//GL_SPECULAR 光源为镜面光光源
const Glfloat* params);//指向颜色向量的指针
剩余20页未读,继续阅读
资源评论
悠闲饭团
- 粉丝: 151
- 资源: 3303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功