《计算机图形学》实验教学大纲_第1页
《计算机图形学》实验教学大纲_第2页
《计算机图形学》实验教学大纲_第3页
《计算机图形学》实验教学大纲_第4页
《计算机图形学》实验教学大纲_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学实验教学大纲课程代码:COMS2017课程名称:计算机图形学 英文名称:Computer Graphics 实验室名称:计算机信息系统实验室课程学时:54 实验学时:18一、本课程实验教学目的与要求1、实验教学目的(1)加深理解和更好掌握计算机图形的生成技术和生成各种平面图形和简单立体图形的基本算法,掌握图形填充、裁剪、图形变换及图形消隐等计算机图形处理的基本方法;(2)巩固所学知识、激发实验兴趣、掌握实验要领,培养对计算机图形学课程所学知识融会贯通和综合运用的能力,初步具备在图形学领域进行研究的能力;(3)提高学生的编程能力,加强分析问题、解决问题能力的培养; (4)了解和掌握O

2、penGL三维图形程序设计的基本流程和实现应用技巧,能独立编写相应的图形生成程序,完成指定的实验任务。2、实验要求本课程主要设置二种层次的实验:(1)基本验证编程(2)综合编程实验。整个实验过程包括预习、选择实验习题,编程设计、撰写实验报告提交报告,供教师进行批阅。利用本课程提供的教学资源,在规定时间内,独立完成算法;实验结束,学生应认真分析和整理实验结果,并撰写实验报告。二、主要仪器设备及现有台套数 学生根据各个实验的目的和要求,1人1组,每人提供一台计算机。编程环境:TurboC2.0 或者OpenGL或者VC或者Java编程环境三、实验课程内容和学时分配该实验课是非独立课程,课时数是18

3、,其中必开的实验是14课时,另外4课时可从下表中的选开实验中选择。序号实验项目名称目的、要求实验内容学时分配实验类型每组人数必开、选开1实验环境的熟悉及像素点的生成1)熟悉编程环境;2)了解光栅图形显示器的特点,了解计算机绘图的特点;3)利用相关编程语言作为开发平台设计程序,实现像素点的生成算法。1)了解和使用开发环境。2)熟悉开发环境的基本编辑命令及功能,学会常规窗口操作;熟悉常用功能菜单命令。3)学习完整的图形程序开发过程。4)理解简单的图形程序结构。5)了解和使用编程语言提供的基本图形函数。6)了解光栅图形显示器的特点及利用计算机绘图函数。7)像素点的生成。2基础性1必开2直线的扫描转换

4、1)掌握Bresenham算法编程绘制直线2)掌握数值微分算法编程绘制直线1)了解直线生成原理。2)掌握几种基本的直线生成算法:DDA画线法、Bresenham画线法。3)实现直线生成的DDA和Bresenham算法,在屏幕上任意生成一条直线。2基础设计性1必开3圆生成算法的实现1)理解圆生成的基本原理,2)掌握几种常见的圆生成算法,3)利用TurboC或OpenGL实现圆生成的中点画圆算法和Bresenham画圆算法。1)利用中点画圆算法,在屏幕上生成任意一段1/8圆弧。2)利用Bresenham画圆算法,在屏幕上生成任意一段1/8圆弧。3)利用图的对称性,将第1)和2)题生成的圆弧扩展为一

5、个整圆。2设计性1必开4曲线生成算法的实现1)掌握三次Bezier曲线的绘制2)掌握二次B样条曲线的绘制3)实现n次Bezier曲线的绘制1)了解曲线生成的原理。2)掌握曲线生成算法(三次样条曲线、Bezier曲线、B样条曲线)。3)实现Bezier曲线的生成算法,在屏幕上任意绘制一条二次Bezier曲线。4)实现Bezier曲线的生成算法,在屏幕上任意绘制一条三次Bezier曲线。2设计性1选开5区域填充的实现1)理解区域的表示和类型,能正确区分四连通和八连通的区域,2)了解区域填充的实现原理,3)利用TurboC实现区域填充的递归算法。1)利用画线函数,在屏幕上定义一个封闭区域。2)利用种

6、子填充算法填充第1)题中定义的区域。2设计性1必开6二维剪裁的实现1)了解二维剪裁的原理(点的剪裁、直线的剪裁、曲线和文字的剪裁),2)实现直线的剪裁算法。1)了解点的剪裁。2)理解直线剪裁的原理。3)了解曲线和文字的剪裁。4)实现直线的编码裁剪算法,在屏幕上用一个封闭矩形裁剪任意一条直线。2基础设计性1必开7多边形裁减1) 通过本次实验要求学生掌握多边形区域扫描线填充的有序边表算法的基本原理和算法设计。2) 要求画出算法实现的程序流程图,实现算法,并演示。1)实现多边形区域扫描线填充的有序边表算法,设计相关的数据结构(如链表结构、结点结构等),2)将实现的算法应用于任意多边形的填充,3)注意

7、多边形的顶点应由键盘输入或鼠标拾取,填充要准确,不能多填也不能少填。2基础设计性1必开8图形几何变换(二维、三维变换)的实现1)进一步掌握理解二维、三维变换的数学知识、变换原理、变换种类、变换方法;2)进一步理解采用齐次坐标进行二维、三维变换的必要性;3)实现二维、三维图形的基本变换和复合变换。1)理解使用齐次坐标进行图形变换的必要性变换的连续性,使复合变换得以实现。2)掌握二维、三维图形基本变换的原理和数学公式。3)实现二维、三维图形的基本变换和复合变换,在屏幕上显示变换结果。2基础设计性1必开9简单光照明模型的实现1)了解简单光照模型的基本原理,2)实现物体的真实感图形。1)了解简单光照模

8、型的基本原理。2)模拟物体的简单光照效果,在屏幕上任意绘制30个小球的真实感图形。2基础设计性1选开10交互式技术1)了解常用的交互式绘图技术,2)掌握简单的橡皮筋技术和菜单技术。1)实现直线的橡皮筋技术绘制;2)菜单是交互式操作中非常好用的一种技术。定义一个菜单至少有2个步骤。第一步,确定菜单中有哪些菜单项,即菜单中要显示哪些字符串。第二步,把特定的动作与行为“绑定”在一起。当用户松开将弹出一个菜单的鼠标键时,鼠标所在那一行的标识符就会传递给菜单回调函数。2设计性1选开11设计一个简单的图形系统1)综合应用所学计算机图形学知识解决实际问题,开发简单图形系统。2)加深对所学算法的理解及其在实际

9、环境中的应用。3)本实验对学生要求较高,学生至少应该能够明确程序的流程,并能将前面几次实验的成果融合到本系统中。1)可以使用MFC类库编程实现,或者将前述几次实验的算法封装成类再结合MFC编程实现。2)要求该图形系统要能绘制简单的图形(直线、圆、多边形等),3)并能实现图形的拖放,缩放,简单的图形变换以及简单的交互式绘图。参考实验步骤:确定系统功能,划分功能模块确定各主要功能模块的算法,如果使用前几次实验的结果,则需考虑如何修改前几次实验的算法,并对他们进行封装(封装成类)确定系统的布局(工作区、工具栏、菜单等),设计工具栏及菜单确定消息响应机制,确定菜单中绘图命令及工具栏的响应函数,同时确定

10、各函数的内部算法编程实现上述功能,注意每添加一个功能就应测试一次程序。2综合设计性1选开四、考核方式1、实验报告:本门课程实验对实验报告的要求(应包括对报告内容的要求)(1)完整叙述实验内容和要求(2)提出具体的设计,说明核心算法,(3)附上完整的源代码和实验结果(4)分析实验结果2、考核方式实验课程考核为综合评分制。实验总成绩由平时成绩和期末测试成绩两部分组成。实验课成绩占课程总成绩30%。A:平时成绩(50分)1)课前准备、预习(10分)2)实验态度(5分)3)检查源代码(20分)4)实验报告(15分)B:期末测试成绩(50分)期末测试由实验指导教师根据课程特点设计若干个综合性较强的实验作

11、为考试内容,由学生抽签定题。最后的成绩由主考教师参照不同实验的要求和内容,进行综合评价。五、实验教材、参考书1、教材:编者.书名.出版社.出版年份唐泽圣,计算机图形学,清华大学出版社,2、参考书:(1)孙家广等.计算机图形学(第三版),清华大学出版社,1998年版(2)Foley J,Dam A V,Fundamentals of Interactive Computer Graphics,Addison-Wesley ,1982(3)Foley J,Dam A V,Feiner S,Hughes J,Phillips R.Computer Graphics;Principles and Practice.2nd Ed

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论