时间:2023-03-10 14:51:15
引言:寻求写作上的突破?我们特意为您精选了12篇计算机图形学课程范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
中图分类号:G420 文献标识码:A 文章编号:1672-3791(2014)10(c)-0155-02
计算机图形学是研究通过计算机将数据转换为图形,并在专门的显示设备上显示的原理、方法和技术学科[1]。目前,计算机图形学技术已经深入到人们生活的各个领域,例如:飞机、汽车外形设计、电影、电视广告、游戏制作、天气预报、医药医疗以及地质勘探等。因此,很多高校都越来越重视该门课,并把其列在教学计划中。但是该门课程原理深、算法抽象、实践性强。大部分学生在课程开始时抱着极大的兴趣学习,但随着算法的深入,虽然上课能听懂算法,但是课后实现算法却很困难,这样一来,理论与实践不能很好结合,而使学生觉得枯燥单调,学习的积极性与主动性逐渐下降,教学效果不理想。
1 教学中存在的问题
图形学教学中会存在如下问题:一是实验教材选择不恰当;二是很多高校图形学实验都是基于Turbo C环境下的编程,因编程界面不够友好,使用不方便,多数学生对它不感兴趣。三是过分注重理论教学,实践教学的时间远比理论教学时间少;四是过分强调图形学的数学基础;五是实践课程设置合理,但是实验内容有的过于简单,而有的又太难。以上五方面都会导致学生学习兴趣不浓或厌学。针对此,对实验课程进行改革是非常必要的。
2 图形学教学改革措施
如何针对本校学生实际制定适合其学习的实验方案尤其重要。通过笔者多年的教学实践,我们可以通过计算机图形学实验的演示、验证和开发,来巩固学生对计算机图形学所学知识的理解,同时加强学生的动手操作能力。可以从以下几方面进行改革。
2.1 教材选取
目前,图形学教材非常的多,大部分的经典教材中讲解的知识较多、难度较大,学生学习较吃力。如何选用教材,使学生学到更多知识很重要。在教学的过程中,针对地方高校的特点,学生的基础较差。笔者在教学中,把教学重点定位为二维知识的掌握;三维知识只作简单的了解和介绍,以此来降低学生学习难度,提高学习兴趣,为以后的三维知识的学习打好基础。因此,在选择教材时,尽量考虑偏重二维知识的、包括程序代码的,利于学生上机实验的教材。
2.2 编程环境选择
针对Turbo C编程环境存在的问题,我们在实验过程中可以基于Visual C++的MFC编程。因为VC开发环境是可视化的,编写的程序执行结果明显,学生有成就感,对完成实验更有自信[2-3]。通过实验,学生不但可以学习实用的编程语言,而且也促进其对新知识的学习。
2.3 实验教学改革
目前,课程开展了九个实验,实验内容如表1所示,其中实验类型有验证性、设计性和综合性三种。验证性实验是让学生对理论课程学习的图形学基本算法进行编程验证;设计性实验是一种探索性的实验,不但要求学生综合多种知识来设计实验方案,而且要求学生能充分运用已学到的知识,去发现问题、解决问题,实验中,学生自己选题、自己设计,在教师的指导下进行,以最大限度发挥学生学习的主动性;综合性实验是通过学生一段时间的学习,具有一定的图形学综合知识和技能,且实验内容涉及到这些知识和技能的实验[4]。
2.4 实验项目说明
实验1中,关键是熟悉VC的MFC编程环境,了解如何创建工程及添加消息以及 MFC绘图函数的使用。
实验2中将验证直线生成算法。通过理论分析直接直线生成算法、DDA算法、Bresenham算法、中点画线算法等,找到各算法的优缺点,对比各种算法运行的速度;然后通过上机实现上述算法,并比较各算法在生成同一直线时的效率。
实验3中对比中点画圆算法与Bresenham画圆算法的实现机制及运行效率。
实验4中主要是验证课本中内点表示、边界表示的4连通或8连通种子填充算法填充规则图形(矩形、圆等)及不规则图形(任意形状各异的图形)。实验中,对于基础好的同学,还可试着采用扫描线多边形填充算法(选做)来填充一个简单的图形内部。
实验5中主要是运用已学过的各种图形学的知识来填充圆的内部。A.点到圆心的距离小于等于半径;B.种子填充法;C.Bresenham画圆法;D.用改进的Bresenham画圆算法;E.中点画圆算法;F.改进的中点画圆算法等。并对比各种算法在填充圆的内部时的差异。(见表2)
实验6主要是验证Cohen-Sutherland直线裁剪算法。实验主要是基于矩形窗口的直线裁剪,对于三类型直线裁剪的正确性进行验证:一是直线完全在矩形窗口内;二是直线完全在矩形窗口外;三是直线与矩形窗口有交。其他直线裁剪算法的验证可选做。
实验7中,可针对生成的一个简单图形实现其二维变换。例如三角形的比例、平移、旋转变换等。
实验8中,主要是实现课本中的Bezier曲线生成算法。若能正确生成Bezier曲线,可以结合图形变换知识和平面曲线知识实现的正叶线、正叶线蝴蝶结等图形的生成。
实验9中,可以结合本学期的学习情况,利用所学的图形学知识,发挥想象力,设计一个图形学作品。例如:雪人,火车等。
3 结语
从文中的实验教材、实验教学环境以及实验教学内容的选取以及多年的教学经验,可以看出在计算机图形学实验课程教学中,首先要加强理论与实践相结合,要进行培养方案修改,加大实验课的比例;其次要针对学生的特点,找到适合当前学生学习的方法和实验内容进行教学。经过改革后,教学效果较好。
参考文献
[1] 伏玉琛,周洞汝.计算机图形学――原理、方法与应用[M].武汉:华中科技大学出版社,2003.
中图分类号:G642 文献标识码:B
计算机图形学是一门理论与实验并重的学科。从理论方面看,该学科主要涉及与图形相关的概念和算法,和数
学、物理等相关学科的关系紧密,学起来有一定的难度。而实验是理论教学的深化与补充,是抽象转化为具体的方式,是晦涩难懂的公式变为活生生画面的过程。通过实验,不仅可以培养学生综合运用所学知识解决实际问题的能力,而且对于建立学生自信心、培养学生兴趣也起至关重要的作用。学生对该课程是既喜欢又担心学起来难度太大,如何上好第一次课,改变学生的态度,如何安排教学内容和实验环节,使学生既易于接受又能反映计算机图形学的基础知识和最新知识。本文针对这些问题,结合教学中的实际情况浅谈一下自己的看法和体会。
1课程内容介绍
在多数人的印象中,计算机图形学和其它专业课相比较,数学公式太多,难以学习和理解。但是由于它的诸多应用非常具有吸引力,尤其它是大家所感兴趣的游戏和动画的基础,很多学生又想接触它。如何加强学生的这个念
头,第一次课非常关键,它在很大程度上决定了学生是否选学这门课。图形学的理论虽然抽象,但是所表示的内容却形象,可以以此作为突破口。我们知道被称为“图形学之父”的Sutherland博士论文答辩时,将所研究的内容制作一部电影,边放映边讲解,大获成功。所以我觉得可以从一个动画短片或游戏片段出发,将所涉及的图形学知识融会贯通起来。因为在没学习图形学之前,学生很难建立图形学知识和游戏动画之间的联系。他们只知道图形学理论很抽象,游戏动画很容易吸引学生眼球,而且也知道它们之间的关系很紧密,但具体有什么联系却不是很清楚。我们可以从此出发,引出图形学的相关知识,让学生在不知不觉中了解图形学,接受图形学。这样轻松建立了相关知识点与实际应用的联系,也解答了学生学有何用的疑问。
现以动画短片《棋逢敌手》(Geri's Game)为例来说明如何引出图形学内容。该短片讲述的是Geri老头在公园跟自己下棋的事,故事情节生动,动画效果惟妙惟肖,很具吸引力。学生非常感兴趣,这是怎么做的,采用什么技术,Geri老头是怎么得到的等等一系列问题。我们便可以问题为导向一一解释给学生。Geri老头采用的是一种称为Catmull-Clark的细分曲面造型技术,在造型之前需要准备数据,所谓巧妇难为无米之炊,一般这样的数据是先建立一个实物的模型,然后通过三维激光扫描仪获取的。三维扫描仪扫描实物的表面数据,其数据量大,而且带有噪音,所以需要做去噪,简化等处理。简化后得到Geri老头的表面骨架,然后再采用细分曲面造型技术获取光滑逼真的模型。细分造型是一种逐层加细技术,如图1所示,图1(a)-(c)是不同层次的效果。从中可以看出图(c)图形的光滑效果最好,而图(a)最差。但是图(c)的数据量最大,这就需要根据不同情况选择不同的图形,如图2所示,当图形距离我们较远时可以选择精度不高的(a)图形,而较近时选择(c)图形。在游戏动画方面,对速度要求高,而对图形逼真性的要求相对低,这时可以选择数据量小的图形。这样通过图形展示给学生以感性的认识,一方面易于接受,易于理解,另一方面也能增加学习的兴趣。另外,形象逼真的图形采用真实感绘制技术,场景远近变化利用了图形变换的知识等等。一个短篇,基本上把图形学的相关内容都包括了,我们还可以再结合其它一些具体生动的图形动画介绍给学生。实际上,在图形学授课的各个环节,为了调节枯燥的数学公式,都可以演示一些相关内容的图形,也所谓的多媒体教学,在这方面,图形学应该更有优势。
2理论与实践并重
对计算机图形学这样的专业课而言,理论的学习离不开实践,实验是非常重要的一个环节。抽象的理论,乏味的数学公式,如果不和实验结合,学生是体会不到学习乐趣的。通过实验,所学的知识得以巩固,枯燥的算法与生动的图形之间建立联系。学生的兴趣也是通过实验建立起来的。每次实验报告,我都会要求学生写下心得体会,从报告可以看出,多数学生能够在实验中找到快乐,能够通过实验建立自信心,成就感。他们说做实验很受锻炼,知识掌握的也更牢固。当然有的学生也提到,做实验是一件非常辛苦的事情,特别是没有思路或者找不到错误时,真的很痛苦。但是成功后的满足,特别是做出来的那一瞬间,那种心境别人无法体会。
由于计算机图形学是专业限选课,学时不多。我们一般安排32个上课学时和16个实验学时。为了增加学生的知识面,我们的实验是在Sun工作站Solaris操作系统下采用gcc编译器进行,编程时调用OpenGL库中的图形函数。通常安排4个学时熟悉这些内容。这样根据剩余学时安排五个小实验:直线生成、裁剪、几何变换、曲线生成以及真实感图形绘制,还有一个综合性实验:做一个简单的图形系统。题目的要求随着难易程度变化。直线生成算法比较简单,学生编写的程序应具有通用性,适用于任何直线。裁剪算法是为了确定显示区域内的图形,实验一般要求实现线段裁剪算法,算法易于实现,考虑到易操作性,采用交互式的画线方式,即以鼠标点击绘图区的位置确定线段的起点和终点,其中涉及消息映射和屏幕坐标到世界坐标转化等相关知识。几何变换几乎在每个图形系统或图形应用软件都有使用,其主要包括旋转、平移、缩放以及复合变换等内容。学生对三维图形更感兴趣,尤其是较复杂的图形。在做该实验时,通常先介绍一些三维图形的相关知识,包括几何图形表示、存储形式以及读文件操作等,一般以简单的OBJ数据文件为例。然后让学生实现三维图形的几何变换。另外,考虑到该实验包括几个操作,增加了菜单选择功能。曲线曲面也是图形学的核心内容,生成方法有两种:一种是逐层递推的方法,另一种是根据参数曲线定义。学生根据自己的理解选择不同的方法实现。在曲线生成的基础上,增加鼠标拖动控制点改变曲线曲面形状的功能。真实感实验是为了增加学生学习的兴趣,通过调用OpenGL的库函数做出一些漂亮的效果,让学生感觉到图形学功能很强大,一些看似复杂的效果实现起来也简单,只需调用OpenGL中现成的库函数。综合性实验报告我也鼓励学生做一些自己感兴趣的东西,比如有的学生对游戏很感兴趣,基础也较好,想做一个小游戏,我是完全许可的。应该来说,安排的实验任务重,覆盖内容多,在有限学时内完成这些实验是不可能的,需要学生在课外做许多准备工作。而且,有些知识点较难,学生难以消化。针对这种情况,实验部分也分了解和掌握两种情况,这样做的一个目的就是想增加学生的知识面。
3教学内容安排
计算机图形学知识更新快,内容深而广,如何在有限的学时内安排教学内容,使讲解的知识难度适中,既兼顾基础知识又可以反映计算机图形学的最新成果和技术,同时,既兼顾理论又兼顾实验。另外,在学生可以接受的情况下尽可能介绍三维知识。
我们的教学内容主要分这几部分内容:光栅图形学,图形变换,几何造型,真实感图形绘制。而且,各部分内容贯穿OpenGL的相关知识。前两部分比较基础,内容相对简单,课时尽可能安排紧凑,理论讲的相对深入。但是对于几何造型,尤其是曲线曲面造型部分,内容的深浅需要根据学生情况来把握。曲面难度较大,一般只介绍大致的思路及做一些演示。对于曲线,如果讲得比较深入,对于基础不好的学生来说也难以接受。我曾尝试采用分段多项式的形式推导B样条基函数,不少同学听得很费力,甚至影响后面知识的学习。现在讲这部分内容时,我只是介绍基函数的由来,告诉学生基函数是根据曲线的性质和定义推导出来的,不是随随便便指定的,这样学生比较容易接受。实际上,无论Bezier曲线或B样条曲线,都是曲线造型技术中的经典算法,但也存在缺点。目前比较流行的曲线造型技术是细分算法,它有很多很好的性质,如多分辨率,应用简单等。由于其比较新,很多教科书中尚未介绍。一般我从应用层的角度将三次B样条细分和四点插值细分等典型算法介绍给学生,介绍他们的特点以及实现技术。真实感图形绘制部分,涉及数学、物理、心理学等方面的知识,理论较深,不太适合本科生学习。但由于其做出来的图形太漂亮,很具吸引力。而且,用OpenGL的库函数实现并不难,所以这部分内容我一般是介绍一些基本概念,然后做一些程序演示。一方面增加学习的兴趣,另一方面让他们意识到,有些知识尽管理论比较深,但由于有现成的类似OpenGL库函数这样的技术支撑,也容易实现。很多东西并不是想象的那么神秘,那么可怕。
4结语
计算机图形学是一门理论内容深,应用范围广的课程。本文就如何组织教学内容谈了自己的见解和体会,目的在于提高学生学习兴趣,让学生在易于接受的情况下学到更多有用的知识。实践表明方法具有一定的可行性,普遍学生反映,通过课程的学习体会到了图形学的博大精深,增加了图形学的学习兴趣。但也有部分同学感觉有些内容讲解不够深入,难以理解。所以,如何在有限的学时内更好地组织教学,还有待进一步探讨。相信通过学习、思考和实践可以做得更好。
参考文献:
[1] 唐荣锡,汪嘉业,彭群生. 计算机图形学教程(修订版)[M]. 北京:科学出版社,2000.
中图分类号:G4
文献标识码:A
doi:10.19311/ki.16723198.2017.01.082
0引言
随着市场对游戏开发人才的需求越来越大。许多高校在本科阶段设置了有关游戏开发方向的课程。“计算机图形学”作为一门计算机科学方向的专业基础课,主要讲授包括:模型绘制、模型渲染、纹理和光照等内容。这些内容是构成游戏开发的主要理论基础。然而,在实际教学过程中学生普遍反映“计算机图形学”难学,主要体现在图形学涉及的数学知识较多、相关算法晦涩难懂。如果没有大量的实践,学生会感到空洞与乏味。如何在讲授“计算机图形学”基本理论的同时,结合游戏开发的实践,使得学生将枯燥的理论和算法与游戏开发的能力实现有机的对接,是一个值得深入探讨的问题。本文在分析了目前“计算机图形学”授课内容的基础上,结合其内容与游戏开发之间的内在联系,对面向游戏开发的“计算机图形学”课程建设思路进行了探讨。
1当前“计算机图形学”授课现状
目前大多数高校的本科“计算机图形学”授课时间控制在50学时左右。以笔者所在的学校为例,理论与实验学时分别是36和14学时。如图1所示,理论授课内容主要分为二维、三维模型绘制、几何变换和渲染,相关数学基础和图形引擎库OpenGL等。传统的课堂教学中,二维图形学的内容占据相当大的比例。然而,在实际游戏开发实践中,二维图形涉及的较少,主要以包括:三维建模、几何变换、视图变换、材质、纹理贴图、图形渲染、模型动画等三维图形学的内容为主。如表1所示,实验内容主要以模型的绘制、剪裁、渲染为主,实验类型主要以验证型为主,实现方法主要采用C++语言和OpenGL图形库。学生在学习这一部分内容的时候,普遍感到算法较为枯燥,而且无法和实际应用联系起来,容易产生厌学的情绪。而且,OpenGL作为一款以C++为基础的开源三维图形引擎,优点是独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植,弊端是封装性不够,要实现复杂的游戏动画效果需要学生对底层的动画原理和数学知识有较强的理解和熟练掌握C++编程技能。
在授课环节上,老师一般采用是先讲授图形学理论课,然后进行实验课,目的是在实验环节让学生应用所学的理论知识,锻炼实践能力。但该方式也存在一些弊端:理论课和实验课相对割裂,学生在学习图形学算法和理论时对枯燥的内容感到较难,缺少实践,而在实验环节,在有限的时间内很难真正掌握开发工具并作出具有一定深度的作品。
2面向游戏开发能力的算机图形学课程建设思路
基于上述问题,笔者结合游戏开发所需要的能力特点,从以下几个方面入手,对“计算机图形学”课程的改革进行了论述。
2.1课程内容
由于本门课程的学时限制,我们对目前授课内容的基础上进行了相应的取舍,即讲授重点放在三维图形学的内容。另外,将一些游戏开发过程中较为关键的图形学相关内容补充到授课内容中,例如以下两方面的内容:
场景组织与模型渲染:场景组织是三维游戏中核心内容之一。在一个三维游戏中,需要将许多的模型用某种数据结构的方式将其组织起来,然后在绘制每一帧的时候将其渲染处理。如何合理有效地管理三维场景中物体之间的相关、从属、互相影响的关系会对三维场景的生成效率产生重要影响。场景组织需要牵涉到数据结构中的排序算法,如:N叉树排序、堆排序算法。现有的大多数图形学教材并没有将上述内容列入主要章节,而场景组织的相关算法是实现游戏开发的核心算法之一,对这一部分的内容应补充进授课内容。
模型交互与动画算法:在游戏开发过程中,三维模型的交互是利用鼠标和键盘对模型的运动进行控制。三维模型的动画包括:模型运动、碰撞检测、人体骨骼动画、漫游等。掌握这部分内容对于学生深入理解游戏开发来说也是极有必要的。根据笔者所知,目前的《计算机图形学》教材中,大多数没有涉及这部分内容,但也有一些《计算机图形学》课本增加了三维模型动画及动力学的内容,如潘云鹤等所著的《计算机图形学:原理、方法及应用》一书中,就计算机动画的应用作为专门的一章内容进行介绍。
2.2内容组织
针对图形学中大多数的理论比较抽象,实验也大多为算法的验证型实验。大多数学生在学习本门课之前并没有相关计算机图形学方面的知识储备,因此造成学生普遍反映没能将所学知识应用到实际应用中,从而降低学习本门课程的兴趣。教师在具体讲授过程中,可以按照构造游戏的流程,从角色建模讲起,用游戏设计这一根主线找出各部分内容之间的联系,使得学生对课程的内容和游戏开发之间的关系有一个全貌性的认识。本文对图形学中相关算法与游戏开发的具体应用之间进行必要的对接。例如,在讲解物体建模内容方面,可以先采用三维建模软件(3DMAX或MAYA)实现基本物体的建模过程,并通过不同的视图展示模型的线框或三角面片视图。这样可以让学生直观的感受图形学中三维模型是如何构造的,从而让其理解在OpenGL中所调函数的意义。三维模型的显示方面,通过在三维建模软件中设置摄像机成像原理,经过三维空间中实体的世界变换、视角变换等过程了解模型剪裁、几何变换、投影变换的作用,从而更好的辅助学生了解相关算法的理解。真实感图形学主要包括光照模型、纹理贴图等,是图形学中较为复杂和难理解的内容。老师利用三维建模软件中的灯光、材质、质感、纹理贴图的实现过程,让学生直观的了解图形学中实现真实感的途径与方法。欲使课堂讲授的内容生动起来,必须有实际的案例支撑,因此建设面向游戏方向的图形学案例库,使得学生能够快速理解和掌握相关理论和技术,对于提高图形学课程的授课质量至关重要。
2.3图形库的使用
目前大多数图形学课本都是采用OpenGL作为实验的图形生成库。该图形库对于学生理解简单模型的生成具有良好的作用。但是OpenGL对场景组织、模型渲染、真实感、动画等功能的封装不够,从而造成需要学生对一些渲染、光照等数学模型有着较为深刻的理解,并将其用C++语言和OpenGL实现。为了让学生掌握游戏开发中有关场景组织、模型渲染和动画等相关功能,本文建议使用当前主流的3D图形API,如:DirectX或者OSG(Open Screen Graph)等。DirectX是微软开发的多媒体引擎主要用于Windows操作系统开发。Open Scene Graph是一个著名的开源三维图形库,被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建。这两个图形库对涉及场景组织、渲染、光照、模型交互动画等高级算法具有良好的封装,使得学生在使用只需要调用相关的API函数即可生成生动的游戏渲染和动画效果。
3结论
结合图形学教学的实际以及游戏开发专业方向的培养目标,从教学内容、内容组织、图形库选择三个方面对于面向游戏开发导向的“计算机图形学”课程教学改革进行了一些探讨,希望能对游戏开发专业的教学和课程建设有所促进。
参考文献
[1]孙家广,胡事民.计算机图形学基础教程[M].北京:清华大学出版社,2005.
[2]向世明.OpenGL编程与实例[M].北京:电子工业出版社,1999.
计算机图形学是计算机应用领域中一个非常重要的学科。该学科主要研究如何利用计算机表示图形以及生成和处理图形的基本原理、方法和技术。它的应用渗透到了社会生活和生产的各个领域,如虚拟现实、地理信息系统、科学计算可视化等,是现代信息技术不可或缺的重要内容。计算机图形学不仅是高校计算机专业的基础课,也是理、工、农、医等专业的必修课。该课程是一个多学科相互交叉、相互渗透的学科,综合了数学、计算机科学和图学理论等相关学科的知识,其原理抽象、算法复杂、具有很强的理论性、综合性和实践性[1]。作为山西省应用型本科试点院校,课程建设课题组积极探索转型路线,赴国内多家院校探讨学科前沿和先进教学方法;与多家知名企业合作探讨人才培养需求。在山西省精品资源共享课的基础上,从企业对人才的实际需求出发,与企业合作修订人才培养方案,修订教学大纲,以计算机科学与技术专业学生为试点,增强“以能力为导向”的计算机图形学应用课程建设。经过恰当地组织教学内容,有效调整教学模式,采用了“案例引导、传输理论、算法可视化”的新授课模式,突出以学生为主体的“积累知识、积极思考、主动创新”的教学新理念,进一步提高了学生运用基本理论知识分析和解决问题的能力,培养的学生得到了市场和用人单位的认可,并与多家公司签订了人才订单培养协议,实现了人才与市场的无缝对接。
一、计算机图形学教学现状
近年来,随着计算机硬件配置的提高、智能手机的普及,尤其是游戏产业、三维数字城市的迅速发展,计算机图形学课程已经成为计算机专业或数字媒体技术专业的核心课程[2],在培养方案中占有重要的地位。由于该课程是一门原理算法复杂、抽象,实践应用性很强的课程,对教师和学生的编程能力要求较高,因此普遍反映教学有一定难度。通过文献研究,国内高校在计算机图形学课程教学中存在以下问题。
(一)实践教学资源匮乏由于案例源程序匮乏[3],这导致在课堂上教师主要以讲解原理为主,学生存在理论学习和实践应用脱节的现象,存在学习完理论后仍然不会编程实现的情况,这不能满足应用型人才培养的要求。
(二)教学模式单一传统的教学方法以教师课堂讲授为主,教师一次性地将知识灌输给学生[4-5]。教学过程以教师为主体,教师教什么,学生就学什么;教师怎么教,学生就怎么学。这种教学方式忽视了学生的主体性及教师与学生的互动性,限制了学生的主观能动性,制约了对学生在知识、能力和素质方面的综合教育。
(三)教材选择不当教材选择不当,培养目标与企业需求不对接目前,国内计算机图形学教材主要存在“面向理论和面向应用”两种典型教学体系[6]。面向理论的教材是传统教学体系,其重点放在对概念的解释与原理的讲解;面向应用的教材是当前主流的教学体系,它注重培养学生在掌握计算机图形学理论知识的基础上,学会应用典型的图形学API。在这些计算机图形学教材中,多数教材适合高校硕士生与博士生从事科学研究,而面向本科生、按照市场需求基于底层算法开发的计算机图形学的教材相对较少。市场对本科生计算机图形学技术的应用人才需求量巨大,这导致人才培养与工程应用和企业需求不对接。
二、以能力为导向,构建计算机图形学教学内容
应用型工科院校本科人才培养在遵循本科人才培养自身的教育规律基础上,应注重夯实理论、突出实践、强化应用,既不能沿袭普通本科的教育模式办成学科型或研究型的本科,也不能为了突出应用而弱化基础理论的教学。应该是理论教学和实践应用相结合,突出工程特色,培养既有基本的理论素养,又有很强动手能力的应用型人才。应用型工科院校应结合市场和企业的能力需求,积极探索以能力为导向的培养目标,构建突出工程实践能力的教学体系。针对该课程教学存在的不足之处,课题组以培养目标为核心,提出了“教材建设系列化,理论教学目标化,教学过程案例化,实践资源数字化”的课程建设方案[7],为学生搭建可视化课程的整体构架,打造了“精品资源共享课程+系列化教材+微视频”立体化的教学平台。
(一)系列化教材建设课题组从企业对人才的实际需求出发,在注重培养学生系统了解计算机图形学理论知识的同时,又强调培养学生正确使用图形学知识进行软件开发的能力。在教学内容上,主要以能力为导向确定必备的知识点和理论算法,摒弃不必要的偏向数学的公式推导,开发了与理论相对应的实现案例。基于VisualC++中的MFC框架,采用案例教学法建设了丰富的教学资源,解决了实践教学资源匮乏的问题。先后编写了适合应用型本科院校使用的理论和实践相对应的立体化教材,即《计算机图形学基础教程(VisualC++版)》《计算机图形学实践教程(VisualC++版)》和《计算机图形学基础教程(VisualC++版)习题解答与编程实践》《计算机图形学课程设计教程(VisualC++版)》等国家级“十二五”规划系列教材。教材内容从编程角度讲授计算机图形学原理和算法,强调真实感光照模型的实现,在不使用任何图形库的前提下,使用MFC的绘制像素点函数,按照计算机图形学的基本原理开发出可与OpenGL或Direct3D显示效果相媲美的真实感图形。
(二)实践教学案例建设实践教学资源选用VisualC++的MFC作为开发工具,以生成真实感光照模型作为教学主线,开发了满足课堂教学、实验教学、课程设计以及工程化训练需要的“验证性、综合性、创新性和工程化”4个层次的教学资源[8]。在验证性资源方面,主要对应教学内容每一个原理开发了60个源程序案例,此外以出版“习题解答”教材的形式给出了200个习题答案,以及拓展案例,这些资源有益于学生形象化地理解图形学原理和算法。该资源应用于案例化课堂教学和课后练习。在综合性资源方面,开发了金刚石图案的绘制、任意斜率的直线段的绘制、交互式多边形、二维、三维几何变换、裁剪、地理划分线框球、透视投影、简单光照模型、Phong光照模型、Gouraud光照模型、纹理映射等18个源程序案例。该层次资源应用于实验教学,指导学生综合运用所学的图形绘制原理和算法绘制较为复杂的图形。在创新性资源方面,开发了基本图元光栅扫描演示系统、动态光源演示系统、3DS接口演示系统、递归动态球体演示系统和圆环动态纹理演示系统等源程序案例。该层次的资源应用于课程设计,旨在提高学生绘制图形的创新性思维和编程能力。在工程化资源方面,开发了基于3DSMax绘制的建筑物几何模型、基于Maya绘制的人物角色等模型,用户能够将绘制的模型导入到场景内进行驱动。该层次的资源主要应用于毕业设计、大学生创新项目;该资源应用于游戏开发、虚拟现实,以满足企业工程项目开发的需求。4个层次的资源构成了图形学实践教学资源库,资源从单个知识点的学习、到多个知识点的综合应用以及图形系统的开发和基于真实建筑物的场景的绘制,全方位地强化了学生的动手能力。该资源库既覆盖了计算机图形学教学全部知识点及教学全过程,又体现了工程应用特色。同时,该资源库使教学模式由传统的灌输式转换为案例化教学法,有效地培养了学生的逻辑思维能力、实际动手能力和应用创新能力。
(三)““微课程”建设随着数字信息时代的到来,以“微课程”为基础的“微教学”模式逐渐在教育领域发展起来。为提高教学效果、增加学生获取知识的方式,课题组进行了“微课程”资源建设。首先,选取课程的重要知识点和难点,再针对某一知识点进行教学设计,结合案例资源制作演示文稿PPT、微教案、微反思、测试题及教师点评等。其次,采用“录屏”方式录制短小精悍的微视频。“微课程”具体建设项目为:1.直线的Bresenham算法;2.圆的中点算法;3.直线的反走样算法;4.有效边表填充算法;5.二维几何变换算法;6.三维几何变换算法;7.正交投影算法;8.Bezier曲线算法;9.Bezier曲面算法;10.斜投影算法;11.透视投影算法;12.背面剔除算法;13.简单光照模型算法;14.三维纹理映射算法;15.函数纹理映射算法。
三、“案例化”+“微课程”教学方法
(一)““案例化”教学方法使教学重点从传授知识转向能力培养在教学过程中,采用“公式原理-算法实现-实践拓展”的教学法取代传统的知识讲授教学方法,将编程实践贯穿于整个授课过程中,让枯燥的理论在实践中得到检验。教师在讲解原理和算法时,引导学生分析和归纳,设计编程思路,实现所需图形的开发。这样既传授了图形学的理论算法,又提高了学生的编程实践能力。
(二)““微课程”教学方法使教学模式由传授方式转向引导方式“微课程”作为一种教学资源在电子书包、线上线下学习和翻转课堂教学中有着非常重要的作用,它可以作为课堂教学讲授的实例演示与补充,微课还可成为翻转课堂的教学资源。“微课程”具有“碎片化学习”和“情景化学习”的特点,有利于学生课前预习、课后复习,让学生能根据自身掌握的情况反复学习。这种学习方法,更符合学生的认知心理特点[10]。案例化课堂教学是面对面教学,它的优点是可以和学生互动教学,有利于激发学生学习的主动性,有利于学生实践能力的培养;缺点是教学过程不可重复,无法兼顾学生的差别化学习进度与节奏。而微课具有学习可重复性的优点,学生可以根据自己的学习节奏灵活选择,但缺乏课堂互动是微课的缺点。将“课堂案例化”和“微课程”线上线下教学方法相结合,这既改变了传统教学方法的弊端,又激发了学生学习的主动性,能为培养适应社会需求的应用型人才奠定基础。
(三)教学考核评价由于该课程是实践型很强的课程,因此课程考核评价采用以编程操作为主的上机考核。通过建立注重过程评价、突出能力导向的多元化考核评价体系,提高学生参与课堂教学的积极性,从而实现对学生能力导向的全面客观评价。考核评价分为课堂过程性考核+实验考核+期末大型作业上机编程考核。课堂过程考核分值占总分的50%,实验占总分的30%,期末占总分的20%。课堂过程性考核的方法是将学生分组、定期轮流进行考核,要求学生完成课后作业后,按要求进行程序演示并回答教师的提问,最后提交全部的源代码与相关文件的电子档。实验考核方法是根据完成实验项目的情况进行评定成绩,包括程序代码是否符合编写规范、运行程序是否实现了预期效果。期末大型作业通过上机编程进行评价成绩,包括程序运行效果评价、设计报告评价,设计报告内容要求有源代码和说明书。
[3] 孙迪,余胜泉. 建构基于学习对象的网络课程教学设计模板[J]. 开放教育研究,2005,11(2):71-77.
The Exploitation and Application Research of Web-based Course of Computer Graphics
DU Hui, SHU Lian-qing
作者简介:邹耀斌(1978-),男,江西鹰潭人,三峡大学计算机与信息学院,讲师。(湖北 宜昌 443002)
基金项目:本文系三峡大学人才引进项目(项目编号:KJ2011B040)、三峡大学2012-2013年度求索大学生创新活动计划重点项目课题的研究成果。
中图分类号:G642.0?????文献标识码:A?????文章编号:1007-0079(2012)31-0080-02
CDIO代表构思(Conceive)、设计(Design)、实施(Implement)和运作(Operate),CDIO教育理念是近年来国际工程教育改革的新成果,是一种将理论教育与实践教育紧密结合的创新教育理念。[1]CDIO让学生以主动的、实践的、课程之间存在有机联系的方式学习工程,引导学生主动有效地学习课程知识,并以团队的形式通过实践来提高学生对知识的应用能力。[2]
CDIO教育理念和模式的先进性和优越性集中体现在实践可操作性、全面系统性和广泛适应性这三个方面。[3]首先,CDIO系统地阐述了能力培养、全面的实施指导以及检验测评的12条标准,这些内容具有很强的实践可操作性。其次,CDIO强调培养学生的综合能力,所设计的CDIO能力大纲涵盖了学生综合能力培养的四个层面:个体的技术知识和推理能力、个体的职业技能、团队的协作和交流能力以及项目的构思、设计、实施和运作能力。最后,世界上众多高等教育机构近10年来持续不断的改革和探索表明,CDIO教育模式经过适当的调整,可以适用于绝大部分工程学科的大学生教育,其中也包括计算机专业的工程教育,[4]展现了CDIO的广泛适应性。
计算机图形学的应用范围涵盖科学、艺术、工业、商务、医药、政府、娱乐、广告、教学和培训等各个方面。[5]鉴于计算机图形学应用领域日益广泛的现实,国内外大学在计算机专业大都开设了“计算机图形学”课程,三峡大学也将其确定为主干选修课程之一。“计算机图形学”课程具有很强的理论性和实践性,在教学中不但要注重学生专业理论知识的教育,更要重视学生的工程实践能力的培养。CDIO能力大纲的四个层面完全涵盖了“计算机图形学”课程对学生能力培养的各个方面,因此将CDIO教育理念引入到“计算机图形学”课程的教学改革具有积极的指导意义。
一、“计算机图形学”课程的教学现状分析
教学实践表明,修学“计算机图形学”课程的学生,他们在学习过程中表现出的兴趣普遍呈现先高后低的特征:一开始兴趣非常浓厚,也愿意和教师交流。但随着课程的推进,学习的主动性明显退化,以至于最后成为被动接受的机器。造成这种尴尬境地的因素是多方面的,归结起来主要有以下4个方面的原因。
1.基础理论宽泛,课程难度较大
“计算机图形学”是数学、物理、计算机、心理学等多个学科交叉融合的一门学科,理解计算机图形学的许多问题往往要有很好的数学或者物理知识。三峡大学是一所省属二本院校,总体而言,学生的数理基础相对薄弱,一旦碰到复杂的数学公式推导和物理背景分析容易打退堂鼓,也就很难持续保持浓厚的学习兴趣。
2.课程内容偏多,理论课时偏少
一方面,“计算机图形学”涵盖的内容非常多,既包括图形系统介绍、二维三维图形绘制显示,又包括真实感、非真实感建模与绘制、计算机动画生成等等,而每项内容又涉及到很多细节技术。另一方面,课程的理论学时通常不到40。在偏少的学时内,计算机图形学的知识体系容易被拆分成零散的知识点,使得学生无法从全局把握该课程的知识体系,容易丧失学习目标。
3.教学观念落后,考核方式单一
传统的以“知识点为导向”的教学观念,过分强调学生对知识点的掌握,教师对教学大纲中要求的知识点作详细的讲解,容易形成一种满堂灌的教学局面,反而降低了学生的学习主动性。另外,以“知识点为导向”的教学观念产生的考核方式往往很单一,要求考试内容尽可能多地涵盖大纲中的知识点。这种考核方式容易误导学生把时间和精力放在记忆知识点上,但是实际上又无法真正考核学生对知识的应用能力。
4.偏重理论教学,实验成摆设
“计算机图形学”是一门高等工程学科,它需要在理论的指导下和工程实践结合。或许是受课程理论基础宽泛的影响,教师往往容易将重点放在理论的讲授上,反而忽视了重要的实验环节。调查显示国内很多二本院校只开设了不到10学时的实验课,使得原本很重要的实验变成了装饰。另外,计算机图形学实验平台的搭建也被很多二本院校所忽视,很多院校没有专用的计算机图形学实验室。
二、融合CDIO教育理念的教学改革实践
“计算机图形学”课程教学中存在的上述问题,容易使学生丧失学习兴趣,学生很难掌握基础知识和专业编程技能。另一方面,CDIO理念利于激发学生的学习兴趣、加深专业基础知识的理解与应用、锻炼和提高学生的工程实践能力、培养学生的团队协作精神。据此,我们引入CDIO理念并制定了CDIO模式的“计算机图形学”课程教学改革方案,具体地涉及如下4个方面的教学改革。
0 引言
大学的主要任务是培养人才,特别是培养创新人才。培养创新人才的基本途径与方法有课程教学、参与科学研究与项目开发、对外学术交流等。然而传统本科课程教学多注重传授学科的系统理论等专业知识,不重视对知识产生原因、方法的介绍,如忽视思考解决学科基本问题的具体过程等,这会造成课程教学传授知识与科学研究相脱节,导致学生的知识结构产生缺陷,不利于他们将来从事创新等研究工作。为配合计算机图形学课程的教学改革,根据计算机图形学课程的特点,笔者提出一种面向科学思维的教学新方法,它能有效弥补传统本科课程教学的不足。
1 面向科学思维教学方法的基本要求
常见典型的教学方法有:结构主义的教学方法、建构主义的教学方法、问题(任务)驱动教学方法等。这3种方法各有其优缺点,一个好的教学方法最好能全面综合这3种方法的优点。面向科学思维的教学方法要求把思考问题的方法、系统分析与综合的方法、科学研究的工作方法、查找资料与抽象的方法等知识产生的方法引入课程教学中,有效讲解学科专业知识是根据发展需求、通过研究各种问题产生的;专业理论体系或与其学科结构是由多项研究成果形成的,这些知识是科学研究与科学思维产生的结果。
结构主义、建构主义与面向科学思维教学方法的异同点见表1。
2 确立计算机图形学课程的教学内容与教学模式
2.1 传统计算机图形学课程教学改革的原因
2013年以前,国内外传统计算机图形学课程教学以讲授图形标准(显卡驱动与显示图形等子程序的集合)或CAD为主。这种CAD与计算机图形学(即图形标准)学科的划分有问题,它只便于图形标准的硬件实现,却因基本概念不全导致这两者均不能独立讲清三维真实感图形的自动生成原理以及计算机程序设计的基本规律,更不能总结计算机图形学的研发成果与发展规律,不能满足计算机图形学学科建设发展需求。
2.2 用系统分析与综合的方法确立计算机图形学课程的教学内容
2.2.1 系统分析:从理论上确立实现计算机图形学课程目标的发展路线图
本课程目标是用计算机程序自动生成类似人眼观察世界获得的观察图像(亦为学科研究的基本问题,它适合作为建构主义教学方法要求的教学环境需求问题)。为此至少要完成3个子任务:①掌握三维图形的生成原理;②掌握生成三维动画等图形的程序设计;③理顺新课程教学内容与图形标准、CAD的相互关系。
1)第一个任务的实现方法。
照相机生成照片遵循光线传播生成三维图形这一物理原理,计算机生成所有三维图形(包括光线跟踪算法、辐射度算法、投影、多边形填充、纹理映射、阴影算法、图像融合算法与二维直线的生成等)也应遵循该原理。这是本课程知识理论体系的完备性与一致性的基本要求,它决定了计算机图形学的学种性质与教学定位。
2)第二个任务的实现方法。
用辐射度和光线跟踪算法生成的三维真实感图形等程序,是一类典型的显示图形的计算机仿真应用程序。故计算机图形学的编程实现既遵循计算机仿真的基本原理,也遵循计算机程序设计的基本规律。
计算机仿真遵循系统(决定被仿真对象的范围与其行为特性)、建模(用数学模型描述仿真实验对象)、仿真算法(计算机通过执行该仿真算法,进行仿真实验)与评估(检验仿真实验的结果是否与应用需求保持一致)这一基本原理。
计算机程序设计应遵循计算理论可计算性的实现前提对程序设计的规范要求:①待解问题被模型与系统形式化方法所描述;②这种描述要转换成算法;③算法要有合理的复杂度。
这里,形式化描述指用数学符号、逻辑符号与流程图描述并要求保持逻辑上的一致性。系统的概念被本文定义为软件系统:它按解决问题的系统流程要求,编程实现数个模型描述数据与命令的输入、存储管理、运算处理、输出显示4个过程,能直接达到自动运行软件的设定目标并具有完整动态结构的综合程序。软件系统的概念是国内传统计算机核心课程教学缺失的重要概念。
故三维图形学的教学内容,主要用3组数学模型描述可视物体、灯光、照相机物理模型的物理特性(如用几何模型、材质模型与纹理模型描述可视物体;用光线几何模型、颜色模型、照明模型、辐射度算法和光线跟踪算法等描述点光源;根据类照相机的观察参数,用阴影算法、图像融合等算法描述照相机模型;对光线跟踪算法,应重构照相机模型);在物理仿真、数学建模与软件系统概念的指引下,编程构建三维图形软件系统,实现三维图形的自动显示。物体运动与变形、灯光变幻、照相机运动可形成计算机动画。计算机游戏是用人机交互的操作方式并通过实时动画与声音有效描述具有智能行为能力的人(或动物)的多种社会实践活动。
3)第三个任务的实现方法。
计算机动画包含了传统图形标准与CAD的原理,所以在课程最后,可讲解图形标准OpenGL的原理与编程使用方法。同时图形标准是游戏软件的基石,是现代计算机应用不可缺少的基本配置。
2.2.2 系统综合:介绍图形学的基本原理与动画软件的实现方法
这要求教师先查找资料、汇集前人发表解决以上问题的不同论文与教材(解决课程教学问题的先决条件),挑选材料编写课程讲义,详细介绍完成该任务所需的基本原理与实现方法,讲义试用成熟后再编著出版教材。
教材按以下思路组织:用二维图形学构建软件系统概念的教学,用三维图形学构建三维图形数学建模的教学(直接用三维图形构建软件系统概念的教学,会导致课程教学内容的复杂化)。在每章的开头,均提出应思考并解决哪些问题才能达到本章的教学要求,加强训练读者思考问题的习惯。
学完本课程,学生要能胜任计算机动画软件的设计与编程实现等任务。
2.3 归纳计算机图形学的学科结构
以上教学充分展示:由物理模型(化学模型、生物模型、社会发展需求模型等)数学模型(数据模型是数学模型的一种简单特例,其编程操作主要是数据的存储与检索,以实现数据库软件。根据数学模型“曲高和寡”的原理得知,数据库软件是应用软件中应用面最广的一类软件;或用离散数学的方法、判断规则与判据或可编程实现的自然语言与功能等描述解决问题的过程与步骤;或用通信协议描述数据通信过程要遵循的规则、约定等要求,这是网络通信编程的基础)软件的系统功能与结构用算法语言实现程序编码并形成算法软件测试评估等过程所确立程序设计的基本规律。程序设计这一规律,能被雷达的设计与制造过程所佐证,如通过物理实验确立雷达原理用数学模型描述雷达的工作过程设计雷达系统的功能与结构用电子技术制造雷达设备做好的雷达要通过测试评估才能交付使用等。
由此能用理论(物理原理、建模、软件系统、仿真、程序设计)、工具(OpenGL、Direct3D、着色语言、ACIS、WebGL、OpenCL、3D游戏引擎等)与应用(显示图形的应用程序,如3D动画或CAD、地理信息系统(空间复杂性高而时间复杂性低)、游戏与虚拟现实系统(时间复杂性高而空间复杂性低))3个学科形态描述计算机图形学的学科结构。
2.4 用科学研究的工作方法确立计算机图形学课程的教学模式
(1)选题(发现问题):找任务、了解用户需求、检索阅读资料并提出问题。自由选题要确立研究问题的科学性、目标性、创新性和可行性,并找准课题的申报渠道。提出问题是对任务深入思考或科学研究的前提。如计算机图形学的学科属性与教学内容是否成熟,是此前国际计算机图形学教育界多年关注的教学疑难问题。
(2)分析问题:真实照片由照相机、可视物体与灯光3个主要因素决定,由此确立解决问题的方法。
(3)寻找解决问题的方法(提出假说):首先用二维图形建立软件系统的概念;然后建立描述照相机、可视物体、灯光物理模型物理特性所需的数学模型,构建仿真光线在计算机场景与照相机模型中传播,生成三维动画图形。
(4)做实验解决问题(找寻证据支持假说):针对建立的数学模型,选择数据结构,设计算法,编写程序源代码并调试测试程序,构建三维图形软件系统,实现图形的自动显示。
(5)取得新成果(查新验证):改进学科的系统理论与基本方法,发表研究论文,推广该研究成果或论证申报新开发项目,推动学科建设向前发展。当我们解决好计算机图形学的教学问题时,就为撰写本文并申报计算机图形学国家规划教材奠定了基础。
由此构建程序设计教学的完整过程,并把程序设计拓展成科学研究工作方法的一种形式与组成部分。
该教学模式不仅把教学与科学研究两个不同性质的学术过程结合在一起,还说明围绕课程教学思考问题的训练属于科学研究领域思维活动的一种基本形式。
3 在课程教学过程中合理安排思考问题的训练
教师在重点介绍、讲解每个专题前,要考虑如何训练学生根据学科的发展需求思考问题,这些问题是任务驱动教学法中各种问题的来源。
3.1 用二维图形学构建软件系统概念的教学
专题1:线段图形的描述与生成。基本问题:如何用数学的语言与方式(如描述函数)描述各种线段图形的几何形状,以形成各种线段图形的几何模型?如何形成矢量汉字等子图形高效率的描述方法?如何把这种描述函数转换成算法,并根据其描述数据生成这些基本图形?
专题2:实面积图形的描述与生成。基本问题:用什么方法描述实面积图形的几何形状,以形成各种实面积多边形的几何模型?如何利用显示设备的绘图功能生成实面积图形?如何实现直线图形边缘的反走样显示?
专题3:图形的基本运算。基本问题:图形运算的目的是什么?如何用几何变换矩阵的方式描述图形几何模型的几何变换?若用实面积多边形的布尔运算构建新的复杂图形的几何模型,则布尔运算的数学基础是什么?如何实现其布尔运算?
专题4:图形的观察运算。基本问题:如何把输入到计算机中的图形几何模型描述数据,转换成显示设备坐标系中的图形几何模型描述数据?并调用图形的生成算法显示各种图形的几何形状?
专题5:图形数据与命令的输入。基本问题:能用哪些方法把图形模型描述数据与命令高效率地输入到计算机中?如何利用输入设备的数据输入功能与显示设备的图形显示功能,编程实现图形数据的交互输入?如何规划应用程序中的人机交互设计问题?
专题6:图形的数据结构。基本问题:图形数学模型的种类与复杂、复合图形的构建方法,这些对保存图形几何模型的描述数据提出了哪些动态管理上的要求?如何设计相应图形的数据结构,才能有效地保存、管理存储于计算机中的各种图形描述数据(命令)?如何把图形显示区中的图形描述数据编译转换成多种显示设备能识别并运行的显示指令代码,以实现图形的显示?为编程实现各种图形的自动显示,需要确定编程处理图形数据的基本流程和程序的功能与结构,以形成软件系统的概念。
3.2 用三维图形学构建数学建模的教学
专题7:照相机模型的建立与三维几何图形的显示。基本问题:如何用数学模型,特别是用矩阵的方法,描述照相机拍摄(投影显示)三维直线图形的物理过程?
专题8:平面物体几何模型的构建与图形显示。基本问题:如何用直线与平面函数描述平面物体的几何形状?如何记录这种描述所形成的几何模型数据?如何构建形状复杂的平面几何物体?如何显示平面物体的几何形状与表面?
专题9:曲面物体几何模型的构建基础与线框模型图形显示。基本问题:用什么方法描述曲面物体的几何形状并构建其几何模型?如何显示曲面物体的几何形状?
专题10:灯光模型的建立与光照物体的图形显示。基本问题:如何用数学模型的方法描述灯光的物理特性?如何描述在灯光照射条件下几何物体的可视物理特性?如何显示光照效果的曲面物体的表面与几何形状?如何更有效地描述光线传播的物理特性与变化规律?
学生按照这一思路进行选题,可考虑为实现像照片一样自然景观(如白光的薄膜干涉等现象)的图像显示,需研究哪些问题等,并发表其研究成果。课程教学内容成熟完整后,才便于界定计算机图形学的学科内涵。
4 分析计算机专业主要课程的基本特点,提炼计算科学的学科结构
4.1 计算机教学此前无计算科学学科结构概念的原因分析
现有权威资料和维基百科、百度百科表明,此前国内外计算机教学均无计算科学学科结构这一重要概念。以下3点是导致这一现象存在的重要原因。
4.1.1 对计算工具的分类作用认识不足
尽管人们知道计算机是一种计算工具,计算机有广泛的应用,计算机科学有自己的一套理论根据,但仅用“理论、工具与应用”很难全面概括计算科学的研究全貌与多项用途。事实上,计算机的系统工具对总结计算科学的学科结构非常重要。
计算机系统是一个能对编程实现的数学模型与逻辑模型,进行自动解算与推理的通用计算工具。这决定了程序设计在编程使用计算机上的重要性。
操作系统是对计算机的各种硬件资源与软件资源进行程序管理,使计算机正常运行的系统工具软件。同时,它能对用户程序(命令)的输入、存储管理与自动运行提供服务(包括对通信进程进行有效监管控制),并用人机交互与图形界面的方式记载这种用户程序与命令操作的运行结果。
编译系统是用高级语言编程必备的系统工具软件,它可以把用户用高级语言编写的程序源代码、编译转换成计算机能识别并自动执行的机器语言程序代码。
算法语言是用户为编程使用计算机的各种计算功能,用类自然语言的方式与计算机相互交流思想的符号表达工具。
这些计算工具本身没有直接解决数学计算与逻辑推理等应用问题,该任务由编程解决。
这类计算工具是在实际应用过程中总结、提炼的结果,工具本身一般不直接解决最终的应用问题,这是工具的第一个特点。它的第二个特点是工具的制造具有递归性,即可用简单工具制造复杂工具。它的第三个特点是专业复杂工具的制造方法与技术具有封闭性与隐蔽性,但这不影响他人对工具的操作使用;且其隐蔽、封闭性是工具使用方便、高效的主要原因。
软件系统与计算工具等概念的形成,是用抽象的方法(从众多事物中总结提炼出具有共同本质的特征、而舍弃其非本质的特征等内容)处理形成的结果。
4.1.2 传统课程没有讲清计算机仿真的原理与计算机程序设计的基本规律
传统计算科学的核心课程(计算机导论、计算机原理与系统结构、算法语言与数据结构、编译系统与操作系统、软件工程、离散数学、数据库和计算机网络)从未讲清计算机程序设计的基本规律与计算机仿真的基本原理。学生往往通过课后大量的编程训练,积累对计算机程序设计与计算机仿真的认识。这种程序设计经验式教学培养模型,无助于学生总结并提炼计算科学的学科结构。相反,人们在算法语言与数据结构课程的教学上存在一些模糊认识。例如,算法语言是用一组语法规则与功能约定的一种符号标记系统,它让人们掌握语言的符号约定、功能、特性以及用算法语句描述给定的数学计算与数据处理、逻辑判断等――即其教学主要是完成程序的编码训练,由此形成算法;也为研制该语言的编译系统做铺垫。然而部分算法语言的教科书,只有一些算法验证性应用实例,并把它们等同于计算机程序设计教学,这无助于初学者全面正确地掌握计算机程序设计的基本规律,因为学习算法语言后,他们还是没有数据结构的概念。
数据结构是研究用程序编码的方式,在计算机中有效实现多种类型数据的存储组织(形成线性、非线性、网状结构形式以及静态或动态结构形式的数据存储方法)、存储管理、排序检索与编程效率等任务的一门专业基础课程。数据结构课程有很多计算复杂性的案例,是培训人们掌握编程技巧的一种有效方法。因为编写程序所采用的数据结构往往决定了算法的编码实现方法,更重要的是,CPU是根据保存在内存各处程序代码的逻辑次序、通过逐条读取其指令代码来完成用户指定应用程序(或命令)的执行。如何规划、设计、调度与管理内存的使用,这与数据的调度与管理原理类似,是数据结构讨论的问题之一(常在操作系统课程中介绍解决该问题的方法。数据结构问题本质上属计算机内存的动态、合理使用与管理问题)。而该课程中所谓抽象数据类型,是指在指定的数据集上定义对该数据元素进行多种加工等编程操作方法。这个数据集以及对其数据元素的加工方法(数据集与其加工方法均能递归定义),应来源于人们用数学的方法描述解决实际应用问题这一过程,该主次关系不能颠倒。没有这些数据结构与程序编码等基础训练,初学者很难规划好一个软件的系统功能与结构。
由于传统的算法语言与数据结构课程教学无数学建模(它决定了解决多种应用问题算法的来源)与软件系统的概念,故传统的算法语言与数据结构课程没有讲清程序设计的基本规律。
4.1.3 传统计算机课程存在教学问题
首先,传统计算机图形学课程存在教学问题,现已被本教学改革有效化解。
其次,软件工程课程存在教学效果空洞抽象等困惑。若把新的计算机图形学课程作为软件工程课程的教学实习对象,可以有效解决该教学困惑。由于新的计算机图形学课程可以讲清程序设计的基本规律与计算机仿真的基本原理,这使软件工程课程的教学从理论上能达到软件全生命周期设计的教学目的。
第三,计算机导论与计算机基础课程存在教学困惑。计算机导论应对计算学科发展的全貌作整体介绍,并理顺计算学科与其他学科之间的关系,引导读者根据自己的需求有效选择学习不同的计算机专业知识。由于此前计算机课程存在以上问题,导致历次获国家级奖励的计算机教学改革成果以通过有效载体进入课程教学,致使计算机课程教学体系仍然不够成熟。这往往是行业外人士选修计算机课程的迷惑。因为自牛顿时代以来,用数学的语言描述自然科学取得的新进展,是各自然学科之间相互交流学术思想与成果的通用方法;然而目前其他自然科学工作者学习计算机后,却无法顺利地用计算工具的方法来表达其各自学科建设研究成果的数学模型等。这种计算机课程教学不便于计算机教育与其他自然科学教育进行对等有效的学术交流,并导致计算机基础课程教学出现危机。另计算机教学无计算科学学科结构的概念,即人们没有评判计算机导论教材好坏的客观标准。计算机图形学教学改革取得的新成果――发现计算科学学科结构的客观存在,为重构计算机导论与计算机基础课程提供了重要借鉴。
最后,计算机网络课程存在不足。如该课程介绍网络通信协议较多,却较少介绍网络通信工具的构建与编程使用方法,以及计算机网络通信程序的编程实现,这不利于初学者承担计算机网络计算的重任。
4.2 借鉴计算机图形学的教改成果。归纳计算科学的学科结构
传统计算机核心课程缺少一门计算机的综合运用课程,以总结并提炼计算机程序设计的基本规律与计算机仿真的基本原理。计算机图形学课程可以很好地承担这一重任。有了计算工具的概念与计算机图形学课程后,可以重新分类、归纳已知计算机的多种应用。
成熟的计算机图形学与传统计算机核心课程的教学,使计算科学理论(即计算机的系统理论和专业知识。它需回答:什么能被工具有效地进行自动计算,用什么方法研究该命题并形成哪些结论、成熟的理论与发展方向;满足何种条件的实物装置能实现计算功能,计算装置如何构造实现并使其正常运行、操作使用;可计算性的实现前提是什么,如何用该计算装置实现这种自动计算,如何保证计算结果的正确性和计算装置运行的安全稳定,该计算装置有多强大的计算能力;计算理论与计算机专业各课程的关系等)、工具(算法语言、编译系统、操作系统、计算机系统)与应用(数据存储与检索,数据计算、仿真、符号变换与推理,数据网络通信,数据获取、输出表达与控制即多媒体)3个学科形态得到完整展现。它们是形成计算机专业多个发展方向(如杀毒与网络防火墙、网络存储与查询、网页设计开发工具与网站建设、网络浏览器,即时通信、流媒体与播放器、人工智能与专家系统、计算机嵌入式应用、计算机在通信与自动控制系统中的应用等)与综合(如3D网络游戏)或研发计算机硬件(计算机系统结构与CPU设计、计算机工程)的基础。
因互联网的应用,计算机网络计算有网络理论(在通信理论的支持下,如何可靠、快速、方便、安全地实现计算机信息描述数据的通信;网络计算的理论基础与基本规则是什么,如何利用网络资源进行有效的传输与计算)、网络工具(计算机与互联网、路由器与交换机、调制解调器、Java、html语言、浏览器、Socket、遵循HLA标准的分布式实时仿真工具RTI、网络游戏引擎)与网络应用(如计算机数据通信与监管、电子商务、社交网站、网络游戏、云计算、信息技术与信息系统、物联网、大数据的应用等)。
图1显示了计算科学的学科结构。由计算机仿真的基本原理与可计算性的实现前提,可论证程序设计教学与计算机仿真教学的一致性。
故计算作为一门学科(招生专业)的根据是:①它有自己独立的研究领域。即什么能被有效地用工具进行自动计算以及可靠、安全、快速地传输?②产生专业知识的方法。科学研究与科学思维是产生(创造)多种学科新知识的主要方法,这是研究生阶段的主要学习任务。③由此形成的理论体系与其学科结构。这是本科生学习阶段应掌握的专业知识。④传授知识的法定机构与办学条件。⑤广泛的应用基础。
中图分类号:G642.44 文献标识码:B
文章编号:1671-489X(2016)04-0162-03
Teaching Research of Theory and Practice in Course of Com-puter Graphics//LIAO Bin, HU Jinlong
Abstract Through analyzing the main problems in the course of computer graphics, the teaching reform of the computer graphics course is proposed about theoretical teaching and practical teaching. We divide the course of computer graphics into theory course and practice course, and make the theory course of computer graphics become the pre-course for the practice course of computer graphics. Students’ learning interest is stimulated and their ability to contact the theory with practice is improved through integration the theory and practice of the computer graphics course.
Key words computer graphics; graphics theoretical teaching; graphics practical teaching
1 引言
计算机图形学是研究如何利用计算机生成、处理和显示图形的原理、方法与技术的一门学科[1]。它以图形用户界面和可视化技术为典型应用,是信息技术中不可缺少的部分。近年来,国内外大学逐渐将其列为计算机应用类课程中的专业课。现在,计算机图形学已经在诸如影视动漫、军事仿真、医学图像处理、气象等科学可视化领域获得成功运用,在带来经济效益的同时,也给计算机图形学的发展提供了机遇与挑战。
本文通过分析计算机图形学传统教学中存在的问题,提出改革思路。在教学中,将课程设置为理论教学与实践教学两门独立课程,针对理论教学与实践教学分别进行教学设计,转变传统教学中实验教学的附属性质,使理论知识为实践教学铺路,增强教学效果,促使学生积极动手操作、思考,促进新旧知识的结合,通过教学过程的探索与总结,增强计算机图形学的教学效果。
2 计算机图形学课程教学中存在的问题
传统的计算机图形学教学重点一般侧重于考核学生对知识点的掌握[2],课程实践所占比例较低。然而计算机图形学课程本身的特点不适于传统的教学模式,若仍采用传统教学模式,不仅不利于维持学生的学习兴趣,更不利于学生发现问题、解决问题能力以及创新能力的培养。
计算机图形学教学内容与学生的学习兴趣 传统的计算机图形学内容主要有[3]计算机图形系统概述、二维图形生成和变换技术、三维图形生成和变换技术、真实感图形生成技术、计算机动画技术与实践。该课程入门阶段需要的数学知识主要涉及代数、三角学和线性代数,数学原理与图形的结合在理论教学中占据了一定比重。
传统的计算机图形学教学目标侧重于培养学生对计算机图形学理论知识的了解与掌握,在教学内容的设置上主要强调图形学知识、概念的系统性与整体性,重点是概念解释与原理讲解,体现为大量的公式推导。
未进入图形学教学前,学生对该课程的理解主要分为两类:一类认为该课程主要讲述游戏开发,学完本课程后就可立即完成诸如游戏编程、动画设计、特效处理等任务;另一类认为是艺术设计,主要为广告传媒等行业服务。实际上,在本科阶段开设的计算机图形学课程,通常立足于计算机图形学科的入门,教学内容主要是理解与掌握基本的图形绘制原理及其实现算法,能进行基本图形的程序设计。由此,图形学课程认知的不全面将导致学生学习兴趣的下降。学习内容的枯燥、教学内容与现实应用的巨大落差会导致部分学生的学习兴趣随课程的深入而进一步下降。
计算机图形学课程实验的设置 计算机图形学的实验内容主要集中于基本图形算法的实现,需要学生运用高级程序语言进行编程,然而作为专业基础课程学习的此类高级程序设计课程,往往以基本知识、程序设计、数据组织三方面为主要内容,一般不涉及图形库编程接口(API)。这导致在本课程的实验教学时,需要针对授课学生原先所学的高级程序语言,补充对应的图形库编程知识,这使得实际的有效实验学时被缩减,而且增大了学生实现算法的难度,以至于进一步加剧了理论与实践脱节的现象。
3 理论教学与实践教学的改革方法与目标
在大学本科第7学期开设计算机图形学课程,并将其分为理论课与实验课两门课程,两门课程单独核算成绩。其中,理论课为32学时,2.0学分;实验课为16学时,0.5学分。在理论课程完成后开始实验课程,计算机图形学的实验不再是传统教学中对理论课上知识点的简单重复与验证,而是对所学知识的综合运用与深化。由此,需要合理选择理论课教学内容,以完成与实验课程的衔接。同时,设计合适的实验项目使学生掌握课程基础知识,提高学生的动手能力,以提升计算机图形学的教学质量。
理论课教学内容设计 计算机图形学技术在快速发展,与之相适应,图形学课程的教学也发生变化[4]。现阶段,在计算机图形学教学中主要有3种教学体系,大致分为理论为主、编程为主、问题为主。
1)理论为主是传统的教学体系,强调对计算机图形学理论的理解与掌握,以公式推导为主要呈现方式,国内外此类教材有Floey的《计算机图形学原理及实践――C语言描述》(原书第2版)、孙家广的《计算机图形学》等。
2)编程为主的教学体系侧重于培养学生初步掌握一种典型的图形学API,以图形学使用者的角度讲授计算机图形学所需的理论与概念,去除非必需的数学原理与公式推导。国内外此类教材有Donald的《计算机图形学》(第四版)、徐文鹏的《计算机图形学基础(OpenGL版)》等。
3)问题为主的教学体系的教学目标着重于培养利用计算机图形学知识建立与用户交流的能力,从而实现问题的图形化建模并解决问题。相应的教学内容既涵盖了图形学中的基本概念和技术,也涉及了实现这些概念和技术的图形学工具,然而重点在于介绍如何使用计算机图形学知识来解决实际问题以及如何有效地进行结果展示。Steve Cunningham的《计算机图形学》是此类教学体系的典型教材。此类问题为主的教学体系近年来在美国兴起。
在本科教学中,考虑到学生前期课程的设置与掌握情况,采用结合OpenGL实现算法的编程为主的教学体系。在实际教学中,既要保证计算机图形学基本概念、理论的完整讲述,也为后续的实践课程做铺垫,有针对性地介绍图形支撑软件,使学生在掌握图形学基本知识的同时,能够在一定程度上自主实践,保持与激发学生的学习兴趣。
实验课教学内容的设计 计算机图形学传统教学中的实践一般使用C++来实现相关算法[5],实现难度过大,导致学生没有时间和兴趣去完成[6]。实践教学的本意是对理论教学的巩固、完善与提高,为实现理论与实践教学的平稳衔接,在实践教学环节中采用OpenGL作为图形算法接口,让学生有针对性地完成若干实验项目。
OpenGL是一个工业标准的三维计算机图形接口软件,其具有的功能基本上涵盖了图形系统要求提供的所有功能。此外,OpenGL具有的跨平台性、可扩展性、绘制专一性、网络透明性等特点使其应用广泛,降低了对学生编程能力的要求,且由于其开源的特性,使得学生可通过参考其中的算法实现获得编程能力的提高。
结合图形学的实际应用与学生的实践能力,设置如表1所示的实践项目。
4 小结
计算机图形学随着计算机理论与技术的进步、社会应用的需要而有了迅速发展,是理论与实践并重的学科,对教学有较高要求。本文从计算机图形学的学科特点出发,分析了计算机图形学传统教学中存在的问题,提出将理论与实验相融合的教学思路,改变传统教学中实验教学的附属地位,从实践的角度出发,在理论教学中进行概念、理论向实践的平稳过渡,一定程度上降低了学生完成课程实验的难度,激发了学生的学习兴趣。从教学效果来看,本文提出的教学方法取得较好的成效,同时对计算机专业的类似课程也具有一定的参考意义。
参考文献
[1]徐文鹏,王玉琨.计算机图形学基础(OPENGL版)[M].北京:清华大学出版社,2014.
[2]杜利峰,李竹林.基于OpenGL的计算机图形学教学改革探索[J].电子设计工程,2012(13):6-8.
[3]王汝传,黄海平,林巧民,等.计算机图形学教程[M].3版.北京:人民邮电出版社,2014.
[4]刘贵松,房秀芬,陈文宇.基于计算思维能力培养的计算机图形学知识体系[J].实验科学与技术,2015,13(2):
一、计算机图形学学习中的问题及其原因分析
(一)学习难度较大。由于计算机图形学涉及的知识面非常广,其中不仅有计算机知识,还有数学等其他学科的知识,因此,它的知识基础要求较高,同学们学习起来难度较大也是情理之中的事情。事实上,计算机图形学是一门新兴学科,它是建立在图论、现代数学和计算机科学基础之上的,学科交叉繁杂,其理论性很强,同时实践性又不弱,这就让大家体会到了该门课程的综合性特征和难易掌握的感觉,从而让他们在巨大的学习难度面前望而却步;
(二)学习理念较为滞后。当前的计算机图形学学习观念仍然沿用的是传统的学习观念,重视单方面的知识,片面强调对于相关知识点的掌握程度。这样的观念会使大家把计算机图形学课堂变成满堂灌,大家都是一种被动的学习状态,互动性不高,学习积极性和主动性大打折扣了。此外,传统的观念中不太重视实验环节,更不会重视实践能力的培养,大大阻碍了大家的创新精神培养与创新能力的提高;
(三)实验环节不够科学与系统。当前,计算机图形学学习过程中的实验环节,很多高校一直采用C 或 VC++来实现编程,同时,进行实验的工具与内容又较为陈旧,考核方式也颇为单调,学时又不太多,使得大家对于计算机图形学的学习兴趣大大降低,而且学习起来的真实难度又是较大的,尤其是绘制模型的实现,使得大家的实验能力不强。
二、OpenGL图形系统及其在图形学上的应用
所谓OpenGL图形系统,指的就是一个丰富的三维图形函数库,是图形系统中的一个软件接口,允许程序开发者创建一个交互性的程序,从而能够产生三维移动的物体的彩色图像。它除了具有基本的OpenGL 函数以外,还能够支持OpenGL 实用库、OpenGL 辅助库、Windows专用库函数、Win32 API 函数等其他四类函数。它还可以有双缓存的功能,主要应用于制作动画。我们可以使用OpenGL图形系统来对计算机图形技术进行相关的控制,从而产生较为逼真的图形或者虚拟出实际生活中没有的图像。一般来说,OpenGL图形系统的应用非常广泛,具体应用到计算机图形学中的话,就是说我们可以利用OpenGL 函数来顺利实现图形算法的演示。这种方法可以提高许多图形函数,让它们能够通过单独调用或者组合某些函数来实现基本的图像操作,还可以对光线进行调整。目前,随着计算机技术的不断发展,现在的OpenGL图形库中增加了不少新组件,已经可以产生形象化的三维效果。当前常用的图形设计方法有:图形生成算法、几何变换、投影变换等。此外,OpenGL图形系统函数库还可以进行纹理设置、特殊光照处理以及实现动画效果等其他方面的强大功能。
三、基于OpenGL实验平台的学习探讨
一般来说,计算机图形学具有非常广泛的应用领域,比如说信息显示、设计、仿真与动画以及用户界面等方面。如果我们应用OpenGL图形系统实验平台,将对传统的应用思想产生一定的冲击和影响。我们应该采用一种新型的图形学理论来指导我们的实验课,以增加图形的逼真程度和提高图形学课件的制作质量。在此,基于OpenGL图形系统实验平台来将不同的知识点进行课件制作,增加大家上机进行实践的兴趣和主动性,提高互动参与性,提高学习效果。但是,当前我国高校计算机图形学学习现状不容乐观,还存在着不少急需解决的问题。因此,我们应该尽快采用OpenGL实验平台来加强计算机图形学学习。我们知道,OpenGL图形系统是一个非常专业的图形程序接口,它具有非常强大的图形数据库,提供了基本库、实用库和辅助库三个方面的函数库,可以开发二维和三维图形程序所需要的多个方面。我们如果在计算机图形学的学习中很好的应用OpenGL图形系统,就可以把它作为基础开发的应用程序,独立于窗口系统和操作系统来实现不同平台之间的移植工作。
四、结语
计算机图形学有理论性与实践性紧密结合的特点,学习难度较大。为帮助计算机图形学课程的学习,可以采用控制台应用程序+OpenGL和MFC可执行程序+OpenGL两种图形编程的学习模式,作为一门新兴的学科,计算机图形学在信息化时代显得日益重要。我们要针对当前计算机图形学现状和问题,开展基于OpenGL实验平台的计算机图形学学习模式,搞好基本功练习,合理安排一体化学习任务,把握理论知识和技能教学的穿插时机,认真设计学习任务,从而提高大家的学习积极性,并采用综合性的评价体系来进行及时总结评价,激发同学们积极向上的学习热情等,使得兼具理论性和实践性的计算机专业课程,即计算机图形学课程的学习效果进一步得到提高,从而为毕业后顺利走向社会打下踏实的基础以服务于国家和人民。
参考文献:
[1]杜利峰,李竹林.基于OpenGL的计算机图形学教学改革探索[J].电子设计工程,2012(13
[2]柳海兰. 浅谈计算机图形学的发展及应用[J].电脑知识与技术,2010(3):9551-9552.
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2012)32-7826-02
在当今这个数字化时代,其特征就是世界图形或图像,主要通过视觉形象的方式来认知世界,打破了语言或者文字的障碍,并使得虚拟介入现实。这种时代特征正是计算机图形学所研究的对象。具体来讲,计算机图形学就是通过一种最为直接的方式来表现多姿多彩的生活。它是计算机专业中的一门专业课,是利用计算机将一些数据处理为图形信息的一门科学,包含了图形信息的表示、输入输出与显示、图形的几何变换、图形之间的运算以及人机交互绘图等方面的技术。它的研究领域主要有:如何描述、创建并处理几何模型;如何绘制模型。计算机图形学的根本目的就是为了在计算机屏幕上形成一个有真实感的图形。那么,这门计算机专业课程,由于包含了数学等多方面的综合知识,复杂度还是相对有点高的,学生学习起来还是具有一些难度的。因此,我们应该建立一个有效的实验平台,比如说OpenGL来让学生通过理论与实践的结合,加深对于计算机图形学的理解,提高他们的学习兴趣和动力,进而进一步培养他们的实践能力,从而推进计算机图形学教学改革的不断深化。
1 计算机图形学教学中的问题及其原因分析
计算机图形学应该来说具有非常广泛的使用范围,很多学生对于这门课的态度是刚接触的时候挺喜欢,但是,随着学习过程的慢慢开展,他们的主动性和积极性就慢慢被消磨掉了,他们开始不注重学习的创新能力,而仅仅为了得到相应的学分。这种现状的产生主要是由于以下几个方面的因素:
1)学习难度较大。由于计算机图形学涉及的知识面非常广,其中不仅有计算机知识,还有数学等其他学科的知识,因此,它的知识基础要求较高,学生学习起来难度较大也是情理之中的事情。事实上,计算机图形学是一门新兴学科,它是建立在图论、现代数学和计算机科学基础之上的,学科交叉繁杂,其理论性很强,同时实践性又不弱,这就让学生体会到了该门课程的综合性特征和难易掌握的感觉,从而让他们在巨大的学习难度面前望而却步;
2)教学理念较为滞后。当前的计算机图形学教学观念仍然沿用的是传统的教学观念,重视教师的单方面的知识传授,片面强调学生对于相关知识点的掌握程度。这样的教学观念往往使得教学在备课的时候,片面追求教学大纲的要求,非常详细讲解每一堂课的知识点。这样的背景之下,教师容易把计算机图形学课堂变成满堂灌,学生就是一种被动的学习状态,师生之间的互动性不高,学生的学习积极性和主动性自然也就大打折扣了。此外,传统的教学观念中不太重视实验教学环节,更不会重视学生实践能力的培养,大大阻碍了学生的创新精神培养与创新能力的提高;
3)实验教学环节不够科学与系统。当前,计算机图形学教学过程中的实验环节,很多高校一直采用C 或 VC++来实现编程,同时,进行实验的工具与内容又较为陈旧,考核方式也颇为单调,学时又不太多,使得学生对于计算机图形学的学习兴趣大大降低,而且学习起来的真实难度又是较大的,尤其是绘制模型的实现,使得学生的实验能力有待加强。
2 OpenGL图形系统及其在图形学上的应用
所谓OpenGL图形系统,指的就是一个丰富的三维图形函数库,是图形系统中的一个软件接口,允许程序开发者创建一个交互性的程序,从而能够产生三维移动的物体的彩色图像。它除了具有基本的OpenGL 函数以外,还能够支持OpenGL 实用库、OpenGL 辅助库、Windows专用库函数、Win32 API 函数等其他四类函数。它还可以有双缓存的功能,主要应用于制作动画。我们可以使用OpenGL图形系统来对计算机图形技术进行相关的控制,从而产生较为逼真的图形或者虚拟出实际生活中没有的图像。一般来说,OpenGL图形系统的应用非常广泛,具体应用到计算机图形学中的话,就是说我们可以利用OpenGL 函数来顺利实现图形算法的演示。这种方法可以提高许多图形函数,让它们能够通过单独调用或者组合某些函数来实现基本的图像操作,还可以对光线进行调整。目前,随着计算机技术的不断发展,现在的OpenGL 图形库中增加了不少新组件,已经可以产生形象化的三维效果。当前常用的图形设计方法有:图形生成算法、几何变换、投影变换等。具体应用步骤如下:建立基本模型、投影及视口变换、光照、材质、雾等的设置、显示三维图形。其中,建立基本模型就是指利用技术手段来提取真实物体的表面离散点,然后输入到计算机中去,从而形成三角网络模型。就投影及视口变换来说,OpenGL 函数主要提供了正射投影和透视投影两种投影方式。然后,对模型进行光照设置,这里的光照设置包含了环境光、漫反射光和镜面反射光等三种,对于材质的设置与光源类似,让其能够更加接近于真实物体。至于雾化,主要是使得物体能够更加自然逼真,具有一定的立体感。最后,完成以上三个步骤就显示三维图形。此外,OpenGL图形系统函数库还可以进行纹理设置、特殊光照处理以及实现动画效果等其他方面的强大功能。
3 基于OpenGL实验平台进行计算机图形学教学改革
一般来说,计算机图形学具有非常广泛的应用领域,比如说信息显示、设计、仿真与动画以及用户界面等方面。如果我们应用OpenGL图形系统实验平台,将对传统的教学应用思想产生一定的冲击和影响。从传统的教学思想来看,我们往往习惯于选择Powerpoint 中的课件制作组件来制作课件,虽然它能够解决基本的图形问题,但是,一旦碰到较为抽象和复杂的图形学理论,就难以应对。因此,笔者认为,我们应该采用一种新型的图形学理论来指导我们的课件制作,以增加图形的逼真程度和提高图形学课件的制作质量。在此,笔者提出了我们可以基于OpenGL图形系统实验平台来将不同的知识点进行课件制作,努力培养学生上机进行实践的兴趣和主动性,让学生提高互动参与性,从而提高他们的学习效果。但是,当前我国高校计算机图形学教学现状不容乐观,还存在着不少急需解决的问题。因此,我们应该尽快采用OpenGL实验平台来加强计算机图形学教学改革。具体如下:
1)高校应该首先认清楚OpenGL 图形系统的真实内涵,充分利用其优秀的图形处理资源和演示效果来大大激发出学生的学习心理,让他们主动参与到实践中来,对抽象的内容进行具体化的解读。这就需要学校改变传统的教学观念,因为传统的教学观念仍然是以教师教授知识为主,学生处于被动消极的地位,他们的学习积极性和主动性被严重的压抑了,而这与理论性实践性兼具的计算机图形学教学来说,是相背离的。它的基本内容就是要学习传统的经典计算方法,然后再学会分析并改进计算方法,最后解决相关问题。因此,传统的教学观念显然是不能够适应这种教学要求的。因此,我们应该彻底改变原来的教学观念,建立一种以培养学生能力为目标的新型教学模式,让学生积极参与到学习过程中,做学习的主人,并逐步培养并提高自身的分析与解决问题的能力;
2)高校要尽量调整相关的实验工具,重新设置实验项目。我们知道,OpenGL图形系统是一个非常专业的图形程序接口,它具有非常强大的图形数据库,提供了基本库、实用库和辅助库三个方面的函数库,可以开发二维和三维图形程序所需要的多个方面。我们如果在计算机图形学的教学中很好的应用OpenGL图形系统,就可以把它作为基础开发的应用程序,独立于窗口系统和操作系统来实现不同平台之间的移植工作。因此,计算机图形学教学中适当的借助于OpenGL实验平台,可以与图形算法进行合理的结合。这种教学方法可以满足学生的学习需求,还可以培养他们的实际应用能力,并设置新的实验项目,让学生很好的掌握基本的算法,培养学生的科研和分析实践能力;
3)考核方法要改进。当前,计算机图形学教学的考核方法过于单一,大大消磨了学生的学习积极性和主动性。那么,我们就要适当的改革以前的那种考核办法,而应该根据学生的实际情况,采用多因素和异权重的综合考核办法来增加学生成绩评定体系的科学性和合理性。因为正确合理的评价体系是保证教学质量的重要手段之一,它有利于调动学生的积极性,提高他们的创新思维,还可以让教师引领学生及时发现问题并解决问题。具体来说,学校可以采用一体化的教学过程评价方法,综合学生在整个学习过程中的学习态度、操作情况、参与实践教学的主动性、创造性、正确性等来给予学生综合性的成绩评定,而不是简单的依赖于理论考试和实验报告来决定他们的最终学习成绩。这样就可以培养出既有专业理论知识,又有一定实际操作能力和创新能力的新世纪复合型人才。
4 结束语
总之,作为一门新兴的学科,计算机图形学教学在信息化时代显得日益重要。我们要针对当前计算机图形学教学现状和问题,有意识的改革传统的教学观念,建立基于OpenGL实验平台的计算机图形学教学模式,狠抓学生基本功练习,合理安排一体化学习任务,把握理论知识和技能教学的穿插时机,认真设计学习任务,激发学生的学习兴趣,提高学生的学习积极性,并采用综合性的评价体系来进行及时总结评价,激发积极向上的学习热情等,使得兼具理论性和实践性的计算机专业课程,即计算机图形学课程的教学质量进一步得到提高,从而培养出具有综合能力的计算机人才。
参考文献:
关键词:计算机图形学;教学改革;教学实践
中图分类号:G642 文献标识码:A
“计算机图形学”是大部分院校计算机专业或相关专业中的一门重要课程。本课程的教学目的是使学生掌握计算机图形系统软硬件技术以及图形生成、处理、输出的基本原理和方法,培养学生利用计算机解决图形问题的程序设计能力,为开发图形软件打下必要的基础。
1计算机图形学的教学现状
计算机图形学是建立在传统的图学理论、现代数学和计算机科学基础上的一门新兴学科。该学科综合了计算机科学、数学、物理学等其它相关学科的知识,而且学科发展日新月异,新的应用领域不断拓展,这使计算机图形学具有学科内容丰富、理论性强、算法众多、实践性强这几方面特点。
学科内容丰富和理论性强造成该课程讲授起来比较枯燥;同时,传统地讲授教材上的理论将使学生感到该课程难于理解、难学、学习积极性和主动性受到影响,整个学习过程基本是被动接受。
目前,国内的计算机图形学课程教学基本取材于几本经典的教科书,这些教科书重点讲述计算机图形学的算法。许多算法为了追求高效率从而精益求精,算法本身构思独特且实现精巧,但也导致了算法本身及其实现都难于理解;而且传统的授课方案侧重于强调算法实现的数学基础。这种强调图形算法基础的教学方案适合于数学基础优秀的学生,但对本校这样的工科类院校,学生往往被一些必须掌握的算法所困扰,从而对该课程产生畏难心理。
计算机图形学这门课程实践性强的特点则要求学生具有较强的动手操作能力和编程能力,从另外一个方面来说,要求老师有更强的实践能力。如果理论与实践互动性不够,容易造成学生实践动手能力薄弱。
通过以上分析,可以看出在计算机图形学中采用传统的课堂上讲授理论,课下让学生去做实验的教学方式很难达到预期的教学效果,急切需要探讨新的教学思路和教学方法。
2计算机图形学课程的教学改革
本校针对现有教学中的不足,在总结多所知名大学在该门课程教学经验基础上,制定了计算机图形学的教改目标和教改方案,具体认识和做法如下。
2.1教学内容的组织
以教学大纲为依据,从学生的实际情况出发,以课堂讲授为主,上机实验为辅的方式组织教学内容。其中课堂讲授48学时,上机实验16学时。以讲清基本原理和概念为第一目标,以培养学生图形学算法的设计能力、图形软件的开发能力为原则,合理安排课堂教学内容。
根据学生的接受程度,教学内容首先注重基础,强调基本概念、基本原理;其次突出重点,对一些要求掌握的算法,要仔细分析,强调其基本思想。只要算法的基本思想掌握了,算法的实现就容易理解,对相关算法就可举一反三、触类旁通;再者教学内容中应该介绍一些当前的研究热点,使学生了解学科发展情况,也同时增加课堂教学的趣味性;最后在教学内容中应该注意理论与实用软件之间的关系,适当介绍计算机图形学理论、算法在流行的图形设计和动画制作软件(如AutoCAD、3DMAX等)中的应用,促进理论学习和实用软件使用之间形成互动。
根据以上原则,本校在2005届计算机专业本科生中,采用了清华大学出版社出版,孙家广主编的《计算机图形学》作为基本教材。同时引进国外一流大学的先进教材Donald Hearn, M. Pauline Baker编写的Computer Graphics(C Version)作为教辅资料,其中引用了一些最新的图形学研究成果,在彩页中体现了几乎乱真的图形效果。
2.2教学方法的选择
在讲授必须掌握的基础算法之前,强调启发式教学,提出课前思考题。这些思考题可以引导学生预习和自学,减轻课堂负担,使课堂教学目标清晰,任务简化。如在讲授多边形裁剪算法之前,应思考多边形由线段构成,是否可用已学过的二维线段裁剪算法逐边裁剪多边形?如果不能,原因如何?应如何解决?
在讲授同类算法之后,对解决同一问题的算法进行比较,强调对比性学习。如区域填充中,应对漫水法填充、边界填充算法、扫描线种子算法进行比较,说明其相同之处皆为在填充过程中搜索新种子点,不同之处在于搜索新种子点的方法不同。通过对比学习,学生在学习过程中不再孤立学习一种算法,而是同时掌握一类算法,为后续的扫描转换填充算法打下基础。
2.3教学手段的应用
在计算机图形学课堂教学过程中,本校采用多媒体教学与传统教学方式相结合。为了充分发挥图形图示、动画演示的作用,主讲教师精心制作了计算机图形学多媒体教学课件。在该多媒体教学课件中,对教学内容的各个知识点间用超链接进行链接,引入音频、视频等媒体信息,既增加了教学内容的连贯性,又使课堂教学变得生动有趣。
为了合理利用网络,拓展教学空间,主讲教师开设了自己的个人博客,在网上列出与课程相关的权威网络资源。在保留传统的面对面交流的基础上,学生可以通过网络与教师、同学讨论问题;教师则可以根据学生的反馈意见,及时了解学生的学习现状,调整下一步的教学方式。
除了网上讨论答疑外,教师根据学生的意见还采取了MSN、QQ 等学生喜爱的交流方式。通过这种网上交流,一方面使同学们不知不觉中利用课余实践学习巩固了图形学知识,扩展了知识面;另一方面也兼顾了图形学的教学大纲和同学们的兴趣。一般说来,教学大纲强调基本的概念算法,而学生则对如何生成各种漂亮的图形效果感兴趣,将如何基于图形学算法使用工具软件生成图形效果的资料放在网上,在课堂上就可以集中精力讲授算法理论。通过网上交流,给学生提供了一种获取知识的新渠道,这对于刚读完两年大学,已初步具备自学能力的大三学生而言,效果较好。
2.4上机实验的分配
计算机图形学涉及大量图形造形、图形生成和变换的算法,上机实验必不可少,应该结合课程特点设计实验内容,强调学习、研究和实验的有机结合,鼓励创新性。通过实验,发现问题,解决问题。
本校根据学生的实际情况,把实验环节分为必做的课内验证性实验、课内设计性实验、选做的课外创新性实验,并且要求学生将自己实现的各类图形算法统一到一个整体框架中。到课程结束时,每个学生都完成了一个具有自己特点的小型交互型计算机图形系统。在这个过程中,学生不仅学习了计算机图形学的各种算法,而且培养了学生的学习兴趣。
在上机实验过程中,由于本校学生在开设计算机图形学这门课程之前并没有学习过GUI编程,往届学生的上机实验都是基于Turbo C环境下的编程练习。由于TC的陈旧性和古板性,多数学生对它并不感兴趣,因此在2005届学生上机实验之前,本校教师将计算机图形学中的上机实验移植到VC、VB、C++ Builder等可视化的编程环境上来。这一方面让同学们学习编程时有与时俱进的感觉,另一方面又能学到新的内容。
2.5算法演示系统的设计
计算机图形学算法中涉及到较复杂的公式推导,在理解算法时要求有比较强的空间想像能力。为了帮助同学们更好地理解算法,本校组织毕业生在主讲教师的帮助下制作了“计算机图形学算法演示系统”,该系统利用Visual C++ 6.0结合OpenGL进行开发。
由于该系统主要用来进行辅助教学,而一般程序实现速度快,且操作的像素人眼看不见,这样的程序用于课堂讲解,虽然可以提高同学们的学习兴趣,但同学们看不到算法的具体实现过程。为了解决这个问题,本系统以放大的可见点模拟人眼看不见的屏幕像素,并且以动画的形式完成计算机图形学中各种算法的实现过程。系统中每一种算法都被设计为一个独立的类,各种算法根据其分类被组织在相应的菜单下,通过菜单调出设置参数和控制程序的对话框。采用该算法演示系统后,在学习相关算法时,同学们可以清楚地看到算法的分步执行结果,帮助同学从直观角度理解各种抽象算法,极大地提高了学生的学习兴趣,增强教学效果。
2.6课后习题的安排
课后习题对于帮助学生预习和自学, 激发学生兴趣等方面有重要作用。由于计算机图形学这门课程的特殊性,课后习题较少,因此根据课程教学需要,在参阅著名计算机图形学教材的基础上,本校教师经过收集整理,设计编写了教学辅助材料《计算机图形学习题集》,目前已基本成型,并在2005届学生中试用。
在设计习题的时候要精心设计和选择,特别避免作业形式单一、难度较大,否则就会使学生产生畏难情绪。注意循序渐进、难易适度。注重基础,注意多层次(如基础知识、算法设计和综合应用题等)、多形式(如判断题、选择题、填空题、简答题、算法设计题和综合应用题等),使学生得到全面的训练。习题应注意启迪学生的思维, 培养独立思考的能力。
在每章习题的最后,都是这章内容的学习小结,要求学生回答:通过这一章的学习,掌握了哪些知识?哪些没有听懂?对老师有没有更好的建议等等。字数不限,但必须回答。从教师的角度出发,这种小结有利于了解学生的心理动态,了解自己的授课得失,有利于进一步改进教学质量;从学生的角度出发,这种小结客观上促进了学生进行课后复习,巩固了课堂效果,而且内容灵活,可长可短。
2.7教学过程的考核
重视教学的过程化管理与考核是保证教学质量的重要手段。对课堂、作业、实验等环节进行有效的管理,及时发现和纠正每一环节中存在的问题。应该在过程中解决教学中的问题,不能让其积累起来,避免学生感到课程的难学,以致学习积极性下降。
过程化管理和考核体现在评定学生的课程成绩时,全面考核各重要教学环节(如上课、作业、上机实验、期末考试等)的学习情况,应充分重视平时的学习情况,鼓励在平时作业、上机实践中独立思考,并有所创新的学生。对于平时作业,上机实验中存在的抄袭现象,教师要求学生用电子邮箱提交作业,两份完全雷同的作业,按照提交时间先后次序判断抄袭者。对于上机过程中,第一个完成的同学或者实现方法有所改进的同学都给予加分奖励。每次作业、上机实验都要给出等级,各环节的学习情况都有逐一的评定成绩,并按比例记入到课程的总成绩中。
3小结
通过本校2005届教学效果和往届学生教学效果的对比分析,在试卷难度相同的情况下,2005届计算机本科生图形学考核平均成绩提高5%,且成绩分布更趋向正态分布;网上评教系统表明,在2005届本科生中,学生对计算机图形学的畏难心理有较大的降低,仅有一人反映学习过程中听不懂,难度很大,这说明学生的学习兴趣和学习信心有一定的提高。从对比结果可看出本文所提出的方法有一定的实效,同时对其他课程也有一些参考意义。
参考文献
[1] 唐泽圣. 计算机图形学基础[M]. 北京:清华大学出版社,2003.
[2] 吴元斌. “计算机图形学”教学的几点体会[J]. 安康师专学报,2004,(16):119-121.
[3] 孙家广. 计算机图形学[M]. 北京:清华大学出版社,1998.
[4] 杨长强. “计算机图形学教学演示系统”的设计与实现[J]. 教育信息化,2006,(3):41-43.
Research and Practice of Teaching Reformation of Computer Graphics
Duan Jiang
文章编号:1672-5913(2011)18-0020-03 中图分类号:G642 文献标识码:A
1 应用型本科院校的办学特色
作为一所工科应用型本科院校的教师,笔者一直在思考“应用型本科与普通本科的教学模式有何联系与区别?”应用型本科教育是普通本科教育与高职教育的“交集”,这个交集中的元素既有普通本科教育的特征,也有高职教育的特征。应用型本科人才培养要遵循本科人才培养自身的教育规律,同时也要突出实践、强化应用,既不能因为培养本科层次人才就沿袭普通本科的教育模式,办成学科型、研究型的本科;也不能因为突出应用而削弱基础理论的教学,办成高职教育。应用型工科院校的教学模式应该是精简本科的理论教学内容,突出高职的工程特色,培养既有基本的理论素养,又有很强动手能力的应用型人才。根据我院所招收的本科生“形象思维强于逻辑思维”的特点,应摆脱传统的“学术型”、“研究型”人才培养模式的影响以及客观环境的约束,积极探索以市场需求为导向,突出强化工程实践能力的教学模式。我们率先计算机图形学课程进行了教学模式改革与探索。
2 教学现状分析
“计算机图形学”是一门理论与实践紧密联系的专业课程,其主要教学目标[1]是使学生掌握计算机图形生成与处理方面的基本理论,具备解决科学研究、工程设计与制造中有关图形处理的能力,为后续的课
程学习及毕业设计奠定坚实基础。然而在实际教学工作中,笔者发现由于计算机图形学课程对空间想象能力的要求很高,仅仅是依据教材对原理算法的描述,很难抽象出实际的处理过程。同时,计算机图形学课程对数学理论和编程能力的要求很高,导致学生在学习时产生畏难心理,更谈不上对算法的深刻理解,严重影响教学质量,达不到预期的教学目标。另外,传统的计算机图形学教材在对算法的描述中,通常只给出基本算法步骤,缺少数字化的教学资源。要改变目前现状,必须得从教学模式改革入手,开发出针对每个原理的算法,开发出可视化的教学案例。同时改革教学内容,以工作过程为导向编写适合应用型工科院校的案例化教材,将理论教学与实践资源紧密结合,打造全新的教学体系。
3 教学模式改革
针对传统教学模式存在的不足之处,为了激发学生的学习兴趣,提高学生实践动手及学习效果,从课程的目标出发,为学生搭建可视化课程的整体构架,按照情景教学的方法,把握课程的教学要求,总结并提出了教学过程中“教材建设系列化、理论教学目标化,教学过程案例化,实践资源数字化”的教学理念,精心打造“省级精品课程+系列化教材+数字化教学资源”立体化教学平台。
3.1 教材建设系列化
目前课题组主持两门省级精品课程――“C++程序设计”和“计算机图形学”。将计算机图形学的编程工具选用为Visual C++,充分利用了“C++程序设计”省级精品课程的建设成果。从2006年开始,课题组使用Visual C++的MFC框架,已经开发了近200个计算机图形学教学源程序。在此基础上,课题组编写了《计算机图形学基础教程(Visual C++版)》、《计算机图形学实践教程(Visual C++版)》和《计算机图形学基础教程(Visual C++版)习题解答与编程实践》、《计算机图形学课程设计教程(Visual C++版)》等系列教材(清华大学出版社出版),从教学内容、实验项目、习题训练、课程设计等角度全方位地解答教学中存在的疑难问题。
我们以《计算机图形学基础教程(Visual C++版)》
作为主教材,以生成真实感光照模型为主线,重点讲解直线的扫描转换、有效边表填充、三维变换和投影、动态消隐、真实感光照等原理内容。《计算机图形学实践教程(Visual C++版)》给出了与主教材讲解的原理相对应的所有源程序,可作为课堂教学的验证性案例,《计算机图形学基础教程(Visual C++版)习题解答与编程实践》针对主讲教材中的课后编程习题给出了实现的源程序,同时给出了拓展技能要求的可执行程序。《计算机图形学课程设计教程(Visual C++版)》突出工程实践能力的培养,以类的形式对算法进行封装,创建了三维光照场景,所建立的开发平台可直接应用于科研项目的开发。计算机图形学系列教材由于提供了众多的源程序代码,应用特色明显,教学效果良好,目前已被国内上海大学等近50所本科院校和高职院校选为主讲教材。
3.2 教学内容目标化
计算机图形学原理众多、算法复杂。教学内容系统化,就是按照工作过程来进行教学内容的排序,而不是简单地按照学科知识来排序。以真实感光照模型为主线,课题组精选直线的扫描转换、有效边表填充、三维变换和投影、建模与消隐、真实感光照等作为教学内容。学生沿着教学主线学习后能够掌握开发一个图形平台的具体步骤和必要的方法,可以动态为场景中的物体添加光源、指定材质、设置纹理,渲染出精美的三维图形。沿着这条教学主线培养出的学生不仅能熟练胜任高级图形的开发任务,而且对所涉及的理论知识也有较深的理解。不在这条主线上的计算机图形学原理,可以在以后的实践教学中,根据任务的需要来单独学习。
3.3 教学过程案例化
从2006年开始,课题组开始尝试将微软的Visual C++ 6.0引入到计算机图形学教学过程中。提出了在计算机图形学教学过程中,以真实案例为引导,开展可视化教学的改革,让学生真切感受到“所见即所得”优秀案例,既可以充分领会到算法的精髓[2],又激发了学习的兴趣,提高了教学效果。课堂教学采用案例
演示原理讲解算法实现实践拓展4个步骤,即从可视化的案例中,抽象出图形学基本原理,对照程序理解算法,再结合工程中的项目要求,对学生提出课后训练目标。
3.4 实践资源数字化
计算机图形学实践教学过程划分为验证性实验、综合性实验和创新性实验三个实践环节,渐进地强化学生的实际编程能力。其中,验证性实验是与主教材中所讲授的原理一一对应的教学实验,共开发43个源程序;“综合性实验”是在每一个实验项目点,综合应用前面已经学到的相关原理编写的实验项目,共开发18个源程序;创新性实验是将所学原理的运用到工程项目中抽象出具有创新点的实验项目,共开发18个源程序。教师在实践环节中以“验证性实验、综合性实验、创新性实验”三个层次组织实践教学,知识的难度系数逐级递增,学生的实践技能逐步增强。目前,课题组开发的所有教学资源,已经上传到计算机图形学精品课程网站,供师生免费下载,扩大了省级精品课程的受益面。
4 教学效果
2007年,2005级的一名同学的“龙城虚拟现实
股份有限公司”获山西省第三届兴晋挑战杯大学生创业计划竞赛金奖,并于2009年,申报全国大学生科学创业项目“中国大洲虚拟现实股份有限公司”,成为我院唯一获得项目支持孵化的项目。
5 结语
根据应用型工科院校的办学特色,我们提出了“应用型工科院校计算机图形学教学模式改革”的课题,从教学内容、教学方法、教学过程和教学资源等方面进行有益的改革探索,取得了良好的教学效果。课题组所在的计算机工程系于2009年被山西省教育厅授予山西省第十届“育人杯”先进单位的称号,课题项目于2010年荣获山西省教学成果二等奖。笔者对教改经验进行总结,以期进一步深化图形图像处理方向的系列课程建设。目前,课题组申报的“图形图像处理系列课程实践教学资源与平台的建设”已经被列为山西省“十二五”重点教改项目,下一步的工作将是按照专业特色方向的要求,对“C++程序设计”、“面向对象程序设计”、“数据结构”、“计算机图形学”以及“游戏开发基础”等系列课程的教学目标、教学大纲以及教学方法进行整体建设,打造面向游戏开发方向的优质实践教学资源与管理平台。
参考文献:
[1] 孔令德. 计算机图形学基础教程(Visual C++版)[M]. 北京:清华大学出版社,2008:4-5.
[2] 唐世纲. 论案例教学的实施及功用[J]. 教学管理,2005(2):4-7.
The Reform of Graphics Teaching Mode in Applied Engineering Colleges
KONG Lingde, LIU Jingang