欢迎来到速发表网,咨询电话:400-838-9661

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > 计算机图形学课程

计算机图形学课程样例十一篇

时间:2023-03-20 16:25:26

序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇计算机图形学课程范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!

计算机图形学课程

篇1

关键词:计算机图形学;计算机仿真;科学计算;程序设计基本方法;可视化

中图分类号:G642

文献标识码:B

1 “计算机图形学”的学科特性

所谓“计算机图形学”是计算机仿真(即按模型计算以生成图像)与科学计算(即通过在计算机上建立模型并模拟物理过程来进行科学调查和研究)的一种基本形式,是研究图形数据模型在计算机内部的产生、设计与构造过程,它是显示图形不可分割的前提(这相当于画家作画之前,对绘画作品的设计思想、表达方式、绘画构思、作品内容与结构等的创作与思考过程;只有当这个绘画作品设计方案成熟之后,画家才动笔绘画);而图形显示是用点、线、面、色彩、纹理等可视化的数学方式表达这种数据仿真计算结果的数学含义、或表达仿真过程中各种实体仿真模型与场景效果的物理含义的一种直观表达方式。参考文献[1,2]已向读者证明这一结论,只有这样,才能较好的理顺“计算机图形学”课程的授课关系,使读者建立用计算机生成图形的完整概念。

我们用这一指导思想主导“计算机图形学”教育20多年,并用“计算机图形学”的授课内容解决了多年来国内计算机程序设计课程没有解决好的计算可行性(可计算性的实现前提)这一教学难题,使该课程成为初学者学习计算机程序设计基本方法、认识图形数据模型构造与显示的一般规律、进行可视化应用程序开发三位一体教学目的的最佳选择,并有效地弥补了从算法语言、数据结构到软件工程之间关于应用程序编程系统训练与计算机仿真等教学环节的缺失。这种教学方法使“计算机图形学”的教学内容完全纳入了计算机科学的教育体系,同时使“计算机图形学”与“数据库”、“网络通信”这三门课程成为现代计算机应用程序的三个基本特征(数据计算、数据存储与检索、数据联网通信)的典型代表,由此转变了“计算机图形学”课程的教育观念与教育思想。在教学过程中,作者曾遇到学生们提出的多种学习问题,今整理成文,以飨读者。

2学习“计算机图形学”的原因与重要性

为什么要学“计算机图形学”,这是计算机专业选修“计算机图形学”课程的读者关心的首要问题。众所周知,计算机科学是处理信息技术(IT)的一门学科,通信科学是传输信息技术的一门学科。对于信息技术而言,常用于表达信息数据含义的4种方式分别是①数字与字符方式表述;②图形方式显示;③播放声音表述;④用机械力表达(即把电信号转换成机械运动)。这4种表达信息数据含义的方式又称信息数据的多媒体表达方式(即多媒体技术)。其中,用图形显示这种方式表达信息数据的含义符合人们观察了解事物运动规律的习惯,而且信息容量大,直观方便,同时是人们获得外部世界信息来源的主要依据;也就是说信息数据的可视化是信息技术与计算机科学发展的一种潮流与必然趋势。随着计算机工业的发展与进步,实际应用课题与现代程序设计对信息数据的可视化处理要求已经越来越高,这就要求人们深入研究并掌握图形显示的一般规律,才能更好的为计算机信息数据的可视化服务。

按现代教科书对“计算机图形学”的新定义,“计算机图形学”代表了计算机应用学科的一个重要发展方向――科学计算、计算机仿真、计算机辅助设计、信息数据的可视化、动画与游戏、虚拟现实、数字娱乐,其编程应用还涉及程序设计方法。它们代表了当今计算机技术的发展潮流与应用水平,是解决计算机专业人才出路的有效途径之一;而“计算机图形学”是该方向的公共基础课程,是目前国内计算机本科教育应当加强的内容。显然,仅仅靠学习计算机程序设计语言、数据结构、编译原理、操作系统、数据库、软件工程、形式语言与自动机理论等课程还不能完全使学生的能力直接达到开发这些应用软件的目的,因为原则上这些课程是为用户使用计算机的计算功能而系统量身打造的软件使用工具(数据结构、软件工程除外),它们的教学目的是为用户掌握并研制这些软件工具服

务、而不是为用户使用这些软件工具系统地开发应用程序而开设的课程。计算机专业主要沿这条主线向前发展:研究、设计、制造计算机硬件设备,为用户使用计算机的计算等功能提供一切便利的手段、方法与软件辅助工具,这包括总结用户使用计算机的基本类型与模式,而对于复杂且很难全面概括使用计算机的方法等、则留给一般用户自己解决,这或许是计算机专业本科课堂教学没有介绍对数据计算类型的应用软件系统开发要遵循的基本规律与发展模式的原因之一,“计算机图形学”的教学正好可以弥补这个缺陷。

由于计算机教育本身并不能直接提供认识世界、改造世界的能力,加之我国没有掌握具有国际竞争能力的计算机硬件与系统软件的核心开发技术,这使中国大量的优秀人才在计算机专业上的最后发展受到了严重制约。而“计算机图形学”的仿真方法为计算机专业人员的发展提供了这样一种新的学习方法与重新选择的机遇,它能为计算机专业人员学习其他行业的专业知识(即学习新专业的物理、数学方法)、成为其他行业的专家助手,进行新行业系统仿真与系统设计以获得新生;由于各行业都有各自的研究领域与待解决的研究问题、研究方法与理论研究模型等,当用计算机仿真的方法对这些研究课题进行辅助研究,并用图形等可视化的方法表达计算机仿真研究的中间结果与最终成果时,这将使计算机的应用走向深入。

科学研究的目的就是探索未知世界、认识世界、改造世界、造福于人类自己,而“计算机图形学”的教育正是遵循这样一条主线:通过物理实验认识待解决问题的本质,并用数学模型的方法来描述这种物理现象的变化过程,从而达到用计算机程序设计的方法来仿真光线在自然界中的传播,以及光线在照相机中传播而生成图像效果,这类物理仿真过程是科学研究方法中的一种基本形式,这种科学研究方法的教育思想(包括人文精神)是国内计算机专业本科课堂教育所欠缺的(计算机专业往往专注于数理逻辑思想的基础训练)――即“计算机图形学”的教育,不仅拓展了计算机专业人才的知识领域,也为其毕业增加了就业渠道,同时能培养计算机专业人员的基本科学研究素养,这正是目前国内计算机教育改革所追求的目标之一。

需要说明,全日制普通本科教育是普适教育,它需要建立各专业自己的知识框架,学习基本的概念,了解基本的范畴,明确其发展方向,计算机专业也是如此。本科教育重在基础,提高本科教育质量与水平并非拔高与创新,而是要做到全面、均衡的发展,除要求学生掌握本学科专业已成熟的系统理论知识外,还需培养学生用学科的基本思想与方法独立自主分析问题、解决问题的能力,这种理论与实践相结合的教育方法,能确保学生今后得到稳步的发展。“计算机图形学”就是培养学生利用计算机、数学、物理等学科的系统知识解决实际应用问题能力的一种有效方法,这样培养的学生才能适应社会竞争与选择的需求;只有在研究生阶段,通过再次系统学习、阅读原著与相关论文并参与项目开发等活动,达到全面提升对学科的认识能力,并向某一个研究方向发展、去探索未知世界的变化规律、解决前人没有解决好的难题、逐步走入学术研究的殿堂(即创新教育);当然人们也能在日后的工作中慢慢积累这种工作能力。

文献[2,3]系统论述了“计算机图形学”课程在计算机科学教育中的作用与地位。目前很难找出一门具有像“计算机图形学”类似重要性与多样性的其它计算机本科专业基础课程,能使读者正确掌握数据计算类型的计算机应用程序设计的基本方法,并使计算机这一工具直接服务于社会,这是我们应该重视“计算机图形学”教育的根本原因。

3学习“计算机图形学”的方法

由于“计算机图形学”属于计算机应用软件的范畴,因此,数据计算类型的应用软件的设计方法就是学习“计算机图形学”应该遵循的原则。就“计算机图形学”课程的学习而言,它要求:

(1) 全面掌握程序设计语言的特性与数据结构的基本内容,是实现“计算机图形学”编程的基础。

(2) 掌握建立解决实际应用问题的数学模型与软件系统的概念,是计算机程序设计的两个关键点。软件系统是一个能自动运行的综合执行程序,它能从输入、存储、运算处理、输出等方面全面处理用户在某个领域中提出的诸多数学模型并完成其模型描述数据的加工任务,使用户很容易明确这种软件的组成、功能与使用范围。一般利用二维图形的简单性,可以较完整的介绍二维图形软件系统这一概念。软件系统的概念是目前程序设计语言与数据结构课程中所欠缺的关键内容。

(3) 正确的认识“计算机图形学”与计算机仿真的相互关系。“计算机图形学”的重点与难点在三维图形的数学模型研制(包括照相机模型,灯光模型,颜色模型,照明模型,物体的几何模型,物体表面的材质与纹理模型等)与模型描述数据的构造上;由于计算机图形学追求像照相机拍照一样的三维真实感图形显示效果,这决定了要在计算机中使用物理学仿真的方法(仿真光线在自然界中的传播所产生的显示效果或把这种传播效果映射至物体的表面上)才能达到这一目的,这自然需要读者对相应的物理知识有个基本的了解才能进行。

(4) 需要了解一些计算机仿真的基础知识,以确保“计算机图形学”的物理仿真教学过程不会出现偏差。

计算机仿真的主要过程分系统、模型、编程实现(仿真算法)、评估四个步骤。这里①系统是指相互关联又相互作用着的研究对象的有机组合,它决定了被研究考察对象的组成与边界范围。②计算机仿真一般可以用数学模型(简称模型)的方法代替实物研究对象,事实上模型也可以是对现实世界的事务、现象、过程或系统的简化描述,但它反映了实际问题最本质的特征和量的关系。目前“计算机图形学”所述的模型多限于对所研究对象的物理性质、运动变化规律等特性的一种数学描述,它使人们能解释那些难以直接观察到的事物的内部构造、事物的变化以及事物之间的关系――即模型描述了现实世界中有显著影响的因素和相互关系。但这种描述有一定的使用条件与限制范围,研究的目的不同,对该研究对象的数学模型的描述方法以及模型的种类会不一样。③仿真(编程实现)就是在模型上做实验,从理论上测试构建的理想系统的动态行为特性,以评估系统的效能。④系统的用途不一样,评估的方法也不同,人们往往用事先约定的一组指标来评估仿真系统的结果;当所得仿真结果没有达到预期的理想效果时,人们往往不断改进仿真模型与仿真算法。例如计算机图形系统,用途可以是显示三维图形,查看它的真实感逼真显示效果就是人们主要关心的问题;模型的运动与操作(如游戏),看它的操作性与故事情节等如何表达用户的情感与智能(简称好玩)就是人们关心的主要问题;机械设备的综合运动与仿真,考察所设计的复杂设备的工作性能就是人们关心的主要问题;电气系统的系统仿真,能考察系统工作参数如何设计以满足用户的不同需求;作战系统的仿真模拟,能考察作战人员的训练水平、武器性能、指挥作战方式对作战进程的不同影响与作战效能,等等。

(5) 努力把图形学所介绍的各种模型与算法(算法是对模型描述数据的加工与变换处理的步骤与方法,“计算机图形学”中的主要算法有各种线段图形的生成与实面积多边形的填充算法、着色算法、消隐算法、纹理映射算法、阴影算法,光线跟踪算法与辐射度算法)都编写成程序代码,这使读者能直接体验自己的学习效果,也是其它课程不容易做到的。编程时要考虑算法的复杂度,特别是按照软件系统的方法把编写的程序代码组成一个系统整体,这是形成成熟商品软件很重要的前提。显然,此时软件系统中的各种数学模型反映了仿真系统中研究对象之间的相互关系。

(6) 掌握“计算机图形学”打造的绘图工具,是可视化应用软件编程的重要基础。用“计算机图形学”知识研制的工具常用的有OpenGL与Direct3D等三维图形标准,虚拟现实建模语言VRML。而三维动画与CAD等软件可以看成是“计算机图形学”为影视制作、游戏建模与计算机辅助设计部门打造的专业计算工具。仅把图形标准与计算机绘图等应用当作“计算机图形学”很不完备,因为它不能在课堂教学中向读者正确、完整、系统地展示计算机图形学学科发展的基本规律,并人为地割裂了计算机图形数据模型的构造与显示这两个过程。

(7) 学会看中英文专业杂志等参考资料,这些参考资料记录了学科的发展历程与学科当前的研究热点(一本教科书不可能全部包含这些内容),且是一种更重要、复杂、深入的学习研究方法,也是目前国内本科教育的弱项(因为国际上最新的研究成果多用英文发表)。只有这样,才能跟踪计算机图形学的最新发展并站在学科发展的前沿、才能开阔人们的视野并有所鉴别,便于读者日后针对用户的多种需求展开开创性创新或针对已有成果的不足、提出修补与改进等渐进性创新等学术研究活动。

(8) 勇于参与课程实践与项目开发,是巩固、检验所学知识、提高实际动手能力的好方法。实际软件开发工作往往是多种知识的综合应用,它需要对实际处理事务有一个比较透彻的了解(用户需求报告)、并建立这些待解决问题的数学模型与系统流程后才能有效进行(按照软件工程的方法组织实施)。

只有把自己开发的软件做成有效商品、服务于社会,才能使所学的知识转变成生产力,才能使自己得到升华;同时也应注意把自己的心得与研究成果总结发表,与人共享;还应参加学术活动,注意留意不同学术流派之间的观点、思想、方法与学术动态,取长补短,形成自己的风格,广结人缘,相互交流,为学科建设添砖加瓦。

(9) 一本计算机图形学教科书的容量使其只能介绍计算机图形学发展历程中产生的最基本、最经典的模型与算法,这些内容是人们耳熟能详的物理原理与相对简单的数学知识在计算机中的综合应用,太复杂的计算关系因会影响图形的显示速度而一般不采用;目前计算机图形学教科书的理论体系已成熟且“计算机图形学”的教学内容已经构成了一个大系统,这使“计算机图形学”的教学过程变得简单、容易。

4目前国内“计算机图形学”教育未受到重视的原因分析

既然如此,为什么目前人们感觉“计算机图形学”教育的受重视的程度不如数据库与网络通信等计算机应用软件呢?笔者认为其原因之一在于:这是因为“计算机图形学”造就的工具即图形标准的特殊应用环境要求限制了它在很大一部分应用程序中的具体应用;三维图形标准目前仅仅在游戏领域获得了商业上的成功,一些应用软件不调用图形标准也能自己绘图;国内的计算机应用程序可视化的开发要求暂时还较低;关键是作为学科领头羊的美国人目前还没有把“计算机图形学”课程作为计算机本科专业的核心课程,这是因为他们对“计算机图形学”课程的本质与其在计算机学科中的作用与地位认识不到位所致,美国人图形学这种教育现状(目前多以图形标准的原理讲授为主)和局限性与美国人在3D游戏、计算机动画、计算机辅助设计等应用软件的开发上执世界牛耳之地位不相称。

当然,早期计算机图形学教科书编写内容、体系的不够成熟,也影响了人们对“计算机图形学”课程的认识与学习的积极性。例如仅停留在数学公式与算法的层面上介绍二维、三维图形的生成而不注重其建模思想与方法的介绍,且人为的把物体几何模型的构建与其图形显示分解成“计算机辅助几何设计”与“计算机图形学”这两门课程,这直接导致图形学课程教学内容缺少被处理的图形显示对象,加之计算机课程与图形学的教育又没有软件系统的概念,这样安排虽然能满足图形标准等商业软件的发展需求,但却很难让初学者全面掌握“计算机图形学”学科系统性的概念、思想和方法与学科发展的基本规律――用数学模型的方法指导编程实践,在计算复杂性可接受的条件下,针对已有成果中存在的不足,不断用新的数学模型与仿真算法等方法对其进行改进,使图形学的数学仿真过程不断的逼近现实物体模型(包括刚体、软体、流体、气体)的构造、运动、变形、切割和拼接与反光效果的显示这一真实的物理变化过程。即初学者没有用计算机生成图形的完整概念,这也是以往人们认为计算机图形学课程难教、难学的主要原因。

由于“计算机图形学”的绘图原理不像数据库软件那样,数据库的功能可以被所有的应用程序所调用;也不像通信软件那样,所有要联网的计算机都离不开通信技术与网络技术,而计算机显卡工业、3D游戏、计算机动画、计算机辅助设计等产业的市场份额小于数据库与计算机通信等产业的市场份额,即应用软件的商业价值决定了它们在人们工作与学习中的地位。

参考文献:

[1] 魏海涛. 计算机图形学(第2版)[M]. 北京:电子工业出版社,2007.

篇2

中图分类号:TP3 文献标识码:A

文章编号:1009-0118(2012)05-0129-02

一、引言

“计算机图形学”是计算机专业教学中的一门重要的专业基础课程,它的后续课程有:图像处理、多媒体技术、模式识别、计算机视觉以及虚拟现实等,在计算机专业的教学过程中占有很重要地位。“计算机图形学”课程最大特点是理论与实践结合较强,传统的教学模式很难满足这个要求,严重影响到课程的教学质量和教学效果。因此,“计算机图形学”课程的教学改革势在必行。

二、分析教学中存在的问题

“计算机图形学”主要研究与计算机图形表示、图形计算、图形处理和图形显示的相关原理与算法,它的内容丰富,涉及了数学、物理学、计算机科学、美学、心理学及艺术学等诸多方面的知识,具有很强的理论性、实践性和综合性。

在几届的课程教学中,作者先后使用偏理论教学和偏实践教学,都没能取得很好的效果。目前国内高校对这门课程的讲授常使用这两种方法。偏理论的教学过于强调理论知识(相关的数学基础知识、算法的推导、程序的实现),学生很难理解和掌握,普遍反映:“上课听得懂,下课再问就不知道了”,学习态度从困惑变成厌倦,因为学生不知道这些知识有什么用。偏实践教学则是从实用角度出发,理论知识涉及得少且浅显。学生兴趣提升了却没有抓住课程的本质,错误的认为计算机图形学就是图片处理和动画制作。总结上述两种教学方法存在以下几个方面问题:

(一)知识点的混淆。由于本课程所学的内容多,学生在学习过程中没有清晰的知识框架和整体思路。知识越学越多、越学越乱。例如,在实际教学过程中,几种扫描转换算法讲授后,有些学生已区分不出各种算法所解决的问题。

(二)内容知其然不知其所以然。计算机图形学涵盖许多原理、算法、程序,这些内容都不容易理解和掌握,大部分学生不感兴趣。这就与他们原本对这门课程的理解有偏差,所以感觉很盲目,没有学习目标,最终丧失学习兴趣和热情。

(三)实践环节得不到应有效果。学生在有限的时间内很难完成对分析能力和编程能力要求很高的实验任务,进一步加深对该课程的排斥。

针对以上出现的问题,在有限的学时内,如何使学生系统地掌握计算机图形学的基础知识、重要的基础理论和生成图形的常用方法,值得深入的探讨。

三、课程教与学的改进

教学方法包含教师的教授方法和学生的学习方法。计算机图形学的教与学都应把握课程的整体结构和发展方向,强调理论学习与实践应用的结合。使学生在深刻理解图形学本质的同时,建立起这门学科的整体框架,为后续课程打基础。

(一)教师的教授方法

教师在学习过程中起着指导和协助作用。如何在课程的基本原理和基本技能传授给学生后,引导学生将所学的知识应用到实践中,去发现图形图像及其相关领域的问题;激励学生积极地分析和解决问题。

1、兴趣培养。古人云:“知之者不如好之者,好之者不如乐之者”,让学生了解计算机图形学与自己的生活、工作、学习密切相关,兴趣就会油然而生。例如,从学生比较熟悉或推崇的某游戏或软件开始,介绍支撑该产品的计算机图形学基本知识和理论;或者展示计算机图形学在计算机动画、科学计算可视化、计算机艺术、多媒体应用等应用领域的最新研究成果和发展趋势。使学生萌生求知欲望,这是非常关键的一步。

2、合理安排。计算机图形学课程内容涉及图形显示处理流程、图形硬件设备、图形系统、二和三维图形的生成和处理算法、裁剪、几何变换、交互技术、三维消隐等方面,每一项内容又包含很多的技术、方法以及经典算法思路。教师不可能在有限的学时数内每个知识点逐个展开讲解,那样也不利于学生对知识的学习和掌握。怎样给学生展现一个清晰的计算机图形学课程内容脉络和整体框架呢?结合学生的认知能力,选择有代表性的讲授,强调基本概念、基本原理、经典算法(如Sutherland-Cohen算法、Bresenham算法、Z缓冲器算法、光线跟踪算法等),做到突出重点、点面结合。例如,圆、椭圆的扫描转换的内容完全可在讲授直线段扫描转换算法后安排学生自学,因为它们的基本思想是相同的。这样,可以用节省的时间传授学生最大量的新知识,同时可以培养学生的自学能力。

3、形式多样。俗话说“一幅画胜过千言万语”,传统的黑板讲解结合生动有趣的多媒体教学,用flash、OpenGL等工具把复杂枯燥的数学推导和算法描述做成动画演示,使复杂问题简单化,抽象问题具体化。例如,Bezier曲线,B样条曲线,NURBS曲线曲面,数学公式抽象难懂,计算量大,学生普遍难以理解。使用OpenGL(OpenGL提供了近350个不同的调用函数,用来绘制复杂的三维景象)制作出他们的三维模型,动态演示算法执行过程,抽象的理论与具体的实物对照,从而加深理解。

4、注重实践。培养学生技术应用能力靠上机实验,合理安排实验课程是关键。学生要在边做边学、边学边做中加深对理论知识的认识和理解。教师结合学生的动手能力,制订切实可行的实验设计方案。

(二)学生的学习方法

学生要熟练掌握计算机图形学课程的知识精髓,课堂学习是远远不够的。要积极主动成为学习的主体,本文提出了几点建议供学生参考。教师也可以根据自身教学的实际情况借鉴使用。

1、扎实的数学基础、很强的编程能力这是学好该门课程的必要条件。例如,连续、一阶连续、二阶连续、曲率、绕率、参数表示、矢量、法向量、矩阵、矩阵运算等,都是计算机图形学中常用到的基础知识。这些都需要学生课前熟练掌握。

2、充分利用网络,开阔眼界。关注计算机图形及其相关学科领域的发展动向;基础算法产生背景、算法的应用领域、相关的学术报告和会议文献等,进而扩展知识的深度和广度。这不仅限于学好这门课程,其它课程也是适用的。

3、理顺计算机图形学课程的学习内容和整体架构,将每个知识点用知识树的形式串联在一起。如果一个问题有多种解决方法,可以采用对比的学习方法,将所学的原理、算法、程序进行比较,找出它们之间的区别与联系。例如:Bezier、B样条、NURBS曲线曲面间的比较,CSG树、边界表示法、八叉树表示等实体造型技术的比较等。

4、认真做好每次上机实验。运用学到的知识,发现问题、分析问题、解决问题,提高动手能力,这是学习的最终目的。

四、结合语

计算机图形学是一门实用较强的综合学科。在了解和掌握现有的和前人积累的知识同时,更重要的是知识的模仿和继承,突出探求知识能力和创新意识的培养。经过几年的教学探索和研究,上述的教学改革可以达到很好的教学效果。

参考文献:

\[1\]龚绍文.大学青年教师教学入门—大学施教学初步\[M\].北京:北京理工大学出版社,2007.

\[2\]潘革生.高等学校计算机图形学教学理念探讨\[J\].广西科学院学报,2008,24(4):380-383.

篇3

中图分类号: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.

篇4

计算机图形学是研究如何利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科,在计算机辅助设计制造、科学计算可视化、地理信息系统、虚拟农业等领域有着非常广泛的应用,是计算机、地理信息系统、电子工程、机械设计等本科专业一门重要的专业基础课,也是许多后续课程(图像处理、模式识别、多媒体技术、虚拟现实、计算机视觉等)的基础课程,在教学计划中占有重要地位和作用。

培养学生的创新和实践能力是研究型大学教育改革目标的核心。通过该课程的学习,不仅使学生能系统地获得计算机图形学的基本知识、必要的基础理论和常用的图形生成算法,同时能提高学生的综合素质,使学生具备一定的研究和创新能力。另外,随着近几年信息技术在农业领域的广泛应用,在农业遥感、地理信息系统、农作物模拟和仿真中涉及大量的计算机图形算法和技术。因此在这门课的讲授内容上增加了一些和遥感、地理信息系统、虚拟农业技术相关的图形基础和算法,并结合教师的研究成果和科研工作的进展,及时将其增加到教学内容中,使这门课程逐渐形成有农业特色的专业基础课。

课程改革决不仅仅是教学内容的更新,更为重要的是学习方式、思维方式转换以及新教育技术的应用。这需要我们从“知识型教学”转换成为“研究型教学”,即以知识为载体,传授本学科的方法论,注重学科发展,提升教学中学生思维能力、交流沟通能力等持久性综合能力的培养。

1研究型教学的实施方案

研究型教学是以提高学生的综合素质和创新研究能力为目标的。为了达到这个目标,我们从跟踪学科前沿能力、发现问题能力、理论联系实际能力、文献阅读能力等以下7个方面来综合培养学生的能力[1],如图1所示。

围绕这几方面的能力,具体做法是强化基础、突出实践、重在素质、面向创新。我们主要在以下几个方面展开了创新性的教学改革研究。

1.1像计算机工程师那样去思考和解决问题

本课程教学理念为:“以应用为背景、以理论为主线、以算法为核心、以合理先进的教学方法为手段、以提高学习兴趣和创新能力的培养为目标”。

学完这门课程,学生应掌握两个技能并达到一个目标,两个技能是:1)学生能编写小规模的图形程序(这里的小并不是贬义,只是代表你有能力做事的规模而已);2)掌握的第二个技能是有能力来理解别人编写的程序。因此要能写、能读程序。

最终的目的是开启学生从其他领域中提炼概述,并研究出如何将其转入计算机图形领域的能力。通过图形学算法的提出背景以及发现、发展和完善过程的讲解,对学生的思维进行训练,提高学生面向问题的求解能力,培养学生的科研素质。

在教材的选取上,不局限于一本教材[2-4],而是选用国内较有影响的几本教材作为参考书。注重基本原理和概念的讲解。因为图形技术的发展日新月异,新的技术和算法层出不穷,学生学习的技术几年后可能会过时,但基本的原理和概念是长期不变的。

1.2突出讲授图形算法中蕴含的思想

计算机图形学课程的主要内容就是讲授图形生成、显示、处理的算法。那么,一个普通、常规的图形算法是如何通过改进和完善变成一个优秀算法的?

算法分析是一种理论研究,是关于计算机程序性能和资源利用的研究,重点是性能。我们是在学习如何计算机程序运行的更快。算法还涉及到其它资源,但我们的关注点主要还是在性能上。

例如,直线生成算法是计算机图形学较底层的一个算法。该算法的性能严重决定着图形生成的效率。因为当完成一个动画算法或真实感图形算法时,直线算法可能被几十万、上百万次地反复调用,因此这种算法要求效率要高。在加、减、乘除、开方、三角函数等运算中,加法是最快的运算,其中整数加法又快于浮点加法。因此像画直线这种底层算法,能够减少一个乘法都是一个了不起的事情。

从讲授通过直线方程的画线算法到数值微分(DDA)算法、再到中点画线算法,最后到Bresenham算法。一步步给学生展示了一个开始需要一个乘法和一个加法的普通直线算法,是如何通过改进和完善其性能,把乘法演变一个浮点运算加法,又把浮点加法变成整数加法的一个精彩过程。计算机科学问题的核心就是算法。

学术大师们在提出、改进和完善算法的过程中所体现出来的一些闪光的思想正是我们所要深刻认识和领会的。什么是创新?这些闪光的思想就是真正的创新!

在讲授其他一些图形算法如多边形的扫描转换和区域填充、裁剪算法、消隐算法等时,并不强调学生掌握和实现算法的具体细节,更重要的是阐述这些算法所蕴涵的一些创新思想,像增量思想、编码思想、图形连贯性思想、分而治之思想等。这些思想不仅用在图形学算法中,而且还用在了数据挖掘、人工智能等领域。

1.3算法讲解与程序演示相结合

计算机图形学课程具有很强的实践性,上机编程实验是其重要环节,基本目标是将学生的计算机操作能力、分析能力、设计能力与编程实践结合起来,引导学生由浅入深地掌握计算机图形学基本理论和算法。

为了让枯燥的算法讲解变得生动起来,作者在教学手段上充分发挥图形学自身特点,将许多算法的原理用Flash做成动画片嵌入到教学幻灯片中,采用生动形象的动画算法讲解,使学生对抽象的图形学算法不仅有一个直观的了解,而且还调节了课堂气氛。许多同学在看过演示之后,不仅对算法有了更为深入的了解,还纷纷跃跃欲试,想要做出更好的程序来,这极大地激发了学生自己动手编程实践的欲望。这些课件对于提高学习兴趣、增强算法的理解性具有很大的作用。

我们安排了8~10个上机编程实验,内容包括画直线圆弧算法、区域填充算法、编码裁剪和梁友栋裁剪算法、二维、三维变换算法、透视变换算法、Bezier曲线算法、B样条算法和简单光照模型的实现。学生通过这些算法的编程实现并改进一些重要算法, 既可以增强对算法本身的理解,也可感受编程的乐趣。

2教学与科研相结合

2.1教师科研与教学相结合

科研是提高课程教学质量的源动力。将科研成果引入教学,一方面丰富了教学内容,提高了学生的学习兴趣;另一方面,也培养了学生的科研创新能力。

我们主持和参与的国家科技基础条件平台中国数字科技馆项目“虚拟农场体验区”、科技支撑项目 “面向农民科技培训的人机交互式三维可视化平台研究”、虚拟农场等课题中都使用到了图形算法和技术,通过课题引导学生将图形学中的各类知识集成到引擎中,面向二次开发和快速开发,大大提高了学生对图形学技术的理解和实践动手能力。

2.2教学与专业文献阅读相结合

一门学科的内容终归是不可能全部在课堂上讲授完的,以“授人以渔”为己任的教师也没有必要这样做。在网络时代没有绝对的老师,所有老师必须成为学生。同样,在网络时代也没有绝对的学生,所有的学生必须学会做自己的老师。

为了培养学生研究创新的能力,除了把教师自己的科研成果介绍给学生,更重要的是培养学生跟踪学科前沿的文献检索、文献阅读与文献综述能力。

基于期刊的影响力和SCI影响因子等标准,我们选择国内外一流期刊20余种,国内期刊如《计算机辅助设计与图形学学报》、《地理学报》、《计算机图形图像学报》等;国外期刊如《Computer Graphics》、《IEEE Computer Graphics and Application》、《International Journal of Geographical Information Science》等。相对来说,这些权威的期刊发表的文章基本上都是高质量的文章。除了从这些期刊里选出一些和计算机图形学算法有关的高质量文献以外,还搜集一些有关计算机图形经典算法的经典文献,主要是一些具有里程碑式的文献!这些经典的文献犹如文学界的世界名著,长久不衰,他们的贡献直到今天都无可忽略!最新文献犹如现代流行小说,要与时俱进,了解计算机图形学领域的一些最新进展。

要求每个学生在这门课程的学习期间,能够阅读至少2~3篇中文文献和1~2篇英文文献(既阅读世界名著,也要浏览现代流行小说)。这样既提高了学生的英语阅读能力,了解该领域的热点和前沿进展,又使得学生能领会大师们的研究思路、逻辑推论和技术方法。

通过两届学生的实验,教学取得了良好的效果。尽管他们只是大二的学生,但已经有几位学生对教科书上的一些经典算法在性能上做了进一步的改进,提高了算法的效率,撰写的几篇学术论文被国内外学术会议录用。

3结语

在研究型课程教学中,教师的作用发生了变化:教师不再是“讲台上的圣人”,而更多地起“场外教练”的作用[5];他们不仅仅传授知识,而是遵循认知规律,以学生为中心,设计教学过程、提供教学资源、提供学习建议,对整个学习过程进行控制,包括在关键环节上对学生进行启发、激励、引导和指导。教师的战略目标都是为了帮助学生们能像一个计算机科学家一样去思考。换句话说,希望赋予学生一种能力,让学生可以用计算机做他想做的任何事。

参考文献:

[1] 苏小红,李东,唐好选. 面向能力培养的计算机图形学课程教学方法[J]. 计算机教育,2010(3):47-51.

[2] 孙家广,胡事民. 计算机图形学基础教程[M]. 北京:清华大学出版社,2009.

[3] 陈传波,陆枫. 计算机图形学基础[M]. 北京:电子工业出版社,2008.

[4] 孙正兴. 计算机图形学教程[M]. 北京:机械工业出版社,2006.

[5] 高虹. 从美国理工科本科教学改革看研究型教学[J]. 物理与工程,2004,14(2):12-14.

Research Teaching of Computer Graphics for Undergraduate Students in Agricultural Universities

ZHAO Ming

篇5

信息与计算科学专业作为理学的一个热门专业,其培养目标是培养具有良好的数学知识,掌握信息科学和计算科学的基本理论和方法,受到科学研究的初步训练,能运用所学知识和熟练的计算机技能解决实际问题,能在科技、教育和经济部门从事研究、教学和应用开发和管理工作的高级专门人才。这就需要学生具有较强的综合素质。①②与其他专业相比,信算专业具有一定的数学基础和计算机知识,善于发现问题,具备一定的创新意识,但是动手能力较弱,创新性不强,综合运用所熟悉的数学知识和信息知识的能力不高。计算机图形学(以下简称图形学)作为信算专业的一门选修课,是一门理论、技术与应用相结合的技术应用性课程。该课程是2001年美国计算机学科教程和2002年中国计算机科学与技术学科教程的核心课程之一。③④⑤对于提高学生的动手能力,培养学生的综合素质大有裨益。

1 计算机图形学所存在的问题

信算专业的大多数学生具有学习图形学的动机和欲望,但目前对于图形学实验课程所能提供的具有动手、创新的环境有限,学生无法充分发挥自己的学习潜力,同时难以提高自己的创新能力。同时学生也不善于利用现有的资源和条件,更不能创造出自己所需要的资源和条件。具体表现为:

(1)传统的教学内容。目前的图形学课程教学主要以课堂讲解、传授知识为主。在教学过程中学生的个性,一直沿用相同的的大纲、教材和考试方式,在这种情况下,学生的知识结构和思维方式也很容易与老师相同,缺乏创新、缺乏创见。同时,对于学生的积极性有很大影响。

(2)实验教学模式比较单一,教学效果不够理想。传统的实验教学侧重于验证性的实验教学,从实验的思想到实验算法的确定,基本上都是由教师事先讲解好,学生只是被动的接受和模仿,让学生自己思考的东西较少,很多学生只是盲目敲击代码,并不了解为什么这么做,不利于学生创新能力和综合素质的培养。

(3)对学生评价考核机制还不够科学完善。目前评价学生的标准主要是考试成绩,因而在一定程度上导致学生片面追求考试成绩,忽视其它能力尤其是实验动手能力和创新能力的培养。

2 教学改革的主要内容

2.1 改革课堂教学模式

课堂教学是教学的基本组成形式,学生能力的培养也必须渗透到图形学的教学过程中。教师既要传授知识,又要培养学生的动手能力、创新能力、实验能力等等。同时以此为基础,要结合学生不同的认知水平和生活体验,创设新的教学情景导入新课,激发学生学习的欲望。在教学中,营造一个鼓励学生发言的课堂氛围。采用多种多样的课堂教学形式,鼓励学生提出自己的看法,让学生自觉、主动地学习,以提高学生的创新能力。加强图形学与微分几何、数据结构、概率论与数理统计等各学科之间的交叉综合,有利于学生综合素质的提高;同时融合学科前沿知识,增大课堂信息量,激发学生的创新精神。

2.2 改革实验课教学模式

针对目前《计算机图形学》实验中内容比较单一、编程环境比较旧的问题,使得多数学生为了验证理论教学中学到的算法,刚实验成功一个算法会比较有成就感,但是对后面的实验会在某种程度上失去兴趣,感觉枯燥无趣,对它不感兴趣。充分利用理学院实验室的仪器设备和师资力量,探索和完善实施新的实验教学的方法。

2.3 改革和完善学生的考核体系

评价是教育管理中实施控制的特殊手段,是教育管理的重要环节。传统的培养模式并不利于培养学生的动手能力,主要原因是学生考核过程中采用统一的闭卷考试方式,不能反映出学生的真实的水平和能力,尤其是创新能力和实验能力很难在一张试卷中进行全面考察。因此我们可以采用多样化的考试方式,以及相对比较自由的考试时间,或不采用考试形式考评学生,如通过独立撰写专题报告、课堂演讲、撰写相关的学术性文章、参与相关的科研项目以及相关的程序设计大赛等多种形式进行评价。

3 实施的步骤与方案

(1)通过对2007级、2008级学生进行调查,了解学生为什么选修图形学这门课程?希望通过该课程学到什么?以及学生比较擅长的编程语言,给学生创造良好的编程环境,使得学生先利用自己熟悉的语言实现结果。

(2)通过网上查询及实地考察,借鉴国内外著名大学的经验,结合理学院信算专业的专业特色对教学内容进行改革,使得教学内容与时俱进,与当前的SIGGRAPH中的热门图形学专题相结合,开阔学生的视野。

(3)完善网络课程以期协调好“教师教”与“学生学”的关系。采用多样化的教学方法,从图示内容的渐进性到图形的欣赏性,再到图形的交互性循序渐进,同时将多媒体教学与程序现场演示相结合。

(4)通过课堂实践完成将传授知识与培养能力相结合,采用“以点带面”的方法,每个算法在班内选择1~2个代表学生,讲述自己的算法,修正其编程过程中遇到的问题,以及其他同学有可能遇到的问题,将该过程集结成录像上传到网上共享。

4 教学效果

通过对于2007级、2008级信算专业的学生进行教学改革,我们发现与2006级相比,学生对于实验算法的理解更加深入,成绩优秀的学生比例提高了15%,考试中对于考察算法的题目学生的得分率比较高,多数学生对于计算机图形学的认识有了进一步的提高。

注释

①陈国军.工科《 计算机图形学》 教学改革探索[J].中国石油大学胜利学院学报,2009.23(2):81-83.

②张荣华.高校“计算机图形学”实验教学改革探析[J].中国电力教育,2007(3):134-136.

篇6

作者简介:邹耀斌(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个方面的教学改革。

篇7

中图分类号:TP391,G642 文献标识码:A

文章编号:1672-5913 (2007) 24-0080-05

1对图形图像与多媒体知识的要求

1.1CC2004知识领域要求

在CC2004中,和图形图像与多媒体相关的知识领域是人―机交互(Human-Computer Interaction -HC)、图形学与可视计算(Graphics & Visual Computing-GV)、信息系统(Information Management -IM)、网络计算(NetCentric Computing-NC)等几个部分。表1是CC2004列出的五种课程计划中所含人―机交互和图形学与可视计算两个计算机主题的比重。表中的数字表示对应的专业与相应的知识域的相关性,范围从0~5。其中,min值表示该学科报告中列举的学生对相应知识域掌握的典型的最低要求,也是相对于其它专业最低要求的值,max值表示该专业学生对相应知识域掌握的典型的最高要求。

表1 计算机主题的比重

分析CC2004中各课程计划和表1可得出,CC-CS2001对图形图像与多媒体的知识要求最高,所涉及的具体知识单元见表2。

表2 和图形图像与多媒体相关的知识单元

CC-CS2001在附录B的课程描述中,推荐了一些覆盖知识领域和单元的课程,每门课程里对预备课程、课程提纲、覆盖的知识单元、各单元学时做了较为详细的描述。相应地,和图形图像与多媒体有关的中介课程有CS250W人机交互和CS255W计算机图形学等课程,高级课程有CS352图形用户接口、CS355高级计算机图形学、CS356图像处理等课程,但高级课程只给出课程名称,还没有详细描述。

CS250W人机交互课程要求全面介绍人机交互原理和技术,CS255W计算机图形学课程则要介绍计算机图形学的原理和技术,两门课程覆盖的知识单元见表3。

表3 CS250W和CS255W的知识单元

1.2CCC2002和教指委计算机科学规范的要求

CCC2002同CC2001一样,把计算机科学与技术学科的知识体系划分为知识领域、知识单元和知识点等三个相互关联的层次结构。完整的本科课程体系结构由三部分组成,即奠定基础的基础课程,涵盖知识体系大部分核心单元的主干课程,用来完备课程体系的特色课程。根据我国计算机科学与技术学科教育的现状及对典型课程设置的分析,给出了16门课程,分别为计算机导论,程序设计基础,离散结构,算法与数据结构,计算机组织与体系结构,微型机系统与接口,操作系统,数据库系统原理,编译原理,软件工程,计算机图形学,计算机网络,人工智能,数字逻辑,计算机组成基础,计算机体系结构。在教指委的《计算机科学规范》中,也选取部分知识单元组成了15门核心课程,分别是计算机导论,程序设计基础,离散结构,算法与数据结构,计算机组成基础,计算机体系结构,操作系统,数据库系统原理,编译原理,软件工程,计算机图形学,计算机网络,人工智能,数字逻辑,社会与职业道德。可见,计算机图形学都为核心课程之一。

在《计算机科学规范》中,计算机图形学和可视化计算可以划分成以下四个相互关联的领域:

(1) 计算机图形学:计算机图形学是一门以计算机产生并在其上展示的图像作为通信信息的艺术和科学。它有以下几方面的要求:①表示信息的模型的设计和构建应有助于图像的产生和观察;②方便用户使之能够通过精心设计的设备和技术与模型(或者说观察到的图像)进行交互;③能提供绘制模型的技术;④设计出有助于图像保存的技术。计算机图形学的目标是对人类的视觉中心及其他的认知中心有进一步深入的了解;

(2) 可视化技术:主要目标是确定并展示存在于科学的(如计算和医学科学)和比较抽象的数据集中的基本的相互关联结构与关系。展示的主要目标则应当是发掘在数据集中潜在的信息,从而有助于用户增强对它们的理解。虽然,当前的可视化技术主要是探索人类的视觉能力,但是其他的一些感知通道,包括触觉和听觉,也均在考虑之中,以便通过它们进一步发现信息的处理过程;

(3) 虚拟现实:虚拟现实(VR)是要让用户经历由计算机图形学以及可能的其他感知通道所产生的三维环境,提供一种能增进用户与计算机创建的“世界”交互作用的环境;

(4) 计算机视觉:计算机视觉的目标是推导出一幅或多幅二维图像所表示的三维图像世界的结构及性质。对计算机视觉的理解和实践依赖于计算学科中的核心概念,但也和其他一些学科(如物理、数学、心理学等)密切相关。

CC2004和CCC2002的规范中给出的课程建议规定了每门课程的最小核心内容,包括的这些单元是要获得学位必须具备的相应知识。核心单元不是课程的全部,核心单元是课程最小的部分,但不能构成完整的本科课程,每门课程应当包括来自知识体系中的附加选修单元。核心单元不能仅安排在本科阶段的入门性课程中。许多核心单元属于入门的导论性知识,但这不意味着它们必须安排在低年级的入门性课程中,因为有些导论性的知识,只有当学生具有必需的基础知识后才能接受。另外,引论性课程也可以包括选修单元。所以核心这一说法只是意味着必须具备的含义,而并没有限制它必须安排在那些课程里。

从以上国内外计算机专业推荐的教学计划和设置的课程可以得到,涉及到图形图像与多媒体的内容,一般宜设置计算机图形学、数字图像处理、多媒体技术等课程及相关课程,可涵盖的知识有人―机交互、图形学、图像处理、多媒体技术等基础内容,这样才可基本达到规范的要求。

2部分高校课程开设情况

从网上可查到的清华大学、上海交通大学、中国科技大学等几所高校的计算机科学与技术专业本科生培养教学计划中计算机图形学、数字图像处理、多媒体技术等课程设置情况如表4。

表4 涉及图形图像与多媒体类课程开设情况

从表4可看到,近几年在计算机专业里,国内的大学普遍增加了图形图像与多媒体类课程的课程数量和教学时间。

3 存在问题及教改研究

篇8

中图分类号:G424 文献标识码:A 文章编号:1009-3044(2013)13-3088-02

1 计算机图形学的相关理论

1.1 计算机图形学的定义

随着计算机在生活中的广泛应用,将计算机技术与传统图形学结合起来描述产品已经并非难事。而计算机图形学所研究的正是这方面的知识。因为在现代制造业中,用计算机图形来模拟描述产品变得越来越广泛,所以,现在国内外大学,都将计算机图形学作为一门必修的应用课程。目前国内被采纳的定义是:计算机图形学是研究怎样利用计算机表示、生成、处理和显示图形的原理、算法、方法和技术的一门学科。

1.2 计算机图形学的整体框架

2 计算机图形学的现状分析

2.1 计算机图形学在教学中的发展现状

经历了近半个世纪的发展,计算机图形学无论在数学基础的算法研究,还是软件应用或是硬件发展方面都取得了巨大的进步空间。现在,计算机图形学已经成为工程应用领域传递信息的主要技术和工具,而与它相关的软硬件产业也形成了一个巨大的产业,从事研究这个产业的队伍十分庞大。正是由于此份需求,我国高等院校的理工科专业现在基本都开设了计算机图形学这门课程。

从前面的计算机图形学的整体框架可以看出,此门课课程涉及的内容很广泛,包含了,数学、物理、计算机科学等课程,是一门交叉学科,而且此门课程的学习是以数学基础作为最基础的学习的,所以大多数学生在学习开始的时候都感到这门课程难于理解,枯燥。另外,目前国内的计算机图形学课程的教材基本取材于几本经典教科书,而这几本教科书主要讲述的是上世纪七八十年代的图形学技术,主要强调的亦是数学基础。正是由于这些原因,目前我国计算机图形学教学普遍存在以下问题:

第一、学生期望与教学要求之间的矛盾。在学期开学之初,学生们拿到课本的时候,往往会在计算机图形学的课本上看到的是各种当今最新的计算机图形学的研究成果和各种可以乱真的图形效果,他们认为学习完后既可以绘制出像课本彩页上一样的效果图,所以开始的时候总是对这门课程充满期望。但是由于课时的限制,各个高校对此门课程的教学要求仅仅是掌握计算机图形学的基本概念并且能够完成一些基本图形的绘制,即是计算机图形学的入门课程,要想完成向课本彩页上的那种效果图还需要学生在学习完这门课程后画上几年的时间继续学习和刻苦钻研。学生们在学习这门课程之初的期望和学校对这门课程的教学要求之间存在巨大的落差,随着学生对这门课程的学习时间增长会慢慢的体现出来,而学生们对这门课程的兴趣也会慢慢的递减,最后慢慢失望导致放弃学习。

第二、计算机图形学过分强调数学基础。通过计算机图形学的整体框架我们可以看出,计算机图形学的基础是数学,这是毋庸置疑的,任何图形要显示出来都必须先构造出数学模型,然后才能通过计算机程序实现计算机图形的显示。而目前国内的计算机图形学课程的教材基本取材于几本经典教科书,而这几本教科书主要讲述的是上世纪七八十年代的图形学技术,主要讲述的是计算机图形学的算法,因为这些算法的构思比较独特而且实现的方法又精巧,所以学生比较难于理解。这种算法的逻辑思维比较适合数学基础良好的理科学生,相对工科学生来说,他们就往往会被这些算法所困扰,对这门课程产生畏难心理。

第三、计算机图形学内容过于丰富导致课程泛泛而谈。计算机图形学是一门交叉学科,涉及到微电子学,信息学,计算机科学,图形学,几何学等学科。另外由于计算机图形学的不断发展,它的软硬件更新换代和大量涌出的新算法这些都是计算机图形学教学所要传授的内容。这样就要求计算机图形学的授课教师具有全面的知识结构,并且在传授课程的时候要分清主次,合理取舍。否则的话,各个知识点都讲到就会使得学生在学期后只能学到分散的知识点,而不能将这些分散的知识点连成知识面,不知道学了什么,这样会使他们丧失继续学习的兴趣。

第四、传统教学模式忽视应用实践。计算机图形学是一门实践性强的课程。它要求学生具有较强的动手操作能力和编程能力。如果理论与实践互动性不够,容易造成学生实践动手能力薄弱。

通过以上分析,可以看出在计算机图形学中采用传统的课堂上讲授理论,课下让学生去做实验的教学方式很难达到预期的教学效果,急切需要探讨新的教学思路和教学方法。

2.2 计算机图形学在教学中所能做的改革

根据计算机图形学教改的总体计划和总体目标,我们进行了教学研究,实施了一些教学改革,具体有如下认识和做法:

2.2.1 重视基础知识、突出重点技术

计算机是工科类学科,而计算机的应用专业又是其中应用实践性最强的专业,这使得很多职业高校在进行此专业的专业教学时有忽视理论基础,片面注重操作应用的倾向。这样就违背了我们国家要培养兼顾理论与实践操作的专门人才的培养目标,所以,各大高校必须要重视理论基础知识的教学,计算机图形学的理论基础包括:计算机图形设备的输入、图形在计算机内部的表示、图形在计算机内部的运算,变换原理算法、以及在计算机中存储的图形如何经过图形设备输出,如何将这些点、线、面、体的几何元素在计算机图形设备上表现出来。这些内容确实比较枯燥,甚至远离应用,不像FLASH、PHOTOSHOP等用户图形系统那样可以直接操作,具有所见即所得的图形效果,但是这些却是计算机图形应用系统的基础。传授这些基础知识可以为学生日后的学习与钻研打下基础,帮助他们在日后的学习中加深理解。但是由于计算机图形学的知识太过于广泛,这就要求教师在计算机图形学的教学中分清主次,以点带面,浓缩教学的内容。如:在讲二维图形的生成技术时,就可以将抛物线的二维图形生成技术作为重点,其他的稍作介绍,这样的话即可保证计算机图形学的理论基础,又可突出图形生成技术作为教学重点。

2.2.2 完善教学内容、加强实践能力

随着计算机图形学的飞速发展,这门课程已有相当成熟的数学表示、变换、运算和算法,并且最重要的是它已经被集成到许多图形系统开发平台中。我们的计算机图形学教学的理论基础还停留在最原始的概念上,如各种图形的变换,利用单一的数学方法进行矩阵运算。而这些在现有的图形系统中都可以使用相应的函数和堆栈操作完成。也就是图形学的教学内容还是在矩阵的元素级的运算,而现有图形系统在矩阵级的运算。三维几何体的变换可以借助于操作矩阵堆栈直接应用取景变换。这样理解,我们把计算机图形学教学分为三级:一级:如何用数学模型生成二维图形,二级:如何用二维图形生成三维图像、三级:图形软件的教学。可以看出,在传统的教学中我们只强调了一级教学,而对二级只是简单带过,三级更是由于时间的限制无法介绍。这种情况必须得到改善,我们必须通过这三个层次的教学,使学生认识到:这三部分教学内容的层次是越来越高的,而且每一层次对应着不同应用需求,如:第一层次主要对应简单的二维图形制作;第二层次主要对应二维或没有规则的三维几何体图形制作,且可以有真实效果显示;第三层次对应规则几何体的真实效果显示,但开发工作量远远小于第二层次,主要用于游戏软件、虚拟社区漫游、电脑广告制作等的开发应用。通过对教学内容的完善,加强实践知识传授,使学生可以将所学的知识连贯起来,知道他们所学习的究竟是什么,并掌握如何应用所学的知识。从而提高他们的学习兴趣。

2.2.3 结合实际问题、提高应用水平

从培养目标看,计算机应用专业学生不是应用软件的使用者,而是为这些使用者提供应用软件的软件研发人员。教学时可用一些经典案例,让学生以角色带入,通过这样的教改实践,教学内容覆盖了一、二、三级图形软件,这样不仅可以拓宽学生的知识面,也可以让他们在学校就感受到社会工作时团队的力量。从而提高他们的实践应用水平。

3 结束语

由于计算机图形学的应用广泛,不同学科的特点各不相同,以及学生不同的专业背景,在教学上应因材施教寻求各自合适的模式。但归根结底应把培养学生的综合应用能力及创新能力作为最终目标,为以后学习相关课程和从事相关研究与开发工作奠定坚实的基础。

参考文献:

[1] 唐荣锡,汪嘉业.计算机图形学教程(修订版) [M].北京:科学出版社,2000.

[2] Angel Edward1Interactive ComputerGraphics: A Top-Down Approach with OpenGL [M].2nd ed1USA, Ad-disonWesley: [s1n1], 2000.

[3] 孙家广.计算机图形学[M].3版.北京:清华大学出版社,2006.

[4] James D Foley.计算机图形学原理及实践: C语言描述[M].北京:机械工业出版社,2002.

篇9

一、计算机图形学学习中的问题及其原因分析

(一)学习难度较大。由于计算机图形学涉及的知识面非常广,其中不仅有计算机知识,还有数学等其他学科的知识,因此,它的知识基础要求较高,同学们学习起来难度较大也是情理之中的事情。事实上,计算机图形学是一门新兴学科,它是建立在图论、现代数学和计算机科学基础之上的,学科交叉繁杂,其理论性很强,同时实践性又不弱,这就让大家体会到了该门课程的综合性特征和难易掌握的感觉,从而让他们在巨大的学习难度面前望而却步;

(二)学习理念较为滞后。当前的计算机图形学学习观念仍然沿用的是传统的学习观念,重视单方面的知识,片面强调对于相关知识点的掌握程度。这样的观念会使大家把计算机图形学课堂变成满堂灌,大家都是一种被动的学习状态,互动性不高,学习积极性和主动性大打折扣了。此外,传统的观念中不太重视实验环节,更不会重视实践能力的培养,大大阻碍了大家的创新精神培养与创新能力的提高;

(三)实验环节不够科学与系统。当前,计算机图形学学习过程中的实验环节,很多高校一直采用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.

篇10

一、认真组织课堂教学内容该课程的基本目标是是学生全面而系统地理解计算机图形学的相关概念、原理和知识,具有一定实践体会和相关的编程能力,了解当前的研究热点。计算机图形学这门功课,没有学习积极性和主动性,是很难学好的。难学是学习积极性的主要障碍。因此在教学内容上,应注意以下几点:充分注意学生的接受程度,教学内容要“精”。首先是注重基础,强调基本概念、基本原理,以如何“逼真”地模拟现实世界的物体为主线。其次也要突出重点,对一些要求掌握的算法,要仔细分析,强调其基本思想、基本原理。只要算法的基本思想掌握了,算法的实现就容易理解,对相关算法就可举一反

三、触类旁通。在教学内容上,也应注意“新”。教学内容的选取应跟上学科发展的步伐,介绍一些当前的研究热点(如:真实感图形显示、计算机动画、人机交互技术与虚拟现实技术等)及重要文献,使学生了解学科发展情况,也同时增加课堂教学的趣味性。在教学内容上,还应注意理论与实用软件之间的关系。应介绍计算机图形学的理论、算法在流行的图形设计和动画制作软件中的应用,促进理论学习和实用软件使用形成互动。

二、注重教学方法和手段在教学方法上,注意启发性。如:在讲画线算法前,应思考:为什么在屏幕上画出直线段时,经常出现锯齿?如何解决?等等。这些思考的问题可以引导学生预习和自学,减轻课堂负担,使课堂教学的目标清晰,任务简化。在重要算法的讲授中,首先在清晰的介绍其基本思想和原理,应作到深入浅出,简明扼要,充分利用图形图示的作用,这样使复杂的算法变得易于理解,易于学生的接受。在介绍算法的奇思妙想之后,应注意分析其效率和特点,强调追求高效率、精益求精是算法不断改进的重要原因。在算法讲解中,应避免繁琐复杂的算法推导和连篇累牍的算法分析,这样会使很多学生感到困惑、烦躁,会使学习的积极性下降。

三、恰当设计课前、课后习题习题应与课堂教学、上机实验等环节的工作结合起来。习题可分为课后习题和课前思考题。课前思考题具有一定的引导作用,帮助学生预习和自学,减轻课堂负担,使课堂教学的目标清晰,任务简化。课后习题是对课堂教学内容的消化、吸收、补充、完善和提高。习题一定要精心设计和选择,特别避免作业形式单一、难度较大,否则就会使学生产生畏难情绪。注意循序渐进、难易适度。注重基础,注意多层次、多形式(如判断题、选择题、填空题、简答题、算法设计题和综合应用题等),使学生得到全面的训练。习题应注意启迪学生的思维,培养独立思考的能力,也可大大提高学习兴趣。根据课程教学需要,在参阅一些著名计算机图形学教材的基础上,笔者经过收集整理,编写了教学辅助材料《计算机图形学习题集》。

四、充分重视实验教学计算机图形学课程具有很强的实践性,上机实验是其重要环节。基本目标是将学生的计算机操作能力、分析能力、设计能力与应用实践结合起来,引导学生由浅入深地掌握计算机图形学基本理论和算法。好的实验内容充满了趣味性,又有挑战性,在上机实验中可以提高学生的学习兴趣,必然影响其它教学环节。

五、课程设计必不可少课程设计是计算机图形学实践教学的另一个重要环节,是对学生计算机图形学课程以及相关知识的综合测试,是对学生图形设计的问题分析、算法设计与分析、程序设计和调试等能力的考核,是进一步提高教学质量的有效途径。课程设计在课程教学的中后期完成。课程设计的题目、要求在该课程的中期给出,题目也可自拟。课程设计任务不宜过难,最好在实验课的基础上进行,可以是实验的综合、改进、完善等。要求在规定的期限内完成所有的文档资料(包括源程序清单、可执行程序等),并评定课程设计成绩,作为课程总成绩的重要组成部分。

六、严格教学的过程化管理与考核重视教学的过程化管理与考核是保证教学质量的重要手段。对课堂、作业、实验等环节进行有效的管理,及时发现和纠正每一环节中存在的问题。应在过程中解决教学中的问题,不能让其积累起来,避免学生感到课程的难学,以致学习积极性的下降。过程化考核体现在评定学生的课程成绩时,全面考核各重要教学环节(如上课、作业、实验、课程设计、期末考试等)的学习情况,应充分重视平时的学习情况,鼓励在平时作业、实验、课程设计中独立思考,并有所创新。每次作业、实验都要给出等级,各环节的学习情况都有逐一评定成绩,并按比例记入到课程的总成绩中。总之,计算机图形学是一门不断发展的交叉学科,其教学方法需要在实践中不断探索。我们教学工作者在研究高效率的教学手段和教学方法的同时,还应积极参与教学内容相关的科研工作,从而更加明确教学重点和难点,做到在教学过程中有的放矢,激发学生学习和思考的积极性和主动性。

参考文献:

[1]何援军.计算机图形学

[M].北京:机械工业出版社,2009.2.

[2]吴元斌.“计算机图形学”教学的几点体会

篇11

中图分类号:G642 文献标识码:B

1引言

2008年11月1日,在计算机科学与技术专业教学指导分委员会第三次全体会议上,教育部高等教育司理工处李茂国处长指出:“我国的工业发展正处于转折期,这一转折的重要特点是信息技术对传统工业的改造,这就提出了信息化技术如何更好地渗透到其他学科的问题……高等理工科教育要为工业化的发展和产业改造提供支撑,要为这一转折培养大批合格的人才。特别是计算机科学与技术专业,要认真研究这一转折,不仅要研究如何紧跟学科和专业发展,不断更新教学内容,更要深入研究如何根据工业信息化的需求,加快计算机科学与技术专业的改造,尽快实现专业结构的调整,真正解决结构失衡的问题”。由此,对计算机教育提出了新要求。

2目前国内计算机教育中存在的几个问题

2.1计算机教学模式单一

我国计算机专业的教学模式主要传承美国大学的教学模式,这是因为美国是当今世界上计算机工业与计算机教育最先进、最发达的国家。美国的计算机教育是基于它在计算机的基础、核心地位,并向全世界推销硬件、软件产品这一思路而构造的计算机教育模式,同时用法律方式来保护自己的知识产权,这是美国计算机教育的第一个特点;第二个特点是全美计算机教育体系的完整性,这种教

育对计算机的理论与应用的各个方面都涉及,例如同样一门计算机的主课在各个学校的授课都有不同的特点与主攻方向、并有非常多的辅助课与提高课程、参考文献等供读者选修,直至指导你走向学科的最前沿与其商业开发等。虽然他们各校的计算机的授课不一定很全面、很权威,但全美各个学校的所有计算机课程的集合能构成计算机教育的完整体系,这是他们计算机教育多年来自然形成的相互创新竞争机制、并最后形成均衡发展势态铸就的成果,是我们在进行计算机教育改革时不能忽视、目前暂时没法做到的两点。

由于上述按照美国人计算机专业教学模式培养人才的教学体系在国内占主导地位,这导致国内计算机教育模式单一,绝大部分高等院校培养的计算机专业的学生具有相同的知识结构。而中国社会对计算机的需求不同于美国社会,中国目前还不可能有像美国那样的计算机硬件工业与核心软件商业公司,也不可能像美国那样向全球推销自己的产品等,但国内绝大部分的计算机需求是计算机应用软件的开发、并且各行各业的计算机应用有很大差异,而上述单一的计算机教育模式无形之中把这种多样差异的社会需求排斥在计算机的核心教育之外。

教育部计算机教指委等部门针对这一问题,提出计算机专业按照社会的需求进行“分层分类”教育模式,并出台了多种计算机教学方案供人们选择。而要全面解决这一问题,教育思想的转变是计算机教育深化改革的前提与关键。

2.2课程教学内容不足

常见很多C语言等教科书被冠名为计算机程序设计课程,这类课程明明是介绍算法语言的语句功能、语法与语句的基本操作使用(描述算法的具体实现过程),初学者有了这种知识后,虽能设计一些简单的程序,但由于此时初学者没有数据结构等知识,故他们还不能设计功能齐全的计算机应用程序。西方学者的算法语言教科书一方面是向读者介绍语句的功能与使用,另一方面为算法语言的编译系统课程做铺垫。很多国内教科书试图从算法语言的角度向初学者阐述这门课程似乎就是程序设计的原理或把这种课程冠名为计算机程序设计,已被证明是不全面的。

计算机加工计算各种数据,但计算机中被处理的数据如何在计算机内存中存储、管理并被计算机快速检索得到是“数据结构”课程要解决的主要问题,这个问题解决得好,能大幅度提高计算机解决计算问题的效率。一般计算机专业都是在算法语言与“数据结构”课程之后,通过具体大型编程作业或实际应用课题的训练使初学者掌握程序设计的基本方法。若此时把缺失的软件系统与数学模型等内容都加入到“数据结构”课程的教学中,试图使初学者从理论上直接掌握应用程序设计的基本方法,则会遇到如下困难:(1)无足够的课时;(2)会改变“数据结构”课程的授课性质;(3)是早期不具有多个大规模实用复杂数学模型的通用教学案例。这导致国内计算机程序设计教学停留在经验教学模式上长期徘徊不前。

“软件工程”课程是计算机专业培养初学者从整个软件的生命周期出发、全面介绍软件开发过程中要遵循的规则与采用的基本方法,培养大型软件项目开发过程中的团队协同能力与组织、管理方法等。但在软件工程的课堂教学中,由于前期已讲授过的计算机课程教学内容缺少好的通用教学案例作为软件工程的实习对象,故人们多注重软件工程内容的理论介绍,轻视软件工程中的案例教学,轻视实际软件开发训练与经验的积累,结果往往导致该课程的教学内容空洞,教学效果欠佳!

计算机专业教育注重学科的发展与专业教学,计算机基础教育注重计算机应用的教学,两者应形成互补之势。计算机应用软件的4个基本领域分别是数据计算、数据存储与检索、数据的联网通信、计算机控制。但是国内计算机基础教学只注重数据库与计算机网络的教学,沿用计算机专业用算法语言与数据结构课程的教学模式,并以此来代替数据计算与程序设计课程的教学,而非计算机专业的初学者又没有计算机专业那样充足的课程设计时间、并通过实际应用软件编程训练来掌握程序设计的基本方法,这导致非计算机专业的人员程序设计能力的弱化。

3解决问题的方法

新时期国家工业信息化建设对计算机教育提出的新要求,本质上是加强计算机的应用教学,使各行各业的人员通过选修计算机专业的核心课程,能很快地掌握计算机的编程原理,尤其是把数学建模的结果(它们描述了用户解决实际应用问题的数学框架)转换成计算机程序,而不是按照传统的计算机专业培训方案,通过大量的课时与实习等编程训练掌握程序设计的基本原理与方法。这样将使非计算机专业的人员能有充裕的时间把各自研究领域内的理论研究问题、解决这些问题的理论模型与成果等转换成计算机能接受的数据模型与算法,并能用计算机仿真的方法继续深入研究各种理论问题与实际应用领域的系统设计等工作,使计算机的应用在各个行业走向深入,而不是仅仅停留在用计算机进行各种行业的累积数据存储、管理、查询与联网通信等工作层面上,计算机图形学课程可以较好的承担这个重任,理由如下。

3.1计算机图形学是用计算机仿真的方法在计算机中实现三维图形的显示

计算机图形学教育的核心内容是:①通过建立描述自然景观(虚幻世界)的几何数据模型(包括其运动、变形与碰撞检测)、确定几何模型表面上每点的颜色与亮度的诸多物理数学模型(灯光模型、颜色模型、照明模型、物体表面的材质模型与纹理模型等)、显示图形的照相机模型与图像的融和算法等,或仿真光线在物体之间的相互传播以确定物体表面上每点的颜色与亮度进而在照相机中产生的显示效果(即光线跟踪算法、辐射度算法)或把光线传递的效果(即照片)映射至物体表面上所产生的显示效果(即纹理映射算法),以达到用编程的方法把这些模型的描述数据通过仿真算法转换成在计算机显示器中显示自然景观图像的目的。②在计算机图形学中,光线传播所涉及的所有物理现象均能成为计算机图形学的研究对象,它们构成了光线传播仿真实验所需要的仿真系统。③人们通过比较计算机生成的三维图形的显示效果与实际照片的差异,可不断提出用新的数学模型与仿真算法等对其已有的计算模型进行渐进改进,使计算机图形学的数学仿真过程不断的逼近现实物体模型(包括刚体、软体、流体、气体)的构造、运动和变形与反光效果的显示这一真实的物理变化过程。④即人们很好的用计算机仿真的4个典型过程――系统、建模、仿真算法、评估说明了各种图形在计算机中的生成过程。这里所谓仿真算法即把数学计算模型中模型描述数据的计算处理步骤与方法等用算法语句逐个描述,并用基本的数据结构方法动态地描述、保存待处理模型数据的代码集合,此仿真算法即读者学习计算机图形学课程后的主

要实习任务与练习。计算机图形学的上述全新定义与主要过程,很好地说明了该学科本质属计算机仿真的一种基本形式。

计算机图形学的教学内容很好的展示了科学计算的基本内涵。这是因为科学计算就是用计算机处理科学研究和工程技术中所遇到的数学计算问题,而计算机仿真是科学研究中常用的一种基本方法,计算机图形学属于计算机仿真的一种基本形式并在工程实践中有大量的应用,计算机图形学所涉及的各种建模都是各类数学工具与方法的具体应用,对计算机图形进行基本的运算处理即对数学模型进行各种处理,这种处理属典型的数学计算问题,由此首次证明了计算机图形学为科学计算的一种典型的具体应用形式与载体。当然,更全面的科学计算工具,可以通过学习Matlab软件来获得。

3.2计算机图形学课程讲授的程序设计基本方法对应用软件的开发具有重要的指导意义

所谓计算机程序设计即约定对多种类型的数据进行的各种处理方法,并用算法语言的语句正确地描述这种处理过程所形成的代码集合,这通常被简称为“程序设计=数据结构+算法”。这里有几个问题是该定义所应包含的内容:①该程序设计定义所涉及的数据与处理方法是数学模型的映射,它不是从天上掉下来的。归根到底,数学模型是应用程序设计的基础;②程序编码之前,要理清这多个数学模型之间的相互关系、特别是它们是否能有效的解决用户待解决的问题;③编程的代码是固定的,应提交给计算机并被计算机执行;而用户待处理的问题通常用模型数据来描述,显然程序自动运行所涉及的数据处理流程也是程序设计必需全面考虑的基本问题,这个数据处理流程一般不被上述各数学模型所包含。即要用编程的方法处理用户提交待解问题的模型描述数据、在计算机内存中保存并动态管理这些模型的描述数据、编程处理这些模型描述数据并保存运算处理之后的结果数据、最后输出显示整个问题的处理结果,这4个基本过程是一个完整自动运行的商业软件所具有的最基本的结构,它正确地反映了程序设计所涉及的软件系统与软件结构的基本概念。该内容的介绍是目前多数算法语言与数据结构课程所欠缺的,缺少大型应用软件编程训练的初学者一般缺少这种软件系统与软件结构的基本概念,这是导致初学者程序设计概念不全的原因之一。

计算机图形学的教学是这样解决应用程序设计的基本方法并使读者获得计算机自动生成图形的完整概念:①在计算机图形学中,由于二维图形的简单性,它非常适用于向初学者介绍软件系统的概念。二维图形主要是点、直线、曲线、实面积多边形与颜色等概念,它主要以数学上的几何模型表现形式出现在计算机显示屏中,文献[2]主要用线段图型的生成、实面积图形的生成、图形的基本运算(包括几何变换与集合运算)、图形的观察运算(相当于三维图形的照相机模型的功能)、图形的数据输入(包括编程输入数据、交互输入数据、文件输入数据)、图形的数据结构与数据处理流程等6章完整的讲解二维图形软件系统的概念,该内容很好的说明了“软件系统是一个能自动运行的综合执行程序,它能从输入、存储、运算处理、输出等方面全面处理用户在某个领域中解决特定问题而提出的诸多数学模型并完成其模型描述数据的加工任务,使用户很容易明确这种软件的组成、功能、使用范围与系统流程”。②三维图形学主要是用计算机仿真的方法实现三维图形的显示,而计算机仿真的关键在仿真模型的创建上,并理清各模型之间的相互关系。显然,三维图形中的几何模型(即点、线、面、体、场)的运动、变形与碰撞检测等能很好的表示现实世界中各种物体(物质)运动等物理概念,灯光模型、颜色模型、照明模型、物体表面的材质模型、纹理模型等能很好的描述物体表面各点的反光颜色与亮度等物理过程,或用光线跟踪算法、辐射度算法来仿真光线的传播过程以确定物体表面上每点的颜色与亮度,照相机模型能把场景中的物体三维几何模型描述数据投影变换成二维几何模型数据、裁剪超出显示范围的几何模型数据,并调用二维图形的生成算法等生成对应的图像显示效果、或把纹理照片映射致物体表面上所形成的显示效果;当物体的几何模型、灯光模型、照相机模型运动之后,并在照相机模型中连续显示对应场景中的图像,就是人们所期待的计算机动画效果。③编程实现时,利用二维图形所建立的软件系统的概念,把三维图形模型的数学描述方法转换成程序代码,并把模型的描述数据输入、存储到计算机约定的动态数据结构等图形文件中,再编程实现向动画师提供操作这些模型的运动、变形等控制方法与手段(即计算机动画中的数据运算处理方法),动画师等用户就能从最后的照相机模型中得到所期待的计算机动画结果,此即国内计算机图形学的基本教学内容。若用户实时操作这些模型运动并具有故事情节,还要求实时生成对应的计算机动画,同时配上声音、操纵杆(体验力反馈)等多媒体效果,加上联网功能,就形成了计算机3D游戏。3D游戏是对人类社会活动实现的一种仿真,该技术的重点在于对场景模型、多媒体数据与联网功能的实时动态管理与驱动(又称3D引擎技术)。

由此可见,计算机图形学的全部教学内容,很好地向读者贯彻了计算理论中已有的“可计算性的实现前提”的三个条件:①待解问题被系统与模型形式化方法所描述;②这些描述被转化成一个可执行的综合算法;③算法要有合理的复杂度。即通过计算机图形学的授课,能使初学者掌握数据计算类型的应用程序设计基本方法与计算机仿真过程的基本规律,这种教学内容对应用程序的设计具有普遍适用性与重要的指导作用。这一教育思想文献[2]中已经得到充分有效地展现。

3.3把计算机图形学作为计算机教育的公共核心课程,能弥补现行计算机教育中存在的多项不足

国内计算机图形学教育经过20多年的发展,其教学内容主要以“光线在自然界与照相机中的传播从而产生图形的显示效果”为主题进行计算机仿真与程序设计等相关教育,而目前美国人计算机图形学的授课内容主要还停留在图形标准的介绍上,他们没有把计算机图形学作为计算机学科的核心课程,这是因为他们把整个计算机图形学的相关学科内容划分过细,导致他们对计算机图形学在计算机科学中的作用与地位认识不到位所致。例如仅停留在算法的层面上介绍二维、三维图形的生成,而不是在数学建模这个各学科通识的层面上介绍计算机图形学所研究的各种问题与解决这些问题的方法,且人为地把计算机图形学的研究对象如物体几何模型的构建与其图形显示分解成计算机辅助几何设计与计算机图形学这两门课程,这直接导致图形学课程教学内容缺少被处理的图形显示对象,加之计算机基础课程与图形学的教育又没有软件系统的概念,这样安排虽然能满足图形标准等商业软件的发展需求,但却很难让初学者全面掌握计算机图形学学科系统性的概念、思想和方法与学科发展的基本规律。需要说明:①美国人这种图形学授课内容的不足在于它易给人这种印象:好像计算机绘图、信息数据的可视化就是计算机图形学的全部内容。事实上,显示各种图形是计算机图形学的最终目的,这种图形显示是程序数据输出的外在表现;而实现这种目的的基本原理、方法与编程过程等才是计算机图形学的内在本质,该内在本质是计算机仿真技术与应用程序设计的基本方法;图形标准是解决计算机图形学全部研究问题的一个子集,故图形标准很难承担向初学者介绍清楚计算机图形学发展基本规律的重任;②一门讲授图形标准原理课程的教学内容不能反映出美国人在计算机图形学上所取得的全部成果与教学水平,但这门课程讲授的计算机自动生成显示图形的概念不完整,却足以让初学者对该课程的学习丧失信心。实际上,读者只有用几何模型等数据调用图形标准并编程上机实习,才能获得计算机生成图形的概念。③由于美国人在计算机图形学上取得的绝对领先地位,他们的这种教育思想长期以来主导国际学术界(因为这促使计算机图形学朝通用实时图形显示这一专项计算工具方向快速发展并创造了巨大的商机),并深深地影响了国内外许多高校的计算机图形学教育工作者。照此传授该课程之后,人们觉得计算机图形学授课内容没有达到让计算机自动生成图形这一目的、这门课就讲授完毕,这似乎很难理解、并得出计算机图形学课程难教难学、不成熟的结论,甚至做出在计算机基础教学中取消对初学者传授计算机图形学基本知识的决定,这实为没有全部掌握计算机图形学学科体系的精髓。这是目前中外计算机图形学教育的主要差别。

计算机图形学是计算机学科应用的一个重要发展方向,学习计算机图形学课程之后,有利于读者向科学计算、计算机仿真、计算机辅助设计、信息数据的可视化、动画与游戏、虚拟现实、数字娱乐、数字设计与数字制造等计算机应用行业方向发展。事实上,根据本文对计算机图形学的新定义,计算机图形学就是这些计算机典型应用的专业基础课程,这些行业都是我国工业信息化产业的典型代表,遗憾的是这些计算机应用行业目前多都没有被包含在传统的计算机专业教育目录中。

显然,国内算法语言、数据结构、软件工程等课程的教学内容与方法非常成熟,计算机图形学课程的教学很好地将这些课程衔接起来,由此构成应用程序设计教育的完整教学体系。

4结束语

综上所述,是国内计算机教育体系的不健全导致国内计算机专业教学与应用发展的不平衡,这既与我们的计算机发展水平有关、也与我们计算机教育的指导思想对其应用不够重视有关。经多年的努力,我们在国内外率先健全并理顺了计算机图形学课程知识体系与教学内容,有效地克服了国外以图形标准作为计算机图形学授课的主要内容、由此带来人们对计算机图形学体系结构如研究对象、研究方法、编程实现、工业应用等问题认识不足而产生的局限性;而向学习计算机知识的读者普及计算机图形学的课程教学,可以为解决以往计算机基础教育不直接解决用户面临的实际应用问题这种尴尬、弥补现有计算机仿真与计算机程序设计等教育环节的缺失、使计算机应用程序设计从经验教学培养模式走向科学理念式教学培养模式、以及为国家工业信息现代化建设等数据计算类型应用问题的解决起一个较好的示范作用。