前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机视觉基础知识范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键词:预决算;国库集中支付改革;高校
国库集中支付改革是我国高校财政改革的重要内容,而编制科学、合理的部门预决算是规范高校财政收支的重要举措,是高校建立积极有效财政框架的基础。随着国库集中支付制度的实施,既显现其在增强预决算编制的科学性、规范性等方面带来的积极影响,也暴露出预算指标执行过程有时仍然较随意、缺乏阶段性分析等问题。如何在新形势下做好预决算工作就成为高校财务面临的重点与难点之一。
一、国库集中支付制度对高校预决算的意义
首先,国库集中支付改革有利于提高高校预算资金管理的规范性,改变预算单位先前多头开设银行账户,资金管理混乱的状况。实行国库集中支付单一账户后,高校预算编制对象、范围、执行过程都更加清晰,在高校、财政管理部门、银行之间建立了一套高效、统一的预算资金申请、拨付、支出体系,促进了高校预算资金管理的规范性,有利于提高高校资金使用的科学性。其次,国库集中支付改革便于上级部门的监督与管理。高校的预算收入是以预算单位报送分月用款计划,再由省级财政批复并转化为额度的形式实现,而在预算资金使用过程中,其使用范围、用途、执行过程受到省级财政部门或上级教育部门的严格监控,从而减少预算单位对资金使用安排的随意性,防止资金被挤占挪用,有利于提高预算资金使用的严肃性,提高预算执行的透明度,对减少财务腐败、净化高校财务环境具有积极影响。
二、高校在部门预决算编制与执行过程中的问题
1.预算执行情况缺乏分析。由于单位人力资源有限或单位重视不够等主客观原因,使得一些应做的工作未做到位,如当前预算资金执行情况分析,包括资金到位情况、已执行情况,预算计划执行进度完成较好或不好的原因,准备采取什么措施等。全面系统的分析有助于了解单位当前财务状况,找出不足,以利于下阶段修正、改进,乃至以实现预算年度的全年预算指标为总体目标或任务对每月、季度等进行阶段性的财务项目(科目)支出控制。
2.很多高校都存在同时编制部门预算与校内预算的现象。由于对编报预算目的、通过预算所要了解内容的不同,两者在核算范围、具体内容方面可能存在较大差别。部门预算中的支出是按工资福利、商品和服务、个人及家庭补助支出等基本支出和项目支出进行分类核算的,而校内预算则根据学校实际需要或甚至财务领导的偏好来设定内容,如按照包含在职人员的工资、津贴、社保、公积金等人员经费、包含本专科生、研究生的教学业务费、维持学校正常运转的各项经费、包含各类奖助学金、学生医疗费、学生活动费等学生经费、离退休人员各类支出、后勤保障经费及债务及利息费用、横纵向课题及其他科研经费等。由于考虑问题的角度、出发点不同,使得后者更突出高校的特点从而与部门预算相比更直观易理解,更具实用性。
3.对账难度加大影响决算工作。账面数据与国库集中支付实际数据的差异可能存在以下几个方面:①转报借款时的账面科目(项目)与国库集中支付借款时的科目(项目)不一致。②内部转账只有在账面体现,在国库集中支付系统无法体现。③由于额度不足或误操作等原因造成账面与国库集中支付项目不一致,如账面为基本支出(或项目支出),而国库集中支付为项目支出(或基本支出),或账面为某基本支出(或项目支出),而国库集中支付为另一基本支出(或项目支出)。④许多高校仍然存在基本户,有时会发生基本户与零余额账户串户情况,如账面从基本户(或零余额账户)支出,出纳从零余额账户(或基本户)支出。由于对账是年终决算的准备工作,因此也会影响到决算工作的进度,同时由于上述所列不同情形导致账面数据与国库集中支付系统实际数据之间的不一致,也给决算编制过程中的数据摘取造成不便。
4.目前在高校预算系统中,人员和公用经费是按学校人数及一套定额标准设定的,而随着社会发展,这些标准并没有因为社会发展而采取应有或足够的调整,如人员津贴、日常教学办公经费等支出的标准并未随物价的变化而采取应有或足够的调整。此外基本支出所设预算科目存在设置不足问题。教学仪器、办公设备及交通工具购置、维修费、物业管理费以及本专科和研究生业务经费等学校主要支出并未在基本预算科目中明列,而将上述科目都列入其他商品支出亦不适合。预算单位为弥补上述已列科目定额经费和未明列科目经费的不足,被迫采取虚增项目支出等形式编报预算,从而夸大了项目实际支出。
5.一些高校预算系统中科目设置与国家政府、事业单位科目设置有较大差异。上述未在预算系统基本支出科目中明列的部分科目均是《政府收支分类科目》中国家规定的商品及服务支出、资本性支出科目,这就导致高校账务处理软件中的科目与预算科目未对应,对通过日常账务来了解预算执行情况造成影响。此外,预算软件与决算软件在基本支出科目设置上也存在不匹配情况,这也影响了预决算的对比分析。
三、应对国库集中支付改革,加强预决算工作应采取的建议与措施
1.为加强预算执行力度,了解预算执行情况,应对预算执行情况进行分析,在造表时可将:全年预算资金、已到位资金、已执行资金、资金到位率(%)、资金完成率(%)、完成不好原因及须采取的措施等计算栏目及总支出、工资福利支出、工资、社会保险、商品服务支出、办公费、邮电费、个人及家庭补助支出、离退休工资、公积金等列入核算栏目。根据预算单位的需要,可对分析表的内容、结构加以修改,进行更粗略或更细致、全面和深入的分析。如条件许可也可按月分析,但至少应做到半年分析一次。
2.公用经费标准应跟随社会经济发展而有相应的调整。随着我国经济的快速发展,物价也随之上升,公用经费中各项人均支出指标应跟随经济发展尤其是充分考虑物价因素,以提高高校预算的科学性和准确性,避免高校采取其他不当形式,如把基本支出中由于定额不足而短缺的资金以虚列项目支出等形式进行补足,确保高校预算的真实性和可靠性。
3.一些高校的决算系统与账务处理系统依据财政部印发的《政府收支分类科目》在科目(项目)设置方面一致或基本一致,而预算系统与国库集中支付系统在科目(项目)设置方面一致且均未完全采用国家制定的收支分类科目,导致预决算在科目设置方面存在差异。
4.统一校内预算与部门预算。首先,对两者的编报范围进行统一,收支口径要一致。其次,由于用途,考虑角度不同造成的差异,可尝试通过重新设计编写预算软件来解决,形成双重视角下的校内预算报表与部门预算报表切换功能,做到填写一遍数据,同时形成两套报表。
5.对于对账难度加大影响决算工作的问题,可通过完善相应财务软件对账功能来解决。优化设计账务处理软件与国库集中支付系统的对账功能,并增设两者的数据接口,使两套系统形成资源共享,以使对账工作量大大减少,减轻月末、季度末、尤其是年末的财务工作负担。
参考文献:
[1]王存昭.强化高校预算管理适应国库集中支付制度的要求[J].经济师,2009,(7).
[2]张帅.浅析国库集中支付改革后预算编制和执行中存在的问题和建议[J].全国商情.2009,(15).
【关键词】地学 计算机图形学 教学改革
【基金项目】中国地质大学(武汉)教学研究项目,项目编号 200923。
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2013)10-0144-02
一、引言
计算机图形学是研究如何利用计算机显示和处理图形的原理、方法和技术的一门学科。除了是计算机与信息相关学科的一门专业必修课程外,它也是许多非计算机专业本科一项重要的专业限选/选修课程[1]。在以地学专业为主的中国地质大学(武汉),计算机图形学教学也得到了相当的重视。以地空学院为例,其下属的两个专业地球物理与地球信息科学的教学大纲中都明确开设了这门课程。但与其他兄弟院系一样,该课程教学中所达到的实际效果却并不尽如人意。一方面,地质制图以及地学数据的图形表现等知识在学生本科毕业后从事的地学应用工作中占有重要成分;另一方面,传统计算机图形学本身所讲述的内容又无法满足地学专业工作、科研的需要[2]。随着时间的推移,计算机图形学课程所处的地位日渐尴尬,将其从教学计划中取消固然不妥,但又确实达不到应有的效果。认真分析其原因主要有如下两点:
1.从课程的定位来看,作为一门独立学科,计算机图形学本身定位于使用数学算法构造图形的数学模型,并通过程序实现图形的显示和处理。数学建模与算法实现是计算机图形学的核心与基础[3]。该课程涉及的内容也非常之多,包括图形生成技术,计算机辅助制图,计算机视觉等部分[4]。然而作为一个主要培养地学领域人才的高等院校,计算机图形学在地学领域的主要应用集中于数据制图与数据可视化处理。即要求学生能够具备一定计算机图形学基础知识,并能够使用计算机对地学数据进行图形绘制与表现,进一步生产出社会所需求的各种图形产品包括二维地质图以及三维造型,场景演示视频等。因此可见,课程定位与专业需求存在着一定的差别。
2.从教学大纲与教学内容上来看,传统计算机图形学教学基本以清华大学孙家广院士主编的《计算机图形学》内容为范本。教学内容大部分重点集中于图形生成算法,图形标准、图形交互、曲线曲面造型、真实感图形生成与显示算法等章节[5]。这其中的许多知识点都与地学专业应用无关。此外,地学专业的学生往往在离散数学、算法逻辑等方面基础较为薄弱。这就导致授课老师要花更多的时间来将这些知识点讲授清楚,但学生在学习过程中却逐渐失去兴趣。
上述主要原因使得我校地学相关专业中的计算机图形学课程教学无法达到满意的效果。特别是由于课程的一些内容或章节与专业的实际应用偏离太多,更造成了学生们应付考试,老师们照本宣科的现象。许多讲授该课程的老师都或多或少的意识到了这一点,他们努力在教学过程中做出适当的调整,但却苦于缺乏统一的指导思想。
基于此,在校方支持下,笔者与其他授课老师一起开展了面向地学专业的计算机图形学教学改革活动。在这次改革中,老师们将自己的授课经历进行了分享,并着重对地学相关专业计算机图形学教学过程中的问题进行了总结,然后通过讨论交流提出了一系列改革方案。最后将这些方案措施在教学活动中进行验证。实践证明,教改方案可以有效的激发学生的学习热情,并引导他们将理论知识充分运用到实际问题中,有利于培养地学专业高素质人才[6]。
二、改革措施
首先,此次课程改革的目的很明确,即为地学或地学相关专业的学生量身打造适合他们需要的计算机图形学课程。该课程的教学必须真正贴近专业的需要,不再流于形式,为学生将来的工作与研究深造打下良好的基础。具体的改革措施总结如下:
1.深入了解我校地学专业相关院系的专业需求,讨论并制订面向地学领域的计算机图形学教学大纲和教学计划。传统的计算机图形学教学内容涉及到数学、物理、计算机等多个学科[7]。每个学科又涉及到一些相对抽象的理论与复杂算法实现。这些内容均使得地学专业的学生难以在短时间内掌握。此外,随着技术的不断发展,目前计算机图形学的一些教学安排与现实也存在一定的脱节。如许多计算机图形学的实习环节中会要求学生去实现基本图形的生成算法,对许多非计算机专业本科生而言,这一做法的必要性值得商榷。因为就其专业应用领域,大部分的图形生成算法实现都已经固化到了计算机硬件(显卡、GPU)中,现实工作中极少场合需要编程实现这些已经非常成熟的算法[8]。
就地学专业以及大多数工科应用专业而言,计算机图形学课程更多是为了直接满足应用上的需要,而不是将其作为一个研究基础。因此经过笔者及其他老师们的讨论一致认为,对于我校地学类专业,计算机图形学的课程教学应强调一个原则,即:突出重点,强调有用。借鉴华中科技大学机械科学与工程学院将计算机图形学成功与机械制图,机械辅助设计等方面知识紧密结合起来的宝贵经验。决定将我校的计算机图形学课程安排充分与地学中的地质制图、GIS图形标注与编辑、地球探测信息可视化等应用紧密结合起来,注重其实用性。
【关键词】虚拟现实 数字媒体 艺术设计
虚拟现实,英文名为Virtual Reality,简称VR技术,也称灵境技术或人工环境。VR技术领域几乎是所有发达国家都在大力研究的前沿领域,它的发展速度非常迅速。作为一项尖端科技,虚拟现实集成了计算机图形技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机生成的高技术模拟系统。这种技术的特点在于计算机产生一种人为虚拟的环境,这种虚拟的环境是通过计算机图形构成的三维数字模型,并编制到计算机中去生成一个以视觉感受为主,也包括听觉、触觉的综合可感知的人工环境,从而使得在视觉上产生一种沉浸于这个环境的感觉,可以直接观察、操作、触摸、检测周围环境及事物的内在变化,并能与之发生“交互”作用,使人和计算机很好地“融为一体”,给人一种“身临其境”的感觉。
一、虚拟现实课程简介
随着国内宽带网络的普及和多媒体技术的发展,虚拟现实技术逐渐应用于信息多媒体展示方面。而三维网络展示系统将是虚拟现实技术未来发展的重要方向之一,因此全国各高校相继开设数字媒体艺术设计专业,其中的虚拟现实技术的课程成为国内外教育技术学及媒体传播领域的研究热点和发展趋势之一,它集成了计算机图形学、多媒体、人工智能、多传感器、网络等技术的最新成果,以其沉浸性、交互性和构想性等无可比拟的优点。虚拟现实技术在各行各业得到了广泛的应用和重视,比如在教育培训、城市规划、文物保护、游戏娱乐等领域取得了巨大的发展,市场前景广阔;同时国家自然科学基金会、国家高技术研究发展计划和863计划等都已将虚拟现实技术列入了研究项目。
虚拟现实课程是以往多个计算机辅助设计软件的一个综合运用,课程主要涉及到多个软件与课程的结合,软件包含有Photoshop、AutoCad、3dsmax、Virtools 等,涉及课程有建筑制图、建筑场景漫游、景观绿地设计等专业范围。课程主要运用虚拟现实技术完成一个三维场景的漫游浏览系统, 使其能够流畅,完整的再现一个实际的环境或建筑。其中主要运用virtools 这个软件来实现交互浏览的制作, 这一步骤是整个系统实现人机交互的核心, 最后完成系统的制作并。
二、虚拟现实在国内高校的研究现状
国内在VR方面有较多研究成果的其他单位有国防科技大学、天津大学、北京理工大学、中国科学院自动化研究所、西北大学、山东大学、大连海事大学和香港中文大学等。
北京航空航天大学计算机系是国内最早进行VR研究的机构之一,他们首先进行了一些基础知识方面的研究,并着重研究了虚拟世界中物体物理特性的表示与处理,在VR中的视觉接口方面开发出了部分硬件,并提出了有关算法及实现方法。他们还实现了分布式虚拟世界网络设计,建立了网上VR研究论坛,可以提供实时三维动态数据库,提供VR演示世界,提供用行员训练的VR系统,提供开发VR系统的开发平台,并将要实现与有关单位的远程连接。
清华大学计算机科学和技术系对VR和临场感的方面进行了研究,他们还针对室内环境中水平特征丰富的特点,提出借助图像变换,使立体视觉图像中对应水平特征呈现形状一致性,以利于实现特征匹配,并获取物体三维结构的新颖算法。
西安交通大学信息工程研究所对VR中的关键技术——立体显示技术——进行了研究。他们在分析人类视觉特性的基础上提出了一种基于JPEG标准压缩编码的新方案,并获得了较高的压缩比、信噪比以及解压速度,并且已经通过实验结果证明了这种方案的优越性。
2004年南京大学成立了南京大学虚拟现实与数字媒体研究中心,对VR技术及应用进行研究,并把重点放在虚拟体育仿真、数字文化遗产保护和自然人机交互等方面。
三、虚拟现实课程开设的重要性
虚拟现实技术是利用计算机生成一个逼真的三维虚拟环境,并通过传感设备与之交互的新技术。作为一门新兴的学科,它已经被众多高校纳入计算机科学与技术专业的选修课范畴,但是却没有在数字媒体技术专业中普遍开设。其实无论从技术特点,还是从社会需求来讲,虚拟现实技术都与数字媒体技术有着非常密切的关系,具体体现在如下几个方面。
1) 虚拟现实是一门典型的交叉学科,它所涵盖的知识结构与数字媒体技术具有非常大相似性,例如计算机图形学、数字图像处理、计算机视觉、视音频技术等。除此之外,它还涉及了仿真技术、人工智能技术、计算机网络技术、多传感器技术等内容。虚拟现实强调这些技术的综合应用。
2) 虚拟现实强调技术创新性和应用创新性。从技术上来讲,虚拟现实在不同学科的交叉融合中,能够不断产生新思想和新方法,例如近几年出现的各种人机交互新方法,各种立体显示新技术等;从应用上来讲,虚拟现实具有强烈的“身临其境”的沉浸感和发人想象的刺激性。因此,利用虚拟现实技术,学生们能够将自己的任何创意和想象进行实践,在虚拟场景中进行规划、设计和测试,从而激发出新的创意。
关键词:Python编程;教学设计;非计算机专业;编程语言
Python是一门免费、开源的跨平台高级动态编程语言,可以处理系统运维、图形处理、数据库编程、多媒体编程、软件分析、Web编程、科学计算与可视化、机器学习、人工智能等,拥有众多狂热的支持者,使得各个领域的人员能快速实现和验证自己的思路与创意。Python早就广泛应用到企业之中,早在2004年,Google便已决心在快速开发方面使用Python。近日,IEEESpectrum了第四届顶级编程语言交互排行榜。因为有各种不同语言的排行,所以IEEESpectrum依据不同的变量对流行度进行了排行。Python击败Java,C,C++等语言,跃居编程语言交互排行榜第一名。非计算机专业学习编程的目的并非为了培养专业的编程开发人员,而是一方面为了锻炼学生逻辑思维、扎实的问题分析能力;另一方面为了方便学生在各个领域进行研究实践。Python语言的优势在于资源丰富,拥有坚实的数值算法、图标和数据处理基础设施,建立了非常良好的生态环境,吸引了大批科学家以及各领域的专家使用。这也是非计算机专业学生学习Python编程的必要性。
1编程语言的学习对非计算机专业的重要性
1.1程序设计基础在非计算机专业开设情况
我国大学针对非计算机专业开设的程序设计基础课程,使用C语言作为基础语言的较多。C语言作为程序设计基础语言,能够让学生明白程序运行原理,计算机各个部件如何交互,程序在内存中是怎样的状态以及操作系统与程序有怎样的关系。但是对于非计算机专业学生来说,C语言语法复杂,调试程序困难,学生缺少对计算机体系的整体认识,也无需了解计算机底层知识,后续工作很难使用C语言来解决问题,所以并不适合教授给没有任何计算机认知背景的非计算机专业学生。Java语言也是部分高校面向全校开设的程序设计基础编程公选课,是一门面向对象的编程语言,具有简单性、分布式、健壮性、可移植性、平立、动态性等特点。Java语言广泛应用在Android应用、金融业应用的服务器程序、网站、嵌入式领域、大数据技术和科学应用等领域。但是对于非计算机专业学生而言,Java语言学习成本比较高,工作后的应用场景较少,语言本身重点关注代码复用性和可移植性,这些特点说明Java并不适用于非计算机专业学生[1]。
1.2非计算机专业选择Python的原因
Python语言由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年,已经有28年的历史。Python在设计上坚持了清晰划一的风格,这使得其成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python的设计哲学是“优雅”“明确”“简单”,具有丰富和强大的库[2]。Python语言是最接近自然语言的编程语言,代码简洁高效,对于没有编程经验的学生来说较易上手,学生无需纠结语法和程序编写方式,而是更快的抽象问题并提出解决方案,这样更容易激发学生的学习热情。非计算机专业涉及范围较广,Python所能完成的工作也非常广泛,除了Web编程、图形处理、计算机视觉、软件分析、物联网管理、科学计算与可视化等领域,一些意想不到的领域Python也能涉及。例如Python也能够用于电影视觉特效的制作,其中就包括了《星球大战》某些电影特效的制作,从集体渲染到批量处理再到影片合成,Python将所有步骤都紧密黏合在了一起。2017年,“人工智能”首次被列入政府工作报告,Python也借助人工智能(ArtificialIntelligence,AI)和数据科学,攀爬到了编程语言生态链的顶级位置。随着AI应用的发展,数百万之众的教师、公司职员、工程师、翻译、编辑、医生、销售、管理者和公务员将裹挟着各自领域中的行业知识和数据资源,涌入Python和AI大潮之中,深刻地改变整个IT,或者说数据科技(DataTechnology,DT)产业的整体格局和面貌。
2非计算机专业Python编程教学设计
对于非计算机专业学生,学习编程语言是很有挑战性的,学生专业不同,思维方式也不相同。为了引发学生学习兴趣,达到较好的教学效果,教师要转变课堂上的角色,让学生成为课堂的主角[3]。针对该课程和学生特点,提出“分方向的理论与实践指导”,学生可以有重点、有目标地进行学习。
2.1教学目标
计算机编程延伸到非计算机专业,对学生的掌握计算机理论知识和实践技能要求较高。“程序设计基础”作为入门课程,除了教授学生一门编程语言的概念、语法及使用,还要教会学生编程思想、分析问题和解决问题的能力。
2.2教学内容
非计算机专业Python编程教学涵盖的基本内容包括:基础知识、Python序列、流程控制语句、函数、面向对象程序设计等。后续应当着重针对学生的学习方向或者兴趣点,有针对性地讲解Python的标准库和扩展库,并以案例或者项目的形式展现Python在各个领域中的应用。通常,不同学校的公选课的学时不同,32学时或者48学时。无论多少,学生都无法只利用上课时间达到最佳的学习效果,所以课下的自主学习尤为重要。在学习每个知识点后,教师安排部分课下自主学习的内容,以帮助学生更充分地掌握所学内容,并安排大量与实际工作学习相关案例。
2.3教学方法
除了讲授法、案例法等传统教学方法,教师应当充分分析学生特点,并时刻观察学生的反应。教师在引入新概念、新理论时要以学生学习或者生活中熟悉的内容为切入点,自然并具有逻辑性,能够解决问题,引发学习积极思考问题。实践是编程语言学习必不可少的过程,通过实践夯实理论知识,并亲自动手操作解决实际问题。教师应当分专业引导学生参与课题或项目中的部分模块,给学生创造更多机会去实践,学生完成课题或项目后,充分体验到编程的乐趣,从而更好地激发学生学习兴趣。
2.4拓展学生视野
由于学生专业不同,教师应当充分备课,了解Python在各个领域中的突出应用,并学习相关领域中的应用背景与相关知识。如果能将所学知识带入实际情境中,学生用于解决工作和学习中遇到的各类非通用计算问题,理解并实践计算思维[3]。在拓展学生视野的过程中同时增进了教与学的相互促进,教师与学生都积极参与到教与学的互动中,提升了教学效果。随着互联网与传统行业深度融合以及人工智能的火热,前沿性、基础性、交叉性的学科研究越来越多,有利于培养学生的创新意识和开拓精神。
3结语
身为教育工作者,从教与学的理论上思考编程语言公选课的教学问题。笔者认为,“分方向的理论与实践指导”能够培养学生基于自身学习、研究方向,学好用活书本知识,更重要的是与实践应用相联系,有利于培养学生的创新能力、探究精神和创新思维能力。本文提出了面向非计算机专业学生开设Python编程教学入门的必要性,并针对该编程语言特点阐述了“分方向的理论与实践指导”的教学设计,这是编程公选课教学适应高素质人才培养要求的一种尝试。只有在教学过程中,联系本校学生实际情况,不断创新、改革,才能使教学设计达到更好的效果,为社会培养真正有用的人才。
[参考文献]
[1]王立翔.基于计算思维的python语言课程教学改革刍议[J].教育现代化,2017(15):12-13.
[2]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016(2):42-47.
摘 要:本文通过全面论述计算机图形学的知识结构体系与它在计算机科学教育中的作用与地位,提出把计算机图形学列入计算机专业的核心课程,以弥补“高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)”与“高等学校计算机科学与技术专业公共核心知识体系与课程”中对计算理论“能行性”教育的缺失与应用软件编程系统训练的不足。
关键词:计算机图形学;计算机教育;核心课程;软件系统;应用开发
中图分类号: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.