计算机图形学上机实验内容

更新时间:2023-09-05 14:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机图形学上机实验内容

注:

(1)下文中所说课本指:交互式计算机图形学-基于OpenGL的自顶向下方法(第五版)

(2)实验指导仅供参考。

实验1: Graphics Performance

(参考课本第2章 图形学编程) 预计8 小时

实验目的:

熟悉OpenGL应用程序基本架构

了解图形系统的性能

实验内容:

1. 利用Glut库,编写一个OpenGL程序,实现以下功能:

仿照课本2.4.3的例子,绘制若干OpenGL基本体素(三角形、三角形带、四

边形、四边形带)构成的球体,注意球体绘制与球体划分的区别。

可以控制改变球的数量和球的体积,来改变基本体素的数量以及顶点的数

量。

可以通过改变glPolygonMode,切换是否填充所绘制的基本体素。

利用函数glutGet(GLUT_ELAPSED_TIME)(returns the time in milliseconds

since glutInit or the first invocation of the function)统计绘制时间

2. 仔细观察各种不同条件下的绘制时间,完成一份实验报告,报告中包含以下

问题的实验数据统计以及结论:

填充与非填充的情况下,每秒绘制三角形的数目

三角形大小的变化是否影响系统的性能

给每个顶点不同颜色的情况下,对于性能的影响

分别比较使用三角形、三角形带,以及四边形、四边形带作为基本体素的情

况下,性能有何差别

多个三角形或四边形的顶点同时置于一个glBegin 与 glEnd 之间的情况,

与每个glBegin 和 glEnd 间只存放一个三角形或四边形的顶点,两种情况下,性能上有何差异

当加入裁减体,一部分体素在裁减体外时,性能有何影响。

当顶点格式描述分别使用glVertex3f, glVertex3fv, glVertex3i等时,性能是否

有影响

计算机图形学上机实验内容

你的实验数据与市场上一款显卡的宣传数据差别如何

比较一下使用sin和cos函数计算顶点的坐标与使用查数据表的方法获取顶点

坐标两者之间的差异。

提示:实验过程中,应当关闭显卡设置中的等待垂直信号,否则对于高性能的显卡可能由于显卡怠工得到不准确的结果。

GLUT软件包安装说明:

从给定的FTP服务器上进入【参考资料】-->【GLUT官方英文手册及GLUT包下载】目录,下载glut-3.7.6-bin.zip,解压。其中,glut32.dll拷贝到C:\WINDOWS\system32下,glut32.lib拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Lib下,glut.h拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Include\GL下,安装完成。

实验2: 多边形世界

(参考课本第3章 输入与交互、第4章 几何对象和变换) 预计 8 小时

实验内容:

写一个可以交互的OpenGL应用程序,支持用户利用鼠标创建和删除2维多边形对象。基本功能包括:

对象创建:支持用户利用鼠标指定各个顶点位置,创建多边形。

对象删除: 支持用户选择一个多边形(与你的多边形保存的数据结构有关)并删除。

对象存储: 设计一种数据结构存储每个多边形的顶点与边,支持文件存盘,。

提示:由于删除操作需要多边形的选择机制,你可以在设计数据结构时,把可以帮助你完成选择的信息一起保存。

扩展功能可以包括(至少选择其一):

1. 支持用户选择多边形的颜色

2. 支持用户移动多边形

3. 支持用户改变多边形单个顶点的位置

计算机图形学上机实验内容

4. 支持3D多边形

5. 其他(需要通过指导老师认可)

完成一份实验报告,着重说明你的对象存储与对象选择方法,或者你所实现的一个扩展功能。

实验三: 三维迷宫漫游游戏

(参考课本第2章 图形学编程、第3章 输入与交互、第4章 几何对象与变换、第5章 观察、第10章 层次建模方法 )综合实验 预计 18小时

实验内容:

设计一个OpenGL程序,创建一个三维迷宫,支持替身通过一定交互手段在迷宫中漫游,基本功能包括:

迷宫应当至少包含10 * 10 个Cell,不能过于简单,下图给出一种示例。 读取给定的替身模型,加载到场景中。

键盘方向键控制替身转向与漫游。

有碰撞检测,替身不应当穿墙。

支持切换第一视角和第三视角进行观察。

迷宫场景中的墙、地面等应贴上纹理。

扩展功能包括(至少选择一个):

同时加入二维辅助地图,替身在三维迷宫探索的同时,在小地图中显示已经探

索的区域;

在俯视状态下,可以通过鼠标点选替身需要到达的目的地,通过寻径算法,控

制替身自动到达目的地;

迷宫地图交互编辑功能,例如,可以设计一个二维地图编辑器,根据用户的绘

制,拉伸得到三维迷宫场景;

其他相当难度,可以增加迷宫游戏趣味性的功能(需要通过指导老师认可)

完成一份实验报告,详细说明你所实现的基本功能的方法,并说明你所实现的一个扩展功能。

计算机图形学上机实验内容

本文来源:https://www.bwwdw.com/article/av3i.html

Top