科学地构建“计算机图形学”的教学内容,促进计算学科的全面发展

时间:2022-02-03 02:13:03

科学地构建“计算机图形学”的教学内容,促进计算学科的全面发展

文章编号:1672-5913(2008)20-0107-06

摘 要:本文通过全面论述计算机图形学的知识结构体系与它在计算机科学教育中的作用与地位,提出把计算机图形学列入计算机专业的核心课程,以弥补“高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)”与“高等学校计算机科学与技术专业公共核心知识体系与课程”中对计算理论“能行性”教育的缺失与应用软件编程系统训练的不足。

关键词:计算机图形学;计算机教育;核心课程;软件系统;应用开发

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

1 引言

2006年,国家教育部高等学校计算机科学与技术教学指导委员会编制出版了“高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)“(以下简称”新专业规范“)[1],该“新专业规范”指出:由于计算机专业是全国在校人数最多、高校开设专业最多的专业,这导致计算机类专业毕业生目前出现就业困难,其主要原因还是计算机人才的培养满足社会需要的针对性不够明确,导致了人才结构上的不合理。解决方法是分类培养、使计算机专业的学生能有相对优势的知识结构,高校教育应该为计算机专业现在的毕业生增加专业特色、增强就业竞争优势,等等。并由此提出了“高等学校计算机科学与技术专业公共核心知识体系与课程”(以下简称“核心课程”)[2]。无疑,这对全面规范并提高国内计算机教育的整体水平具有非常大的指导作用。通过认真学习研究这些内容之后发现,究竟应选择哪些课程作为计算机的公共核心课程供全国各行业人员作为学习计算机的基础知识,以及一些课程的教学内容应该如何安排,才能做到既拓展计算机专业学生的知识领域、又能增加学生毕业后的就业渠道等,这些都是大家不断思考的问题。而计算机“核心课程”的选择似乎对上述已有问题的解决帮助不够,而增加计算机图形学的教育对解决这些问题是一个值得借鉴的好方法,理由如下(不妥之处,请批评指正)。

2 计算机图形学课程列入核心课程,弥补本科教学计算能行性教育的缺失

作为具有全国指导意义的“新专业规范”,应该为计算机教育在多个行业方向的发展奠定基础,而抽出它们所共有的基础课作为计算机本科教育的核心课程,但现有的“新专业规范”的公共“核心课程”[2]只有

程序设计

离散数学

数据结构

计算机组成

计算机网络

操作系统

数据库系统

等7门课程内容,而把“计算机图形学”课程排斥在核心课程之外,这显然不利于计算机应用的全面发展,不利于计算机动画、游戏、图形标准、计算机仿真、计算机辅助设计与制造等计算机应用软件行业的全面发展,会缩小计算机本科生毕业之后的就业面,也与制定“新专业规范”的初衷相悖。

什么能被自动计算一直是计算机界探讨的主题之一[8],那些确切能用计算方法解决的问题如何设计才能被计算机自动计算简称计算的能行性(可计算性的实现前提),而程序设计与数据结构这两门课程是计算机编程的基础,它们作为计算机的公共核心课程是必须的。但这两门课程(该“程序设计”课程实为计算机程序设计语言+语句的简单应用,“数据结构”讲授程序加工的数据如何配合算法进行有效管理安排、以实现算法的功能)并没有从理论上解决计算机程序根据什么原则才能进行有效设计、以及程序如何构成系统后才能最后自动解决用户提交的计算问题,这是国内“程序设计”课程多年来悬而未决的老大难题。其原因在于:讲授程序设计语言时,学生还没有数据结构方面的知识,而数据结构本身既不讲模型方法、又不讲解软件系统等概念,同时这两门课程也缺少具有复杂计算模型的大规模实用软件编程的整体训练内容与方法,若把这些缺失的内容都加入到教学中,则一无足够的课时、二是改变了授课的性质。所以,从算法语言的角度介绍程序的设计方法是不完备的。

对于这个问题,计算理论早已从计算的机理与实现上予以解决。但计算理论的内容一般只在研究生阶段讲授,且计算理论是研究生的一个专业方向、即使该理论在研究生阶段讲授、学生理解也有一定难度,而把这套理论方法直接用于实践以解决实际应用问题难度更大[9]。即现有成熟的程序设计理论与方法没有通过适当的载体引进本科课堂教学中是现行教育政策最大的不足,而计算机图形学是直接从应用软件开发的角度阐述计算的“能行性”问题(见下述),当其列入计算机的核心课程后,既能弥补上述计算理论教育中缺失的一环,也能有效弥补上述7门核心课程中计算机应用软件编程系统训练不足的尴尬。事实上,GPU(图形处理芯片)与CPU在PC机上的发展并驾齐驱,证明计算机图形学是计算机科学中不可缺少的重要研究领域,可这些没有在“核心课程”[2]中得到有效的体现令人不解。

3 计算机图形学的知识结构体系

3.1 计算机图形学的研究对象、研究方法与基本教学内容

计算机图形学的最终目的就是用计算机程序的方法在计算机显示器屏幕上生成图像效果,特别是生成类似照相机拍摄的三维图像。而照相机拍摄三维图像是一个具体的物理过程,它的基本原理是光线在空间物体之间相互传播,当光线被物体表面反射并被照相机接收后形成的显示效果。由于人们能从二维照片上光点的亮度与大小判断出物体表面该点距照相机的相对远近,故人们常称这种图像为三维图像。用计算机程序的方法生成具有高度真实感的图形就是对上述物理过程的一种近似仿真模拟得到的效果。为了达到这一目的,人们根据仿真方法的要求,建立了仿真过程需要的各种模型(包括照相机模型,灯光模型,颜色模型,照明模型,物体的几何模型,物体表面的材质与纹理模型),通过①模型数据的输入(交互输入、编程输入、文件输入等)、②数据的存储与管理(系统参数文件、图形模型数据文件、规格化图形数据文件、物理显示设备的图形显示文件)、③数据的运算处理(物体的几何变换、全剖切运算、集合运算、三维重建算法、物体的各种变形运算等)、④数据的输出(各种线段图形的生成与实面积多边形的填充算法、着色算法、消隐算法、纹理映射算法、阴影算法,光线跟踪算法与辐射度算法)等4个处理过程,用系统编程设计的方法实现其图形显示[7]。

这里照相机模型描述了三维空间中的点、线、面等图形投影转换成二维空间中点、线、面等图形,并调用二维图形的生成算法生成二维图像,同时裁剪超出显示范围的三维图形、便于图形的正确显示。灯光模型与颜色模型描述了光线产生的根源、点光源的空间几何分布、光线在空间中的传播方向与衰减规律,光线的色彩属性、亮度计算方法与合成色的变化规律等内容。照明模型描述了物体表面反光或透光能力的计算方法。物体的几何模型描述了一个物体的点线面等几何尺寸与大小。材质特性描述了各物体表面对各种性质光线的反光与透光能力的大小。纹理模型直接描述了物体表面各点的显示细节与像素值。着色算法确定了用何种插值算法填充多边形网格表面、使其显示效果是多边形网格效果或是一张光滑的曲面效果。消隐算法确定显示物体表面的各个可见表面与边线,不显示其被遮挡的不可见的表面与边线。纹理映射算法就是把一张照片映射至物体的表面上(又称贴图),而这个照片既可以是实际照相机拍摄的三维照片,也可以是用数学模型描述并动态产生的结果。在场景中,由于某些遮挡物的存在,光线不能直接照射到某些物体的表面,使得这些表面反光(透光)的亮度暗于被光线直接照射物体表面的亮度;观察的角度不同,所见这种阴影效果的形状与大小不一样;阴影算法即在场景图中统一绘制这种阴影显示效果与非阴影显示效果。光线跟踪算法、辐射度算法就是仿真光线的传播过程以达到最后生成所需的图像效果。

事实上,在计算机图形学的应用领域中仅研究这些模型还不够,还要用程序设计语言与数据结构的知识把它们都转换成一个个可执行的算法,并用系统编程的方法把这些算法构成一个软件系统整体,才能方便各种图形的生成。而在这个软件系统中生成图形的第一步是构造多种物体的几何模型与形状(物体的几何变换、全剖切运算、集合运算是用简单物体构造复杂物体的有效工具之一,三维重建算法是用点、线、面等元素恢复物体外壳的几何形状),在统一的世界坐标系中确定它们的位置与朝向,再逐一确定物体表面的材质特性与纹理效果等,使这种多物体造型(称场景造型)满足实际应用的需要。第二步是设置灯光与灯光的特性,设置照相机模型等。第三步是在上述二步的基础上,统一用光线跟踪算法或辐射度算法生成上述场景造型所对应的三维图像效果(又称渲染)。

应注意:

① 试图精确的构造现实世界中所有物体、特别是具有复杂结构或微小结构或细微动态变化物体的几何模型既不现实、其代价也太大,人们总是想用其它的方法来代替,这就是所谓分形描述、粒子描述建模等多种其它建模方法的来源;

② 完全按照物理学上光线的传播方法来生成图像太费时间,光线跟踪算法、辐射度算法事实上是对物理光线传播方法的一种近似。这个近似程度一般由图像显示的真实感与计算的复杂度来确定。

③ 在上述场景造型的构造过程中,若物体运动或变形,灯光改变照射的范围、朝向、亮度、色彩,照相机改变拍摄的方向或跟踪拍摄,此时若连续拍摄(即渲染)三维空间场景效果,就形成了多帧图像,连续播放这些多帧图像就是计算机动画。

④ 所谓图形标准就是把上述的照相机模型、点光源的灯光模型、颜色模型、简单的照明模型、着色算法,以及点线面、多边形网格模型等模型与算法用硬件实现,并由图形标准提供软件接口方法调用这些硬件功能;当用户向该图形标准提供上述模型的描述数据与材质、纹理描述数据之后,计算机就能用硬件加速的方法实现在显示器中高速生成点线面、多边形网格,以及光照效果的表面、纹理效果等图形。目前的图形标准本身并不负责物体几何模型的构造,也不负责管理各种模型数据等。现图形标准主要以纹理映射算法为主,暂时还没有用光线跟踪或辐射度算法以实现三维图形的实时显示。可见图形标准仅是计算机图形学部分研究成果的具体实现。

⑤ 若能在上述场景造型中,让各种物体实时运动(照相机与灯光是具有其它功能的物体,它们也有几何形状,也能与人、动物等角色(多关节物体)一样进行各种运动),并能接收用户的交互操作、且这种运动过程具有故事情节性,同时这种多物体运动的效果能在计算机显示器屏幕中实时生成显示,这种计算机动画就是3D游戏(人类社会活动的仿真)。3D游戏另一个难点在于复杂游戏引擎的构造――即如何构造并管理游戏场景的模型数据(包括声音与人工交互操作等),使整个游戏画面达到实时显示的目的。事实上,3D游戏可以看成是计算机多媒体技术与虚拟现实技术在商业上的降级简单应用。

⑥ 物体的几何造型、变形与运动是计算机动画的一个难点,比体这个概念更复杂的是流体与场的模型构造、显示,它们能描述更广泛一类的物理现象,如台风的变化过程、风洞的实验效果、物体表面的应力变化现象、环境中热传递效果的变化、地质勘探结果的可视化显示等,一般人们把这些问题归纳在“科学计算的可视化”课程中讲授,因为这些流体与场的模型构造等需要比较深的数学知识。但是,一旦这些流体与场的几何数据模型确定之后,人们就能用图形标准显示它们。

⑦ 计算机辅助设计CAD与计算机动画的区别:在CAD中,也需要构造物体的几何模型并显示这些物体的构造效果,更重要的是还需要用数控机床把这些设计出的物体零件加工制造出来,故它对物体的几何模型要求特别高、特别是其误差控制,因为多个零部件组成的精密加工机床等最后影响加工的精度都与各个物体模型的误差精度相互关联。显然,在CAD领域中,也有零部件之间的联动等多种运动需要精密控制(机械运动与仿真)。与物体几何模型要求相比,CAD领域中物体的显示要求可以放低些。而在计算机动画中,相对而言,对物体几何模型的要求低,例如物体的外表面可以不封闭,只要这个不封闭的外壳表面破绽不被照相机拍摄到就可以了;但计算机动画对最后渲染的图像显示质量的真实感效果要求很高。

⑧ 二维图形与三维图形的区别:这两者的区别除了其数学模型一个是二维的、一个是三维的之外,更大的区别还在于二维图形学只能从数学上研究图形的基本规律(点、直线、曲线、平面与形状,位置,运动与变形,色彩等)、以及图形的模型构造与显示方法;利用二维图形的简单性,可剖析计算机二维图形系统的组成,即软件系统是一个能自动运行的程序,它能从输入、存储、运算处理、

输出等方面全面处理用户在某个领域中提出的诸多数学模型并完成其模型描述数据的加工任务,使用户很容易明确这种软件的组成、功能与使用范围。三维图形学却可以用数学模型的方法研究自然界中的多种物理现象,由此探讨大自然中多种物理现象的变化规律,并能用图形显示的方法来表现这种变化过程,这种方法正是人们探索自然并进行科学研究所倡导的基本方法之一。因此,从三维图形学的基本教学研究内容可知,用图形方式(可见的点线面、色彩、纹理)显示各种物理现象的变化过程只是一个表面现象,关键的是要掌握这种变化过程的物理机理并能用数学模型的方法全面正确的描述这种变化(即用图形的方法表达计算机信息数据的含义非常适合人们观察自然、了解自然现象与变化规律,而计算机的信息描述数据是由具体的各种物理变化过程确定的),即掌握计算机仿真与科学研究方法才是学习计算机图形学的真谛,也即用计算物理学的基本思想能统一传统意义上计算机图形学与计算机辅助设计学科中的基本研究内容。计算机专业的学生有了这种方法后,再深入其它各应用学科领域,努力掌握其物理原理、科学实验与数学模型方法等知识,并与行业专家相互配合,计算机与计算工具就在各专业领域的科学研究与系统设计上大有用武之地了。

综上所述,可以给出计算机图形学如下定义:

计算机图形学属于计算机应用软件的研究范畴,它主要通过物理原理与数学方法,建立描述自然景观(虚幻世界)的几何数据模型与显示图形的物理数学模型,以达到用程序的方法把这些模型的描述数据通过算法转换成在计算机显示器中显示自然景观图像的目的。本质上,用计算机生成三维真实感图形就是用数学模型的方法仿真光线在物体之间相互传播而产生的显示效果或把光线传递的效果即照片映射至物体表面上所产生的显示效果。

国内计算机图形学教育工作者已认识到计算机图形学在计算机学科教育与科学研究中的重要性,并于2001年公开出版计算机图形学教材支持上述观点[10]。但由于这些观点没有引起国内计算机界制定政策的主流阶层人士的关注,相反,从2000年开始,计算机图形学的内容却从全国范围内的计算机专业等级考试中消失,这不能不说是国内计算机教育的一大损失。

而计算机图形学的授课关系见4.1节。

3.2 “新专业规范”中,计算机图形学的教学内容有待改进

“新专业规范”中计算机图形学的教学内容主要放在计算机图形标准的使用上,核心内容只有图形标准、照相机模型,图形显示设备与输入设备,前期课程要求计算机程序设计语言与离散数学,并只安排8个课时来讲授这些内容,其它的内容作为选修内容(这包括各种图形的生成算法、物体几何模型的描述方法,计算机动画,可视化,虚拟现实,计算机视觉,人们对色彩的主观感受、如何用色彩方式表达设计作品的主题思想,等等)。这种教学安排能使学生掌握图形标准的使用、以及照相机模型的应用,很容易导致学生误认计算机图形学就是在显示器上绘制各种图形这种认识偏差。

这种教学安排不当之处如下:

首先,计算机图形学的前期课程应该是程序设计语言与数据结构。实际上,不学离散数学并不影响学生编写图形学的各种应用程序;但不学数据结构,则编程困难;而且授课学时数太少。

其次,图形标准自成体系,但它不能构成一个完全自动运行并具有图形数据输入、存储、运算处理、输出等处理全流程功能的软件系统,它往往需要用户在应用软件中向图形标准输入模型数据并调用其各函数才能出现所需要的图形显示效果。初学者原指望学了计算机图形学,就知道象3DS MAX与OpenGL等软件中是如何编写程序并实现各种动画图形的显示,但授课结果却令人失望。

第三,由于初学者一般缺少对计算机图形学的全面了解,缺少对计算机图形学的研究对象与研究方法的认识,也没有图形系统的概念,该“新专业规范”授课大纲中虽有物体几何模型的描述方法但缺少在图形系统中具体建造物体几何模型等实例;另大纲中授课内容的逻辑关系非常不顺畅(例如把计算机视觉作为计算机图形学的一部分对待并讲授值得商榷,虽然人们期待从计算机视觉图像中获得图像的模型描述数据并一直朝这个方向努力,但计算机图形学与计算机视觉的研究方向与研究方法毕竟有很大的区别),也没有总结出计算机图形学的核心概念,且对计算机图形学的认识仍停留在图形学由各种算法的集合所组成的认识层面上,很难正确体现计算机图形学在科学研究中的重要作用。若授课内容掌握不当易使教学与学习迷失方向,或再次导致计算机图形学课程被计算机专业边缘化,这也是多年来国内同行反映计算机图形学难教难学的原因之一,这显然与当今计算机图形学在计算机科学中的发展潮流相悖。

第四,图形标准只是计算机图形学部分研究成果的具体实现,当初国外为什么会选择图形标准而不是选择计算机动画为案例作为讲授计算机图形学课程的主要内容,作者认为可能有以下原因:

① 历史的原因:因为图形标准是计算机图形学最早、最成熟的研究领域,后才有CAD、游戏与动画等;且图形标准在各个行业都有广泛的应用,而CAD、游戏与动画是一个具体的专业方向,教学难度大。

② 商业发展的需要:图形标准用硬件实现后,已经成为个人计算机的标准配置,这就促使人们更加专注图形标准的发展。

③ 国外的教学体系不一样:美国的计算机工业、图形学产业与计算机教育均位于世界领先水平,但全美国并没有强制性的计算机教育指导大纲,可是美国各校的计算机教育各有特色,他们对计算机的各个方面都有涉及、且各种层次的计算机课程都有,这种宽松的教育体制有利于科技成果与教育的创新培养。以图形学课程为例,若你需要继续深造,它还有许多图形学的选修课、提高课程(如计算机辅助几何设计、数字几何处理、曲面造型与设计、CAD、计算机动画、游戏、计算机程序设计方法等等)以及最新的学术论文等待着你、直至让你从这种授课体系中走向学科的最前沿与商业开发――即虽然他们的某一门基础课不一定很完美,但他们可以从完整的授课体系中,让你掌握计算机图形学等计算机应用学科的全部内容;但这也同时留下了因为课程划分过细,使人不容易一下掌握学科内容的全貌而留下遗憾。可是国内的计算机教育与国外不一样,首先,国内的高校没有条件开设那么多的计算机选修课;其次,若是全国性的计算机教学指导大纲不全面、不权威的话,就会在计算机学科的发展道路上留下无可挽回的遗憾。

④ 出于知识产权的保护,美国没有一本书的教学内容是一样的(包括CC2005中关于计算机图形学的知识结构体系的论述),这固然便于知识创新,但却不利于优秀知识的继承与传授,结果使得每本新书的内容与体系都不一样且庞杂,这对初学者是一个极大的负担,需要教师认真抽取众多书籍的有效内容,成系统后传授给学生,才能有效的提高学生的学习效率,2000年以前国内外计算机图形学的教材内容与体系的不够成熟,也是造成国内计算机图形学授课不能得到有效重视的原因之一。

⑤ 由于以上原因,美国人并没有把计算机图形学作为计算机学科的核心课程,这使得美国人的计算机图形学课程的教育落后于其计算机图形学等商业软件开发等应用,这是一个不争的事实(在美国,教材与授课基本上是老师的个人作为,商业软件的开发是团队作为并有经济利益作为支撑,它能不断发展并自我完善)。也有很多国际人士认识到计算机图形学的教育出现了问题[4],显然,仍把计算机图形学定义为在显示器上显示各种图形是过于简单,这是没有正确地把计算机图形学学科的发展规律引入教育部门、忽视计算机图形学在各行业领域中的具体应用与需求的一种表现。因此,全面认真研究美国人在计算机教育与计算机工业的发展规律、商业软件开发等多种优缺点,再针对国内计算机教育中存在的不足,提出解决问题的方法应该是国内计算机教育界值得深思的问题;显然,仅用跟踪所谓国外先进的教学方法与理念也有不全面的地方。

4 计算机图形学课程在计算机科学教育中的作用与地位

4.1 计算机图形学是计算机应用软件编程思想系统训练的重要基础课程

数据计算、数据存储与检索、数据联网通信是现代计算机的三个最基本的应用。在这三者中,对于数据存储,一般有数据结构课程与数据库系统软件分别介绍其基本原理与大规模数据的系统管理等软件应用;对于数据联网通信,一般有通信技术、计算机互联网等课程、WinSocket技术等介绍其基本原理与实现方法;对于数据计算,一般有算法语言、编译原理、自动机理论等课程介绍其原理,计算机科学与技术专业追求的目标是:用形式语言与自动机理论,通过形式化和模型的建立,构建系统,进行模型计算。但这些内容抽象、内容难以理解、难以直接应用解决实际应用问题[9],计算机专业的本科生学习这一方法尚有一定难度,非计算机专业的学生更不会接触编译原理与自动机理论等,这就造成一般学生在学习计算机进行编程计算的问题上存在知识缺陷,而计算机图形学课程的授课正好可以有效的解决这个问题。

国内新一版的计算机图形学的授课方法[7]:首先,以二维图形为例,从理论上全面解决了图形系统软件的构建方法以及图形数据处理流程的全过程,使初学者牢固的树立起软件系统的概念;其次,为了用计算机仿真的方法在显示器中生成三维真实感图形效果,建立了描述各种物理现象的多种数学模型(见上述),这些数学模型的描述数据都能通过图形模型数据文件的方式保存在计算机图形系统中供系统内部程序调用,以仿真方法生成三维图像。也就是说,①系统与模型的数学与形式化的描述方法;②按系统数据处理流程,用算法语言与数据结构等知识把模型数据的处理方法全转换成一个个程序,以实现其数据处理的全过程等任务;③编程实现时,需根据计算机的配置与用户的经济要求,合理考虑所选算法的复杂度(或选择优化算法实现图形功能);这三者是计算机编程计算的基本步骤与要求,是实现可计算性的三个条件――即计算机图形学既成功探索了一般典型的计算机应用软件系统开发的基本规律,又用可视化的方式表达了其程序数据运算处理的最后结果,这为该课程成为初学者学习计算机程序设计方法的首选课程之一奠定了基础。

若没有计算机图形学等编程课程的系统训练,计算机初学者一般只能通过实际大型软件项目的学习与训练(或继续深造),通过自我总结与提高,才能全面地掌握这种编程与数据计算等知识,而这种机会不是人人都具有的,其付出的代价也将是巨大的。例如现在一般计算机本科专业的学生虽然能熟练的掌握3ds max软件的操作使用,但不清3ds max软件是如何编制而成,就是现阶段本科教育存在缺陷的具体表现。

通过数据结构的学习,使学生明白:算法+数据结构决定程序设计;但计算机图形学的授课能使学生进一步明白:算法不是从天上掉下来的,它们是由用户解决实际问题建立的物理数学模型、并抽象出模型描述数据之后,提出处理其数据模型的基本方法与步骤;而数据结构是记录该模型的描述数据、以及根据算法的需要构造而成、以配合保存各种中间加工数据或最后加工结果;编程者只有把这些解决问题对象的多种模型编写成软件系统之后,才能完满的完成程序设计的任务――即计算模型及对模型的变换与运算处理方法决定了程序设计的算法与数据结构。

4.2 计算机图形学的教育体现了计算机学科的科学性

计算学科是指通过在计算机上建立模型并模拟物理过程来进行科学调查和研究。该学科是对信息描述和变换算法的系统研究,主要包括它们的理论、分析、效率、实现和应用[6]。在目前所见的计算机教材中,只有计算机图形学是按照这种理论体系组织教学内容的。这些教学内容是人们耳熟能详的物理原理与相对简单的数学知识在计算机中的综合运用,是计算机学科科学性的具体表现之一――只有把计算工具直接应用于科学研究中,这种计算工具与方法具有科学性才有说服力,而计算机仿真是科学研究中常用的一种有效方法,复杂的数学计算又是仿真建模的基础,从这个意义上讲,仿真与复杂的数学计算等都是科学研究中重要的研究方法之一。这样,该课程就很好的解决了“新专业规范”中人们对“数字科学计算”的认识不统一而导致该课程的教学内容与要求不详等问题,很好地使计算机的应用回归其本来面目;

4.3 用图形方式表示计算机信息数据的含义,比用数字符号方式表示其含义更高级、更自然,也是计算机科学研究的对象之一

用文字符号方式描述客观世界是对客观世界的一种抽象,是对客观世界的一种不完整的描述;而人们感受客观世界最自然、相对全面的是用眼睛观察客观世界,它可以较准确的确定客观世界中物理现象的存在与变化规律,这个方法运用于计算机中,就是用图形方式表示计算机信息数据的含义,这种表示方法比符号方式表示信息数据的含义复杂,表示的信息量大,对计算机的硬件要求高。在计算机的多媒体信息表达方式中,图形方式是处理过程最复杂的、也更符合人们的观察习惯。故用图形方式表达信息数据是一种表达信息数据含义的高级表达方式。

现代计算机的应用,不仅是数值计算与数据管理、还表现在工程设计中,人们用图形方式来表达设计人员的设计思想、设计方法,以及设计作品的体系结构与功能等,它能充分表达设计人员的形象思维方式,这种表达方式不仅要求能用计算机表达出来,而且要求计算机能接受人们用这种方式向计算机输入数学模型,这些都是计算机科学面临的新课题。例如古代三国时期,诸葛亮造木牛流马搬运粮草,史书虽然有文字记载其构造方法,但后人却无法复原这种运输工具。在没有实物的情况下,只有用图形方式表示该运输工具的基本构造方法才能使后人复原这种古代的运输工具。对于这类复合结构的复杂物体与运动形式即使用几何数据对它详细描述,若不借助图形方式来表示其几何形状与结构等信息,人们对它的理解也会发生困难,这就是现实中用符号方式描述与图形方式描述(抽象描述与形象描述)信息含义之间的差别。经验告诉我们:在计算机中,信息数据的描述方法不同,往往导致编程的方法与效果也不同,若我们不进行这种方式的培训,就会落后于计算机时代的发展。

4.4 掌握计算机配置的常用工具,是计算机应用的必要条件

传统计算机学科的授课内容,并不直接讲解如何进行科学计算等问题,而是为解决复杂的科学计算等问题提供软件服务工具、方法与手段等。例如,从大量应用中(包括软件编程),找准、预测用户的需求;然后,从中抽象其具有共性的方法与难题,并把它们上升为理论,最后把这种理论开发成工具与系统方法,供用户使用;操作系统软件、汇编语言与编译系统、高级语言与编译系统、软件工程的概念与方法、面向对象的软件开发语言等都是这样逐渐发展起来的;同样的思路,为了计算机的应用,人们开发了办公自动化软件、数据库系统软件、网络浏览器、三维图形标准等各种工具,等等,用户用这些工具能更高效率的开发应用程序。但是,这种授课方式却把用计算机解决科学计算等应用问题留给具体的应用部门与用户对应用软件的具体开发,而课堂教学一般缺少这方面的系统实例,这也是导致目前计算机本科生应用软件系统开发能力弱的原因之一。

但当计算机学科发展到用可视化软件开发应用程序,而计算机的基础教育却忽视这种发展潮流与技术进步(现有的计算机公共核心课程没有计算机图形学的内容),这只能使我们的应用软件的开发水平仍停留在上世纪70年代的字符表现水平上。因此,计算机本科教育中,使学生掌握计算机配置的常用工具是计算机应用的必要条件,这当然包括让学生掌握计算机三维图形标准这个有用工具。

4.5 计算机图形学是嫁接多学科的桥梁,是科学研究思维能力训练的延续与有效方法之一

大学的教育,除了要求学生掌握一门专业的系统基础理论知识与应用外,关键是要掌握“根据任务与需要,学会从中发现问题、分析问题、提出解决问题的方法,建立解决问题的数学模型,直至用物理实验或软件编程的方法解决发现的问题”这种工作能力以及继续学习深造的能力。只有这样,计算机专业的学生才具备自我获取知识和探索解决问题的能力,并使自己在新的工作岗位上做到既是计算机方面的专家,也是行业领域的专家助手,计算机专业的学生才能更好的服务于社会,造福于自己。

什么样的课程能做到使他们具备自我获取知识和探索解决问题的思维能力?传统上大学物理与数学课程的教育是培养这一方法的有效途径。因为物理学是蕴藏科学方法论的宝库,物理不仅包含了物质世界的运动规律,同时蕴涵了丰富的哲理和研究、思维方法,对于培养创新思维有着独特的优势。这种独特的优势地位决定了大学物理在培养全面发展型人才中的特殊作用。显然,知识的内容是有限的,而思维的创造力是无限的。物理学若干世纪以来的辉煌成就,使之创造了一整套行之有效的思想方法和研究方法,据专家统计,在300种通用的科学方法中,物理学包含170种,占56.7%。在大学物理课程中,学生可以接触到实验的方法、观察的方法、科学抽象的方法、理想模型的方法、科学归纳的方法、类比的方法、演绎的方法、统计的方法、证明和反驳的方法、数学模型的方法;还可以学习到科学假设的方法、对称性分析的方法以及定性和半定量的方法等等。同时,物理课程中还包含了无数著名科学大师许多深刻的物理思想和精妙的哲学思辩,尤其随处可见前辈科学破除权威,敢于怀疑,大胆创新的许多生动鲜活的事例。这些闪耀人类智慧光芒的科学方法和科学精神,对提高学生的科学素养,培养他们的探索精神和创新意识,都会产生积极而深远的影响,起到其他课程无法替代的作用[3]。

但传统上计算机课程内容的安排中断了高等数学与大学物理的学习与后续计算机课程学习的相互关系,一些搞计算机工作的人员会片面地认为不学物理与高等数学也一样能学好计算机课程、一样能从事计算机工作。而计算机图形学课程的教学是嫁接大学一年级的高等数学、大学物理与三年级计算机专业教育的有效桥梁,是物理、数学知识在计算机应用领域中的具体应用。而计算机图形学编程思想的训练,特别是探索解决物理问题的数学模型的各种研制方法与思维能力,对各种行业面临实际问题的解决与计算机应用软件的编程具有典型的示范作用――即不同的应用领域、待解决的物理问题与性质不同,其建模解决问题的方法也不同。这种思维方式能告诉各专业学习计算机的学生:通过建立软件系统、并用模型与仿真的方法指导工程实现(例如实现计算机图形显示)是工程应用中的典型方法之一(自动控制、通信、雷达系统工程中都是先用系统的数学模型与仿真方法确定系统工作参数后,再考虑其具体系统的物理实现),这种思维方式是目前计算机公共核心课程与“软件工程”课程所缺少的。具备这种知识与能力,无疑为计算机专业的学生拓展新的发展方向、为计算机专业的学生向其他应用行业的转行做好了思想准备。

4.6 计算机学科的发展是为了应用,而计算机图形学是计算机科学计算等应用的典型代表

计算机科学与技术主要以计算机产业的形式出现在人们的日常生活中,是人们生活、学习与工作的有效计算、存储查询、娱乐等辅助工具之一。计算机科学除了要探讨计算理论自身的发展之外,还要探讨产业的发展,探讨用户的应用与需求;再强大的计算机、功能更全面的开发工具,也需要更复杂的计算机应用课题做支撑,这是计算机学科发展的两条主线。计算机学科的核心教育仅局限于计算理论自身的发展是不完善的,而计算机图形学在计算机动画、3D游戏、图形标准、计算机仿真(如天气预报、大规模地质勘探数据处理、模拟原子弹爆炸与理论设计、模拟汽车碰撞、电磁辐射设计、计算流体力学等应用都需要用图形方式表达其结果)、计算机辅助设计与制造等领域的大量应用,代表了当今计算机科学应用的发展水平,是推动计算科学向前发展的源动力之一,不能再被计算机教育界所忽视。

基于以上理由,相信计算机图形学成为计算机公共核心课程是可行的!

未经授权,谢绝在公开的商业出版物中复制、引用本文之观点与内容。

参考文献

[1] 教育部高等学校计算机科学与技术教学指导委员会.“高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)”[M].北京:高等教育出版社,2006.

[2] 教育部高等学校计算机科学与技术教学指导委员会.“高等学校计算机科学与技术专业公共核心知识体系与课程”[M].北京:清华大学出版社,2007.

[3] 陈菊梅.论大学物理教学对学生创新思维的培养[J].高等教育研究学报,2006,(9).

[4] 石教英.需重视工程科学的可视化学习[J].国际学术动态,2005,(3).

[5] 蒋彦等.关于数学建模思想融入课程教学的研究[J].高等教育研究学报,2005,(3).

[6] 蒋宗礼.认识计算学科分类培养优秀人才[J].计算机教育,2006,(5).

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

[8] 赵致琢.计算科学导论(第三版)[M].北京:科学出版社,2004.

[9] 蒋宗礼.努力建设优秀教材[J].中国大学教育,2007,(9).

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

上一篇:双导师制应用型IT创新人才培养的探索与实践 下一篇:嵌入式WEB监控教学功能系统研究