《计算机图形学》实验教学大纲
实验学时:32 实验个数:9实验学分: 1
课程性质:专业任选课适用专业:软件工程
教材及参考书:
1.《计算机图形学实用技术》,陈元琰、张小竞编著,北京:科学出版社,2000
2.《计算机图形学》(第三版),孙家广等编著,北京:清华大学出版社,2000
大纲执笔人:李晓宁大纲审定人:王玲
一、实验课的性质与任务
计算机图形学是一个令人兴奋并发展迅速的学科,但是学生在掌握中往往对图形学的复杂理论和方法不能真正理解和应用,造成了对计算机图形学这门课程的学习的局限。
本实验课程紧紧围绕计算机图形学的理论和基本算法,以Visual C/C++(或其他可视化语言)和OpenGL为开发平台,完成一系列图形试验,加深学生对图形学算法的理解,为不久的毕业设计和未来踏入社会可能面对的图形问题打下坚实的基础。
二、实验课程目的与要求
1.实验目的:
计算机图形学实验教学是为了将学生的计算机操作能力、分析能力、工程设计能力与应用实践结合起来,引导学生由浅入深地掌握计算机图形学理论与算法,使学生加深理解计算机图形学的基本概念、基本原理和基本算法;掌握和实现图形在计算机内显示的全过程,包括:基本图形的生成、坐标变换、图形投影、图形裁剪、图形消隐、基本的真实感显示。
掌握交互构图能力,具备工程应用的图形学基础。
2.实验要求:(以软件设计为主要表现形式)
1)学生应该具有线性代数和C/C++的基础,有数据结构的相应知识。
2)上机前应准备好实验的程序设计算法描述与关键分析内容。
3)准备好程序测试数据和设备操作步骤,上机调试、运行。
4)完成每个实验后进行数据与程序对比分析。
5)写出实验报告(含实验题目,算法分析,源程序,测试情况和运行结果。
若实验未
能通过,给出原因与今后改进措施)。
三、实验项目及内容提要
四、实验内容安排:
实验一OpenGL基础实验:简单图形的绘制和输出
(验证性实验1学时)
1.目的要求:
学习基本的OpenGL图形绘制和输出函数,掌握使用VC++ + OpenGL开发图形程序的流程。
2.实验内容:
搭建VC 6.0开发环境中利用MFC和OpenGL开发图形学程序的程序框架。
3.主要仪器设备与软件:
1)高性能微机;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;
实验二光栅图形生成算法实验
(验证性实验 3 学时)
1.目的要求:
熟悉并掌握基本图形,特别是直线、圆和椭圆的基本生成算法,并能够用C或C++上机实现。
2.实验内容:
分别用中点法、数值微分法、Bresenham法绘制任意直线,用中点法、Bresenham绘制圆,用中点法绘制椭圆,并比较各种算法的差别;
3.主要仪器设备与软件:
1)高性能微机;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;
实验三区域填充算法实验
(验证性、综合性 2 学时)
1.目的要求:
熟悉并掌握多边形区域用顺序扫描和种子填充算法原理,并利用数据结构和程序设计知识加以实现。
2.实验内容:根据自己的兴趣选择一个作为本次试验的研究内容
1)实现多边形扫描转换算法;
2)实现种子填充算法(简单种子填充算法和基于扫描线的种子填充算法)
3)GDI函数实现多边形填充;
4)利用OpenGL编程绘制多边形并填充之;进行填充与比较。
3.主要仪器设备与软件:
1)高性能微机;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;
实验四图形变换实验
(验证性实验 2 学时)
1.目的要求:
理解二维、三维图形变换的数学原理原理,并能利用OpenGL绘制简单的二维、三维图形,调用OpenGL命令实现基本的图形变换。
2.实验内容:
用两个立方块表示表示机器人的手臂,能用键盘上的上下左右键指挥机器人手臂的运动;例如用上下键指挥机器人前臂沿肘关节上下旋转;左右键指挥机器人后臂沿肩关节上下旋转。
3.主要仪器设备与软件:
1)高性能微机;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;
实验五二维图形裁减实验
(验证性实验 2 学时)
1.目的要求:
理解二维图形裁减的算法原理,掌握Cohen-SutherLand裁减算法。
2.实验内容:
用一个矩形窗口模拟裁减多变形,对线段进行Cohen-SutherLand裁减。
例如矩形窗口参数(XL=150,XR=350,YB=150,YT=300),线段端点(x1=50;y1=250;x2=400;y2=90;)
3.主要仪器设备与软件
4)高性能微机;
5)有基本的图形I/O设备;
6)有相应的配套软件,可视化程序设计环境;
实验六Liang-Barsky裁减算法实验
(验证性实验 2 学时)
1.目的要求:
理解二维图形裁减的算法原理,掌握Liang-Barsky裁减算法。
2.实验内容:
用一个矩形窗口模拟裁减多变形,对线段进行Liang-Barsky裁减。
例如矩形窗口参数(XL=150,XR=350,YB=150,YT=300),线段端点(x1=50;y1=250;x2=400;y2=90;)
3.主要仪器设备与软件
1)高性能微机;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;
实验七简单真实感图形绘制与交互控制实验
(验证性实验 2 学时)
1.目的要求:
理解光照模型,特别是简单光照模型原理,会用OpenGL绘制具有明暗效果的简单三维图形;了解简单的交互式技术,用户可以简单控制图形。
2.实验内容:
1)使用OpenGL绘制一个简单的三维图形,例如立方体,球;
2)为该图形添加光照,使其具有明暗效果;
3)添加鼠标消息函数,用户可以通过鼠标浏览改三维图形;(选做)
3.主要仪器设备与软件
4)高性能微机;
5)有基本的图形I/O设备;
6)有相应的配套软件,可视化程序设计环境;
实验八纹理映射实验
(验证性实验 2 学时)
1.目的要求:
体会纹理映射原理,会用OpenGL绘制具有颜色纹理的图形。
2.实验内容:
使用OpenGL绘制一个简单的三维平面,为其添加黑白棋盘纹理;
3.主要仪器设备与软件
1)有快速的较高性能微机和较大内存与硬盘的设备;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;
实验九曲线绘制实验
(验证性实验 2 学时)
1.目的要求:
理解Bezier曲线的定义,会用交互式方法绘制Bezier曲线。
2.实验内容:
使用鼠标操作方法确定4个Bezier曲线控制点,并根据Bezier曲线的定义绘制由这4个控制点确定的Bezier曲线。
3.主要仪器设备及药品
1)高性能微机;
2)有基本的图形I/O设备;
3)有相应的配套软件,可视化程序设计环境;。