计算机图形学实验教学大纲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机图形学实验教学大纲一、课程中文名称(课程英文名称):计算机图形学(ComputerGraphics)二、课程编码:0921144005三、课程目标和基本要求:《计算机图形学》是信息与计算科学专业学生的专业选修课程。计算机图形学是计算机科学的重要分支,其应用已经日益广泛。该课程的教学目的与任务是让学生了解计算机图形学的基础内容,掌握对设计、使用和理解计算机图形系统所需的基本理论。本课程实验包括图形的显示和输出技术、基本图形生成算法、图形的各种变换、曲线和曲面的绘制、图形的剪取、隐线和隐面的消除和产生有真实感图形的方法。用C++(或C)结合OpenGL图形库进行与理论教学配合的实验。四、课程总学时:54学时[理论:36学时;实验:18学时]五、课程总学分:2.5学分六、适用专业和年级:信息与计算专业,4年级第1学期七、实验项目汇总表:序号实验编号实验名称时数实验类别实验类型实验要求每组人数实验一092114400501C++图形程序设计基础2专业演示性必修同班级人数实验二092114400502基本图元生成算法2专业验证性必修同班级人数实验三092114400503填充算法2专业验证性必修同班级人数实验四092114400504OpenGL基础2专业验证性必修同班级人数实验五092114400505二维变换2专业验证性必修同班级人数实验六092114400506二维裁剪2专业验证性必修同班级人数实验七092114400507样条曲线与样条曲面2专业验证性必修同班级人数实验八092114400508三维变换与三维观察2专业验证性必修同班级人数实验九092114400509真实感图形的生成与处理2专业综合性必修同班级人数八、大纲内容:实验序号1实验名称C++图形程序设计基础[实验目的和要求]以C++Builder为程序设计平台,熟悉Windows图形程序设计的要点,为今后的图形学实验打下必要的基础。[实验内容]1.在C++Builder集成开发环境中编写一个Windows应用程序。应用程序的窗体中每隔1秒交替显示“Hello,World!”和“世界,你好!”。2.参考补充材料“利用C++Builder开发基于图形的应用程序”,写一个图形学实验程序的框架。[主要实验仪器与器材]个人计算机实验序号2实验名称基本图元生成算法[实验目的和要求]1.以C++Builder为程序设计平台,实现整数中点画线法和Bresenham画线法,绘制直线;2.以C++Builder为程序设计平台,实现圆的中点画法和椭圆的中点画法。[实验内容]1.实现斜率k在0和1之间时的整数中点画线法和Bresenham画线法。2.选作:实现任意斜率的整数中点画线法和Bresenham画线法。3.利用中点画圆法,绘制第二个八分圆;利用中点画椭圆法,绘制第一象限内的四分之一椭圆。4.选作:利用上述基本算法及对称性,绘制整圆和整椭圆。(提示:因为绘图区域的原点在左上角,所以绘制整圆和整椭圆时要作平移变换。)[主要实验仪器与器材]个人计算机实验序号3实验名称填充算法[实验目的和要求]以C++Builder为程序设计平台,实现边缘填充算法与种子填充算法。[实验内容]1.根据实验一中提供的图形学实验框架,编写程序实现边缘填充算法。2.根据实验一中提供的图形学实验框架,编写程序实现种子填充算法。[主要实验仪器与器材]个人计算机实验序号4实验名称OpenGL基础[实验目的和要求]以VisualC++为程序设计平台,练习编写简单的OpenGL入门程序。[实验内容]编制一个程序绘制GLUT中的三维茶壶模型,并编译运行。建议使用线框模型,也可尝试一下实体模型。[主要实验仪器与器材]个人计算机实验序号5实验名称二维变换[实验目的和要求]1.了解OpenGL二维图形变换的三个函数及其计算机图形学的理论基础;2.尝试利用OpenGL编写一个二维图形变换的小程序。[实验内容]1.在理解的基础上,编写一个基于OpenGL的程序,绘制一个三角形,并分别绘制这个三角形经平移、缩放、旋转后的结果。2.(选作)仅利用C++Builder(不用OpenGL)编写一个程序,功能有平面图形的平移、缩放、错切、旋转等。[主要实验仪器与器材]个人计算机实验序号6实验名称二维裁剪[实验目的和要求]以C++Builder为程序设计平台,实现线段裁剪的Cohen-Sutherland算法和Liang-Barsky算法。[实验内容]实现Cohen-Sutherland算法和Liang-Barsky算法。要求程序界面上有裁剪窗口,能用鼠标画直线,然后用裁剪算法进行裁剪。[主要实验仪器与器材]个人计算机实验序号7实验名称样条曲线与样条曲面[实验目的和要求]1.以C++Builder为程序设计平台,练习编写B样条曲线的演示程序,理解相应的图形学原理和编程原理。2.以C++Builder或VisualC++为程序设计平台,编写二次曲面、Bezier曲线曲面、NURBS曲线曲面的演示程序,理解相应的编程原理。[实验内容]1.以C++Builder为程序设计平台,写一个B样条曲线的演示程序,要求能够选择曲线的次数(2次或3次),能够选择均匀的和准均匀的B样条曲线,并且能够拖动已经画好的控制顶点来控制曲线。2.以C++Builder或VisualC++为程序设计平台,编制课本第173页至191页的所有演示程序,自学相应的编程知识。3.(选作)选择如下曲面的一种:二次曲面,Bezier曲面,NURBS曲面,自行设定图形参数,加以绘制,并利用第八章所学的知识,转动视点,对该曲面进行观察。[主要实验仪器与器材]个人计算机实验序号8实验名称三维变换与三维观察[实验目的和要求]以VisualC++为程序设计平台,练习编写OpenGL三维图形变换程序,理解相应的图形学原理和编程原理。[实验内容]1.编制书P221,231上的程序,并编译运行。理解矩阵堆栈、图形变换函数的原理,掌握其用法。2.编制书P225上的程序并编译运行,并对程序作如下修改,然后编译运行,同时体会gluPerspective(),gluLookAt(),glTranslate*()等函数的作用。1)将程序中gluPerspective()的第一个参数fovy改为30.0和70.0,观察程序的效果,思考并回答为什么会出现这样的效果。2)将函数glTranslatef()的第三个参数分别改为1.0和-1.0,观察、思考并回答为什么会出现这样的效果。3)将glTranslatef()改为效果不变的对应的函数gluLookAt()。3.练习安装C++Builder上的OpenGL控件;并学习如何利用该控件开发OpenGL程序。将所给的cube.c转换为在C++Builder上的程序。将*.cpp文件和*.h文件贴在这里。4.(选作)利用OpenGL开发一个完整的二维或三维图形变换的演示程序。[主要实验仪器与器材]个人计算机实验序号9实验名称真实感图形的生成与处理[实验目的和要求]1.以C++Builder或VisualC++为程序设计平台,编写有关着色处理、光照、材质、纹理的演示程序,理解相应的编程原理。2.综合运用本课程所学的有关知识,编写具有一定真实感效果的程序。[实验内容]1.以C++Builder为程序设计平台,编制一个演示程序,程序的效果为一个两面材质不同的波纹状曲面片,曲面片可用鼠标拖动旋转。2.以C++Builder为程序设计平台,编制一个演示程序,程序的效果为一个两面材质不同的波纹状曲面片,在曲面的两面贴上纹理,曲面片可用鼠标拖动旋转。3.以C++Builder为程序设计平台,编制程序演示一个可以滚动的立方体,立方体表面具有纹理贴图,并具有半透明效果。[主要实验仪器与器材]个人计算机九、主要实验教材(指导书)及参考用书:教材:《计算机图形学》成思源等冶金工业出版社2003参考书:《计算机图形学》孙家广等清华大学出版社2000十、课程考核方式及成绩评定办法:该实验课程不单独设课,其考核方式及成绩评定纳入相应的理论课课程中进行。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功