洛阳师范学院信息技术计算机科学与技术专业课程教案课程名称计算机图形学授课人一、课程名称:计算机图形学二、学时数:周学时4,共15周(60),3.5学分三、课程开设:选修课四、课程类型:专业课五、使用教材:罗笑南主编,《计算机图形学》第三版,中山大学出版社六、教学参考文献:1.唐泽圣,周嘉玉,李新友.计算机图形学基础[M].北京:清华大学出版社,19952.彭群生,鲍虎军,金小刚.计算机真实感图形的算法基础[M].北京:科学出版社,19993.孙家广等.计算机图形学(第三版)[M].北京:清华大学出版社,19984.王汝传,邹北骥.计算机图形学[M].北京:人民邮电出版社,2002七、教学方法与手段:讲授与范例相结合,运用多媒体教学。八、教学要求:通过教学和实验,使学生1.了解图形系统的框架及其涉及的软件、硬件技术;2.了解图形学的基本问题,掌握图形学的基本概念、方法与算法;3.对与图形相关的应用及当前的研究热点有一个初步认识;4.具有一定实践体会和相关的编程能力。九、考核方式:平时成绩与实验程序。第1章绪论教学学时:4课时教学目的与要求:使学生了解计算机图形学的基本研究内容,基础概念,了解计算机图形学的发展,应用层次,了解图形学与我们日常生活的关系,了解常用的图形输入输出设备,了解目前国际上的一些图形标准。教学重点:计算机图形学的概念、发展和应用,图形输出设备光栅显示器。教学内容:1.1计算机图形学概念、发展和应用1.1.1什么是计算机图形学1.1.2计算机图形学的发展1.1.3计算机图形学的应用1.1.4计算机图形学研究动态1.1.5计算机图形学的基本术语1.1.6交互式计算机图形系统的组成与功能1.2常用的图形输入/输出设备1.2.1图形输入设备1.2.2图形输出设备1.3计算机图形标准1.1计算机图形学概念、发展和应用1.1.1什么是计算机图形学问题:计算机发展的下一个热潮是什么?纵观计算机发展的历程,按时间先后的顺序,先后出现的热潮是操作系统、数据库、网络。那么下一个热潮是什么?从计算机是人的工作工具出发,我们不难得到结论:下一个热潮是包括图形图像在内的加强信息利用和沟通的方向。计算机是人的工具,研究计算机的各个方面就是要使这种工具好用。下一个热潮是什么呢?因为计算机中的数据的最终目的是要为人处理各种事情服务的,所以这些数据所蕴涵的信息如何能高效地让人自适应地、高效地获得就成了计算机发展历程中新的、下一个瓶颈。那么下一个热潮就在这里。其中,由于视觉是人类最快捷的信息获知途径,图形图像将是下一个热潮中的主要内容。目前,网络的发展很快,人们对使用网络的各种要求也大多能基本满足,所以,下一个热潮的到来将很快。目前,在欧美等发达国家,关于图形图像的研究和应用正处于一种爆炸式的发展阶段。图形这个概念很早就有,距今几十万年的原始人就用各种图形表达意思,人类的语言很早的象形字,甲骨文等,都是最早的使用图形的例子。可以说,现实世界中图形无处不在,婴儿感知世界,也从各种各样图形开始。二十世纪最伟大的成就之一,计算机技术的诞生和飞速发展为计算机图形学提供了发展的契机。计算机图形学(ComputerGraphics)是近三十年来发展迅速,应用广泛的新兴学科,它主要研究怎样用数字计算机生成、处理和显示图形。图形的具体应用范围很广,但是从基本的处理技术看只有两类,一类是线条,如工程图、地图、曲线图表等;另一类是明暗图,与照片相似。为了生成图形,首先要有原始数据或数学模型,如工程人员构思的草图,地形航测的判读数据,飞机的总体方案模型,企业经营的月统计资料等等。这些数字化的输入经过计算机处理后变成图形输出。计算机图形学是研究怎样用计算机生成、处理和显示图形的一门学科。国际标准化组织(ISO)的定义:计算机图形学是研究通过计算机将数据转换为图形,并在专门显示设备上显示的原理、方法和技术的学科。它是建立在传统的图学理论、应用数学和计算机科学基础上的一门边缘学科。图形学和其它学科的关系在许多论述中,经常将图形和图像统称为“图形图像”,这使得图形和图像的含义在使用上大大地模糊了,虽然它们都使用数字化的物体形态来表示,但它们的存储结构和表示方法是有根本区别的。图形是矢量结构的画面存储形式。矢量结构显式地表现画面内容的位置(坐标值),用一系列的线段或其它造型来描述对象;而画面内容的颜色或亮度是较隐含地统一描述的,它记录的内容主要是坐标值或坐标值序列。图像是栅格结构的画面存储形式。栅格结构将图像划分为均匀分布的栅格(像素),显式地记录每一像素的光度值(亮度/彩色);而像素的坐标值是规则地隐含的,其位置规则排列(如最常见的矩形排列)。图像处理:(imageprocess)——对图像采用增强、变换、去噪等技术进行处理增强(对比度):对暴光过度或不足,以及模糊的图象进行处理。变换:一幅亮度范围宽的图象—两种亮度的图象—线条状图形去噪:通过算法去除图像中的噪音干扰。目前市场上最著名的图像处理软件就是大名鼎鼎的photoshop模式识别:(patternrecognition)——这里特别指对图像进行模式识别,就是对图像提取特征、予以分类和描述关系,再进行模式匹配。计算机图形学的特点:a)计算机产生的图形有规律、光滑b)计算机产生的图形纯净美观、无噪声干扰c)计算机产生的图形不仅能描绘客观世界的各种对象,也能描绘纯粹是想像的主观世界中的各种对象d)交互式计算机图形显示可由用户控制,产生的图形可修改性强,且速度快、差错少1.1.2计算机图形学的发展准备阶段(50年代)发展阶段(60年代)推广应用阶段(70年代)系统实用化阶段(80年代)标准化智能化阶段(90年代)1.1.3计算机图形学的应用1.计算机辅助设计与制造——工业领域2.系统环境模拟3.计算机动画——商业领域4.计算机艺术——艺术领域5.非真实感绘制(NPRNon-PhotorealisticRendering)6.过程控制7.事务和商务数据的图形显示8.地形地貌和自然资源的图形显示9.科学计算的可视化10.多媒体应用1.1.4计算机图形学研究动态基于图形设备的基本图形元素的生成算法图形的变换和裁剪自由曲线和曲面——计算几何几何造型技术真实感图形的生成算法自然景物的生成——分形几何颜色科学及其应用计算机动画技术虚拟现实技术——实时交互式三维图形处理1.1.5计算机图形学的基本术语一、光点(Point)二、像素(Pixel)三、图形分辨率(Resolution)四、文本方式(TextMode)五、图形方式六、颜色调色板(Palette)七、视频缓冲区(VideoBuffer)1.1.6交互式计算机图形系统的组成与功能1.2常用的图形输入与输出设备高质量的计算机图形离不开高性能的计算机图形硬件设备。一个图形系统通常由图形处理器,图形输出设备和输入设备构成。这一节我们将逐个探讨这些图形硬件设备。1.2.1图形输入设备图形输入设备的发展第一阶段:控制开关、穿孔纸等第二阶段:键盘、光笔第三阶段:二维定位设备,如鼠标、坐标数字化仪、跟踪球、触摸屏、操纵杆、扫描仪等第四阶段:三维输入设备(如三维鼠标、空间球、数据手套、数据衣)智能人机接口:用户的手势、表情、语音等1.2.2图形输出设备(教学重点)下面重点介绍图形显示设备的各种显示器1.阴极射线管(CRT),按颜色分类有单色和彩色二种。按刷新方式分类,分直视存储管式和刷新式二种。重点是彩色光栅扫描显示器。2.LCD显示器3.LCOS显示器4.等离子体显示器5.未来显示器1.3计算机图形标准原则:与计算机硬件无关,实现程序的可移植性;通用的与设备无关的标准包括:核心图形系统CGS(CoreGraphicsSystem),1977年美国计算机协会公布计算机图形接口CGI(ComputerGraphicsInterface),ISO公布;计算机图形元标准CGM(ComputerGraphicsMetafile);计算机图形核心系统GKS(GraphicsKernelSystem);程序员层次交互式图形系统PHIGS(Programmer’sHerarchicalInteractiveGraphicsSystem);初始图形交换规范IGES(InitialGraphicsExchangeSpecification),1983年,美国国家标准局;等等。一些非官方图形软件,广泛应用于工业界,成为事实上的标准。包括:DirectX(MS)Xlib(X-Window系统)OpenGL(SGI)Adobe公司Postscript开放式、高效率的发展趋势思考题:1、名词解释:图形、图象、点阵法、参数法?2、图形包括哪两方面的要素,在计算机中如何表示它们?3、什么叫计算机图形学?分析计算机图形学、数字图象处理和计算机视觉学科间的关系?4、有关计算机图形学的软件标准有哪些?5、试从科学历史发展的角度分析计算机图形学以及硬设备的发展过程?6、试发挥你的想象力,举例说明计算机图形学有哪些应用范围,解决的问题是什么?7、一个交互性计算机图形系统必须具有哪几种功能?其结构如何?8、名词解释:鼠标、光笔、触摸屏、操纵杆、跟踪球、空间球、数据手套、数字化仪、图象扫描仪、声频输入系统、视频输入系统、平板显示器、发射显示器、非发射显示器、等离子体显示板、薄片光电显示器、激光显示器、LCD、LED、随机扫描、光栅扫描、刷新、刷新频率、图形显示子系统、显示控制器、属性控制器、象素点、光点、屏幕分辨率、显示分辨率、存储分辨率、组合象素法、颜色位面法、位平面、颜色查找表、显示长宽比、屏幕坐标系、MDA、CGA、EGA、VGA、SVGA、TVGA、AVGA、AGP端口、刷新带宽、显示存储器带宽。9、试列举出你所知道的图形输入与输出设备?10、阴极射线管由哪几部分组成?它们的功能分别是什么?11、液晶显示器的原理是什么?适用于哪些方面?12、什么是象素点?什么是显示器的分辨率?13、确定用你的系统中的视频显示器x和y方向的分辨率,确定其纵横比,并说明你的系统怎样保持图形对象的相对比例?14、如何根据显示器的指标计算显示存储器的容量和刷新带宽。15、为什么说图形显示卡与系统总线的接口仍会成为系统瓶颈?15、图形的硬拷贝设备有哪些,简述其各自的特点。补充上机实验章节:VC6快速入门教学学时:2课时教学目的与要求:让学生初步掌握VC6编译器的集成开发环境和使用,熟悉VC框架结构,熟悉单文档/视结构的框架,熟悉类向导的使用,要求学习完毕后学生能快速的进行VC环境下的编程,能编写简单的对话框程序,能将菜单映射到函数,实现简单的VC框架编程。定位:不是VC专业教程,不讲VC具体知识,比如里面的字符,循环,消息映射,虚函数,多态,继承,重载等等概念。是对具体编程步骤的一个简单指导,快速实质性学习VC的一个速成指南,一个快速上机操作的例子。具体用到哪些知识必要时候做些解释。主要针对图形学编程,但是开发方法完全可以推广到其它方面编程,是对以前学习高级程序语言设计的提高与应用。主要内容:第一部分:创建简单的对话框应用程序第二部分:创建简单的单文档视图文档结构第三部分:在第二步的基础上创建一个对话框教学重点:类向导的使用,从菜单到函数的映射,对话框类的使用和添加,VC编程规范。思考题:1、什么是面向对象的编程语言?特点有哪些?2、总结一下类向导的功能,思考一下如果使用类向导这个工具的逆过程,是不是可以一下子看清楚复杂程序的结构。3、什么是继承,注意父类public同protect和private类型变量或成员函数被继承到子类的不同。第二章直线扫描转换算法教学学时:8课时教学目的与要求:让学生初步掌握生成直线的几种算法,逐点绘制直线方法,dda绘制直线方法,Bresenham绘制直线方法,掌握算法的理论原理,学会从理论上的算法转换到编译程序中的代码实现这个思维过程,能够分析基本算法的优缺点,掌握算法的改良后适合计算机实现的算法,了解计算机计算和理论计算的差异。最后了解直线的线宽,其他线型的算法实现,了解VC语言中提供的简单绘