公务员期刊网 精选范文 计算机图形学论文范文

计算机图形学论文精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机图形学论文主题范文,仅供参考,欢迎阅读并收藏。

计算机图形学论文

第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] 魏海涛. 科学的构建‘计算机图形学’的教学内容,促进计算学科的全面发展[J]. 计算机教育,2008,(10).

第2篇:计算机图形学论文范文

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

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

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

第3篇:计算机图形学论文范文

论文关键字:计算科学计算学科计算机语言计算机软件网络和病毒

论文摘要:计算科学主要讲述了一种科学的思想方法,计算科学的基本概念、基本知识它的发展主线、学科分支、还有计算科学的特点、发展规律和趋势。

引言:随着存储程序式通用电子计算机在上世纪40年代的诞生,和计算科学的快速发展以及取得的大量成果。计算科学这一学科也也应运而生。《计算科学导论》正如此书的名字,此书很好的诠释了计算科学这一学科,并且指导了我们应如何去学好这一学科。使得我们收获颇多。并且让我深深的反思了我的大学生活。正如赵老师书中所讲的:“计算科学是年轻人的科学,一旦你选择了计算科学作为你为之奋斗的专业类领域,就等于你选择了一条布满荆棘的道路。一个有志于从事计算科学研究与开发的学生,必须在大学几年的学习中,打下坚实的基础,才有可能在将来学科的高速发展中,或在计算机产品的开发和快速更新换代中有所作为。

<一>什么是计算科学和它的来历

计算科学主要是对描述和变换信息的算法过程,包括其理论、分析、设计、效率分析、实现和应用的系统研究。全部计算科学的基本问题是,什么能(有效的)自动运行,什么不能(有效的)自动运行。本科学来源于对数理逻辑、计算模型、算法理论、自动计算机器的研究,形成于20世纪30年代的后期。

随着存储程序式通用电子计算机在上世纪40年代的诞生,人类使用自动计算装置代替人的人工计算和手工劳动的梦想成为现实。计算科学的快速发展以也取得大量成果,计算科学这一学科也也应运而生。

<二>计算科学的发展

a、首先先介绍图灵机

图灵机的发明打开了现代计算机的大门和发展之路。图灵机通过一条两端可无限延长的袋子,一个读写头和一组控制读写头的(控制器)组成它有一个状态集和符号集,而此符号集一般只使用0和1两个符号。而就是这个简洁的结构和运行原理隐含了存储程序的原始思想,深刻的揭示了现代通用电子数字计算机的核心内容。现在通用的计算机是电子数字计算机,而电子数字计算机的发展是建立在图灵机的基础之上。他的二进制思想使计算机的制作的简化成只需两个稳定态的元器件。这在今后的计算机制作上无论是二极管或集成电路上都显示了明显的优越性。

b、计算机带动的计算学科

1946年随着现代意义上的电子数字计算机ENIAC的诞生。掀起了社会快速发展的崭新一页。计算机工作和运行就摆在了人们的面前。

1、计算机语言

我们要用计算机求解一个问题,必须事先编好程序。因此就出现了最早的机器指令和汇编语言。20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言ShortCode出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。还有用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。

2、计算机系统和软件开发方法

现代意义上的计算机绝不是一个简单的计算机了而也包括了软件(系统软件、应用软件)。各种各样的软件使得计算机的用途大大增强。而软件开发也成为了一个重要课题和发展方向。软件开发的理论基础即是计算模型。随着计算机网络、分布式处理和多媒体的发展。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计在程序设计语言中已非常的流行。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础----计算模型

3、计算机图形学

在计算机的硬件的迅速发展中。随着它的存储容量的增大,也掀起了计算机的巨大改革。计算机图形学、图像处理技术的发展,促使图形化界面的出现。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。图形化界面的出现,彻底改变了在一个黑色的DOS窗口前敲代码输入控制命令的时代。同时也成就了一个伟大的公司Microsoft。

4、计算机网络

随着用户迫切需要实现不同计算机上的软硬件和信息资源共享。网络就在我们的需求中诞生了。网络的发展和信息资源的交换使每台计算都变成了网络计算机。这也促进计算机的发展和广泛应用。

<三>计算机学科的主线及发展方向

围绕着学科基本问题而展开的大量具体研究,形成学科发展的主流方向与学科发展主线和学科自身的知识组织结构。计算学科内容按照基础理论、基本开发技术、应用以及他们与硬件设备联系的紧密程度分成三个层面:

1、计算科学应用层

它包括人工智能应用与系统,信息、管理与决策系统,移动计算,计划可视化,科学计算机等计算机应用的各个方向。

2、计算科学的专业基础层

它是为应用层提供技术和环境的一个层面,包括软件开发方法学,计算机网络与通信技术,程序设计科学,计算机体系结构、电子计算机系统基础。

3、计算科学的基础层

它包括计算科学的数学理论,高等逻辑等内容。其中计算的数学理论涵盖可计算性与计算复杂性理论形式语言与计算机理论等。

<四>计算机的网络的发展及网络安全

(1)计算机网络与病毒

一个现代计算机被定义为包含存储器、处理器、功能部件、互联网络、汇编程序、编译程序、操作系统、外部设备、通信通道等内容的系统。

通过上面定义,我们发现互联网络也被加入到计算机当中。说明了网络的重要以及普及性。21世纪是信息时代。信息已成为一种重要的战略资。信息科学成为最活跃的领域之一,信息技术改变着人们的生活方式。现在互联网络已经广泛应用于科研、教育、企业生产、与经营管理、信息服务等各个方面。全世界的互联网Internet正在爆炸性的扩大,已经成为覆盖全球的信息基础设施之一。

因为互联网的快速发展与应用,我们各行各业都在使用计算机。信息安全也显得格外重要。而随着计算机网络的发展,计算机网络系统的安全受到严重的挑战,来自计算机病毒和黑客的攻击及其他方面的威胁也越来越大。其中计算机病毒更是很难根治的主要威胁之一。计算机病毒给我们带来的负面影响和损失是刻骨铭心的,譬如1999年爆发的CIH病毒以及2003年元月的蠕虫王病毒等都给广大用户带来巨大的损失。

我们想更好的让计算机为我们服务,我们就必须很好的利用它,利用网络。同时我们也应该建立起自己的防护措施,以抵抗外来信息的侵入,保护我们的信息不受攻击和破坏。

(2)计算机病毒及它的防范措施:

计算机病毒是一组通过复制自身来感染其它软件的程序。当程序运行时,嵌入的病毒也随之运行并感染其它程序。一些病毒不带有恶意攻击性编码,但更多的病毒携带毒码,一旦被事先设定好的环境激发,即可感染和破坏。

<一>、病毒的入侵方式

1.无线电方式。主要是通过无线电把病毒码发射到对方电子系统中。此方式是计算机病毒注入的最佳方式,同时技术难度也最大。可能的途径有:①直接向对方电子系统的无线电接收器或设备发射,使接收器对其进行处理并把病毒传染到目标机上。②冒充合法无线传输数据。根据得到的或使用标准的无线电传输协议和数据格式,发射病毒码,使之能够混在合法传输信号中,进入接收器,进而进人信息网络。③寻找对方信息系统保护最差的地方进行病毒注放。通过对方未保护的数据链路,将病毒传染到被保护的链路或目标中。

2.“固化”式方法。即把病毒事先存放在硬件(如芯片)和软件中,然后把此硬件和软件直接或间接交付给对方,使病毒直接传染给对方电子系统,在需要时将其激活,达到攻击目的。这种攻击方法十分隐蔽,即使芯片或组件被彻底检查,也很难保证其没有其他特殊功能。目前,我国很多计算机组件依赖进口,困此,很容易受到芯片的攻击。

3.后门攻击方式。后门,是计算机安全系统中的一个小洞,由软件设计师或维护人发明,允许知道其存在的人绕过正常安全防护措施进入系统。攻击后门的形式有许多种,如控制电磁脉冲可将病毒注入目标系统。计算机入侵者就常通过后门进行攻击,如目前普遍使用的WINDOWS98,就存在这样的后门。

4.数据控制链侵入方式。随着因特网技术的广泛应用,使计算机病毒通过计算机系统的数据控制链侵入成为可能。使用远程修改技术,可以很容易地改变数据控制链的正常路径。

<二>病毒攻击的防范的对策

1.建立有效的计算机病毒防护体系。有效的计算机病毒防护体系应包括多个防护层。一是访问控制层;二是病毒检测层;三是病毒遏制层;四是病毒清除层;五是系统恢复层;六是应急计划层。上述六层计算机防护体系,须有有效的硬件和软件技术的支持,如安全设计及规范操作。

2.严把收硬件安全关。国家的机密信息系统所用设备和系列产品,应建立自己的生产企业,实现计算机的国产化、系列化;对引进的计算机系统要在进行安全性检查后才能启用,以预防和限制计算机病毒伺机入侵。

3.防止电磁辐射和电磁泄露。采取电磁屏蔽的方法,阻断电磁波辐射,这样,不仅可以达到防止计算机信息泄露的目的,而且可以防止“电磁辐射式”病毒的攻击。

4.加强计算机应急反应分队建设。应成立自动化系统安全支援分队,以解决计算机防御性的有关问题。

很多公司都有因为电脑被入侵而遭受严重经济损失的惨痛经历,不少普通用户也未能避免电脑被破坏的厄运,造成如此大损失的并不一定都是技术高超的入侵者所为,小小的字符串带给我们的损失已经太多。因此,如果你是数据库程序开发人员、如果你是系统级应用程序开发人员、如果你是高级计算机用户、如果你是论坛管理人员......请密切注意有关字符漏洞以及其他各类漏洞的最新消息及其补丁,及时在你的程序中写入防范最新字符漏洞攻击的安全检查代码并为你的系统安装最新的补丁会让你远离字符带来的危险。经常杀毒,注意外来设备在计算机上的使用和计算机对外网的链接。也可以大大有效的避免计算机被攻击。

第4篇:计算机图形学论文范文

1.1概述

当今社会正处在一个信息爆炸的时代,人们常常在茫茫的数据海洋面前显得不知所措,一时难以抓住隐藏在数据之中的本质、结构和规律。可视化[1-4]就是在这种背景下发展起来的,它把数据变换成易于被人接受和理解的形式——图形。可视化的前身是计算机图形学,今天它已经发展成为研究用户界面、数据表示、处理算法、显示方式等一系列问题的一个综合性学科,并成为人们分析自然现象、社会经济发展形势,认识客观事物本质和变化规律的得力助手。

根据侧重面的不同,可视化可以分成三个分支,科学可视化[4](Scientific Visualization)、数据可视化[1,5](Data Visualization)和信息可视化[12](Information Visualization)。科学可视化侧重科学和工程领域数据的可视化问题;数据可视化比科学可视化具有更广泛的内涵,它不仅包含工程领域数据的可视化,还包含其它领域(如经济、商业、金融等)中数据的可视化。而信息可视化一般是指Internet 网上超文本、目录、文件等抽象信息的可视化。

:30000多字

硕士论文,有目录及参考文献

400元

备注:此文版权归本站所有;。转贴于

第5篇:计算机图形学论文范文

关键词:非真实感绘制;笔刷模型;多风格绘制

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1629-03

Painterly Rendering Based on Brush Stroke

ZHAO Yang1, YANG Jian-lan2

(1.Yunnan Normal University, Kunming 650092, China; 2. Kunming Medical College, Kunming 650101, China)

Abstract: The paper presents a new method based on brush stroke to generate different artistic style painterly image. A painting is built up in a series of layers, drawn with large, long and curved brush strokes. Experimental results confirm that this method can create an oil painting with different artistic style from a photograph.

Key words: None-photorealistic rendering; Brush Stroke; Vary Style painterly rendering

1相关工作简介

计算机图形学领域是目前比较活跃的研究领域,相关技术可广泛应用于后期图像风格化处理、二维动画生成及数字娱乐行业。

自计算机图形学出现以来,对再现真实世界的追求一直是学术界努力的目标。经典的真实感图形学算法致力于产生仿真图像和场景,其对真实世界的再现,达到了使人无从分辨的程度[1]。

但是真实感绘制技术的也有其不足之处,为了避免这些不足之处,非真实感绘制作为其补充被带入了研究之中。非真实感绘制技术其英文全称为Non Photorealistic Rendering,简称NPR。经过十多年的发展,非真实感绘制技术取得了长足的进步,并且催生出不少优秀的成果。

无论是学术界还是工业界,研究者已经设计开发出了一系列的图像、视频特效处理技术和方法,但是其中只有很小一部分被成功地应用到电影动画制作,广告媒体宣传以及数字娱乐等方面。我们今天所看到的电影、电视绝大部分不是由真人扮演的动作影片,就是由超级图形工作站所渲染绘制出来的三维动画。虽然,学术界和工业界在对电影和动画的风格化绘制方面已经做了大量的试验工作,但是这些技术还没有能够得到广泛地应用。

1985年Susan Brennan在其论文中首次明确定义了肖像漫画的概念。她设计了一种能够生成肖像漫画的算法,并在此基础上开发了一套可交互的图形系统。给定输入的原始图像及参考人脸图像,经由用户交互,该系统可以生成具有漫画效果的肖像画。Susan Brennan的研究是该领域的开创性工作,随后Ergun Akleman提出了一种新的交互式2D变形技术,运用该技术可以使得人脸肖像变得更为夸张。总的来说,对于没有任何绘画经验的用户,运用该类系统都可以轻松设计出能够被大众接受的肖像漫画[2,3]。

但是其他一些研究者认为:肖像漫画作品的表现形式是多种多样的,不能仅限于Susan Brennan所界定的范畴。因此,Liang等研究者开发出一种新的肖像漫画自动生成系统。他们引入了机器学习的概念,训练数据就是某一漫画家所绘制的漫画作品。通过机器学习的方式,该系统可以自动学习和模仿特定的绘制风格,最后生成具有类似风格特征的肖像漫画[4]。P.Y.等人也开发了类似的软件平台。同样以漫画作品作为输入图像,他们所设计的算法能够准确分析人脸面部特征,快速的确定哪些面部部位可以变形,并确定调整的尺度。总的来说,运用该类系统可以更为快速的生成具有特定风格的肖像漫画[5]。

Mo及Eun-Jung Lee分别提出了一种基于特征方差分析的肖像漫画生成算法,该类算法可以生成具有非真实感效果的肖像漫画。把肖像漫画生成技术与非真实感绘制技术结合起来是一项较有新意的研究工作[6,7]。

除在学术研究领域外,苹果公司也开发了一款名为Photo Booth的小型软件投放市场。该软件具有17个内置的特效处理模块,运用这些功能模块可以把摄像头实时捕获的人脸视频转换为具有漫画效果的特效视频。开发人员还可以研发具有其他风格的特效处理模块,并且在线共享这些自定义的功能模块,供其他用户下载。这是一款非常有趣的数字娱乐软件,但是该软件目前还没有提供诸如卡通画,铅笔画等具有非真实感效果的处理模块。

虽然上述研究者及开发人员都提出了一些实际有效的算法,并且运用这些算法将输入的人脸图像或者视频转变为具有漫画效果的肖像画,但是这类算法没有能够把不同风格的特效处理模块融合到一个统一的软件架构内,同时各类原型系统的实时处理性能还较差。在商业领域,美国最先应用NPR技术于2006年生产制作了一部特效真人动画电影《黑暗扫描仪》(图1),这是对相关非真实感绘制技术能否应用到动画制作领域进行的一次全新的尝试。图1真人动画电影《黑暗扫描仪》剧照

在此基础上,美国又于2009年即将推出一部类似的特效真人动画电影《鱼年》(图2),该部电影的拍摄也是采用了相关的非真实感绘制技术进行后期加工与处理的。由此可见该项技术的应用是目前世界动画电影发展的一个重要趋势,但目前相关技术还不够成熟。

2基于笔刷模型的多层绘制算法

本节将介绍本文所设计的算法的基本原理。

2.1概念

定义1(输入图像):输入图像是用户采集的照片。令I表示输入图像。

定义2(笔刷属性):笔刷模型可取自如油画、水彩画或者其他任意画派的作品作为其原始图像。笔刷模型应包含以下属性:长度,宽度,透明度,颜色,中心点,笔刷方向。其中中心点为用户落笔点在图像中的坐标点位置,颜色为图像I中落笔点处的RGB颜色值,笔刷方向与用户指定的画笔方向一致[1]。(如图3所示)。图3笔刷模型属性描述

2.2基于笔刷模型的多层绘制算法处理步骤

Step 1:获取用户设定的画笔落笔点在图像空间中的位置(x,y),以此位置为画笔落笔点的中心点位置。

Step 2:获取用户设定的画笔落笔点在图像空间中的位置(x,y),以此位置的颜色值作为画笔的颜色。

Step 3:根据用户设定的画笔大小及方向,由大到小,重复步骤1到2在画布上进行多层绘制,得到最终绘制图像。

在绘制过程中,设f(x,y)为图像I;(x,y)分别为该图像的行列坐标;?xf(x,y),??yf(x,y)为画笔方向导数;gxf(x,y),?gyf(x,y)为该图的梯度单位向量的两个分量,则有:

gxf(x,y)=

3总结

本文提出了一种基于笔刷模型的算法,同时基于该算法设计了一个应用软件原型系统来交互式的绘制具有多种艺术风格的图像。实验结果表明,对于给定的输入图像该算法能生成具有多种风格的艺术图像。

4实验结果

图4,图5为采用不同样式的笔刷绘制出的相应风格的油画。

参考文献:

[1]赵杨,徐丹.基于笔刷的多风格艺术绘制[C].第十二届全国图象图形学学术会议论文集,2005.

[2]Susan E. Brennan: Caricature Generator.The Dynamic Exaggeration of Faces by Computer[J]. J Leonardo,1985, 18(3):170-178.

[3]Liang L, Chen H, Xu Y,et al. Example-based caricature generation with exaggeration[C]// New York:10th Pacific Conference on Computer Graphics and Applications,IEEE Press,2002:386-393.

[4]Akleman E,Palmer J,Logan R.Making Extreme Caricatures with a New Interactive 2D Deformation Technique with Simplicial Complexes[C].Proceedings of Visual 2000:165-170.

[5]Chiang P Y, Liao W H, Li T Y. Automatic Caricature Generation by Analyzing Facial Features[C]. Jeju Island, Korea:6th Asian Conference on Computer Vision (ACCV’04), 2004.

[6]Mo Z, Lewis J, Neumann U. Improved automatic caricature by feature normalization and exaggeration[C]// International Conference on Computer Graphics and Interactive Techniques (ACM SIGGRAPH 2004 Sketches), ACM Press, New York,2004:57.

[7]Lee Eun-Jung,Kwon Ji-yong,Lee In-Kwon.Caricature video[J]. J Computer Animation and Virtual Worlds,2007, 18:279-288.

第6篇:计算机图形学论文范文

较靠近的内容来写。多从网络上找资料,学习和练习。

“国内外研究现状”的撰写范文 在计算机图形学领域,三维可视化是一个重要的研究方向,许多研 究人员己经进行了大量卓有成效的研究,并有许多成熟的技术己经应用 到实际中,出现了大量的优秀的可视化软件产品,如3DMAX、MAYA、EVS、 AVS 等。这些产品主要应用于游戏、电影动画、工业设计以及其它专业领 域的研究,而与GIS 联系较少。 可视化理论与技术用于地图学与GIS 始于90 年代初。1993 年,国际 地图学协会(ICA)在德国科隆召开的第16 届学术讨论会上宣告成立可视化 委员会(CommissionOnVisualization),其主要任务是定期交流可视化技术 在地图学领域中的发展状况和研究热点,并加强与计算机领域的协作。 1996 年该委员会与美国计算机协会图形学专业组(ACMSIGGAPH)进行了跨 学科的协作,制订了一项称为“CartoProiect"的行动计划,旨在探索计算 机图形学领域的理论和技术如何有效地应用于空间数据可视化中,同时 也探讨怎样从地图学的观点和方法来促进计算机图形学的发展。1998 年 2 月由B.H.Mccormick 等根据美国国家科学基金会召开的“科学计算可 视化研讨会"的内容撰写的一份报告中正式提出了“科学计算可视化 (VisualizationinScientificComputing,简VISC)”的概念,从此标志着一门新 的可视化学科的问世。 三维GIS 研究主要集中在地形表面的重构、房屋建筑几何模型建立等 方面。特别是在地形表达方面尤为突出。长期以来,人们针对不同的应 用目的,依据各种数据模型、算法和数学理论,在现有的计算机发展水 平上建立了许多地形可视化模型。目前,常见的地形可视化有两种类型: 一是根据地学图形数据的精确描述,来进行真实地形的仿真;二是模拟 自然场景中的地形,常用于具有真实自然视觉效果的虚拟环境中。 在地形可视化建模方面大致可以分为如下三类: (1)数据拟合生成三维地形 这是一种传统的地形生成方法,是利用 常用的一些参数曲面,如Bezier 曲面、Coons 曲面、有理B 样条曲面,通 过插值、曲面拟合来生成所需要的三维地形。这种方法采用计算几何学

建模,是早期三维地形生成的方法。由于其数学计算的复杂性,对于复

杂场景来说,计算量大而且要采用较复杂的曲面拼接技术。只适合中小 规模的数据处理。另外,这种方法实际上是采用了欧式几何方法,而欧 式几何所描述的物体具有光滑的表面和规则形状,物体的形状可由方程 来描述。利用常用的参数曲面,通过插值、拟合来生成三维地形,也是 采用方程来对地形建模。但由于地形的不规则和复杂性,用这种方法得 到的地形真实感效果常不能令人满意。 (2)利用分形技术生成三维地形1973 年,曼德勃罗(B.B.Mandelbrot) 在法兰西学院讲课时,首次提出了分维和分形几何的设想。分形几何学 是一门以非规则几何形态为研究对象的几何学。由于不规则现象在自然 界是普遍存在的,因此分形几何又称为描述大自然的几何学。欧式方法 不能真实地描述这些物体,但可以用分形几何来真实地描述,是使用过 程而不是方程来对物体建模。分形几何具有无限以及统计自相似性的规 律,用递归算法使复杂的景物可用简单的规则来生成,可以生成任意水 平的细节,为我们提供了一个很好的描述一般地面形状的数学模型。由 于分形显示自然景物具有非常逼真的特点,自从分形技术产生以来,人 们就开始探讨用分形技术来生成三维地形,地景生成技术也达到了一个 新的阶段。采用分形技术来生成三维地形是目前地景生成的主要方法。 (3)基于数字地形模型的地形可视化。这种方法就是运用数字高程数 据构造多边形面,用多边形网格逼近。数字高程模型是针对地球表面实 际地形地貌的数字建模的结果。MilIerC.L 于20 世纪50 年代中期提出了 数字地形模型(DigitalTerrainModel,DTM)的概念,后来把基于高程或海 拔分布的数字地形模型称为数字高程模型(DigitalElevationModel,DEM), DEM 自20 世纪50 年代后期开始被采用以来,受到了极大的关注,在测 绘、地质、景观建筑、农业、规划、军事工程、飞行器与战场仿真等诸 多领域得到了广泛的应用。随着科学技术特别是计算机技术的迅速发展, 在DEM 的数据获取方法、数据存储和数据处理速度等方面取得了一些突 破性的进展。现在,随着各种精度级别的DEM 的普遍获取,过去许多潜 在的应用领域现在已变成十分重要的方面。

在三维空间数据结构算法方面,杨必胜、李清泉、史文中提出了一

种用于多分辨率三维模型快速生成和传输的稳健算法;龚健雅提出了面 向对象的矢量栅格集成数据模型:还有邓念东,侯恩科提出了一种顾及 维数的三维空间拓扑关系描述框架;齐安文,吴立新等重点研究了基于 三棱柱体体元在三维地质建模中的应用;曹彤,李颖研究用于三维GIS 的八叉树和四叉树算法等;Klein 采用一种与视点相关的TIN 数据结构来 表示交互中的集合信息,当视点改变时,采用Delaunav 三角剖分法重构 侧TIN;Luebke 等提出了一种基于顶点数的简化算法,它可以对任意几何 模型进行简化;Hoppe 将他提出的渐进式网格模型也应用到地形当基于 OpenGL 三维分形地形的可视化研究4 中,并且提供了与视点相关的支 持,为了避免三角剖分给全局带来影响,他在算法中将地形预先分成大 小相等的若干块,在块内进行渐进式网格剖分。由于不能解决拼接问题, 块与块没有简化,这在一定程度上影响了模型简化的效率。 近年来,国内外在空间信息三维可视化方面的研究工作主要集中在 以下两个方面: 1.运用动画技术制作动态地图,可用于涉及时空变化的现象或概念的 可视性分析; 2.运用虚拟现实技术进行地形环境仿真,真实再现地景,进行交互 观察和分析[15]。 空间信息三维可视化方面的研究存在的主要问题和解决途径。国内 外空间信息三维可视化方面的研究虽然取得了长足的发展和进步,但或 多或少都存在着不同程度的缺陷。其原因是多方面的,有客观因素,也 有主观因素,主要表现在: (1)研究团队过小。空间信息三维可视化方面的研究往往是由一个 单位、几个人开发与研制,其专业覆盖面窄,因此涉及领域非常有限, 所能投入的财力、物力等也非常有限。 (2)软件专用性较强,适用范围有限,通用性差。严格意义上来说, 空间信息三维可视化方面的研究软件还不能称之为软件,只能算是一个 针对特定问题的可视化计算程序。近几年,虽然不断的涌现出一些新的

算法,但仅能作为一些初步的尝试,距离应用其编制出成型的计算程序

来解决工程问题,还有相当漫长的道路。 (3)核心算法创新能力不足。算法是一个程序或软件的核心,但国 内外目前在空间信息三维可视化方面的算法研究方面,还停留在相互跟 踪国外研究的阶段,往往是国外学者提出了一种新的算法,国内再跟踪 研究,原始创新能力不足,这也是我国软件领域5 甚至整个科技领域普 遍存在的问题。 (4)商业化程度落后。 由于空间信息三维可视化方面的研究存在 着上述诸多问题,而对于从国外引进的一些商业软件,在具体使用时, 不可避免的要出现这样那样的问题。由于其代码的保密性,使我们不可 能进入程序内部去进行调试和加入自己的应用模块。因此,开发编写具 有自主知识产权的空间信息三维可视化方面的研究具有非常重要的学术 价值和很强的国防应用前景。 国内外空间信息三维可视化方面的研究的发展趋势。近年来,随着 计算机软、硬件技术的不断发展,空间信息三维可视化方面的研究内涵 也不断拓展,其发展趋势是: (1)驾驭式计算功能(computationalsteering):即以交互的方式监视 和干预计算过程,通过实时的可视化处理将计算结果图像提供给用户, 用户通过判断可随时更改计算参数,从而干预整个计算过程。 (2)虚拟现实技术:通过虚拟现实软件及设备将计算结果转换成3D 立体图像,使用户更加直观地了解发展过程。 (3)并行计算:由于基于微观、细观、宏观的多尺度计算方法的不 断发展,对计算能力提出了更高的要求,由此,多CPU 的分布式网络系 统将逐渐成为主流。 在数值方法方面,近年来,一些新的计算方法不断涌现,主要概括 如下: (1)高精度算法:上世纪80 年代以来,以TVD、ENO、WENO 为代表的高分辨率方法占据了计算流体力学发展的主流。近年来,数值 方法研究又有新的突破,一些新型算法已经出现,其中有代表性的算法 有美国学者S.C.Chang 提出的时空守恒元解元(CE/SE)方法、日本学者

提出的约束插值剖面算法(CIP 算法)、香港学者徐昆发展的动力差分算

第7篇:计算机图形学论文范文

论文摘要:分析了产品虚拟动态设计的一般过程,以数控车床关键部件一尾架为例进行研究。通过虚拟动态分析技术,确定了尾架系统是整机结构中的薄弱结构,存在动刚度严重不足的问题。根据新车床的结构布局情况,对尾架结构进行改造。改造后的尾架由上下2部分组成,CAE分析结果表明,其结构动刚度得到很大的提高,为数控车床整机的动态优化莫定了基础。

0前言

机械结构虚拟优化设计是以计算机建模和仿真技术为基础,集计算机图形学、虚拟现实技术、机械动力学、有限元分析、优化设计等技术为一体,由多学科知识组成的综合系统技术,是机械结构动力学设计技术在计算机环境中数字化、图像化的映射。本文分析了机械产品虚拟动态优化设计的一般过程,以数控车床关键部件一尾架为例,建立了三维可视化的有限元CAE模型,通过对模型进行结构分析,实现该部件结构的动态优化。

1机械结构虚拟动态优化设计过程

机械产品虚拟动态设计的一般过程是:先建立满足工作性能要求的产品初始CAD模型(初步设计图样),然后对产品结构进行动力学建模和动态特性分析,再根据工程实际情况,给出结构动态特性的要求或预定的动态设计目标,按结构动力学“逆问题”方法直接求解设计参数,或按结构“正问题”分析法,进行结构改进设计,直到满足预期性能设计要求,从而获得一个具有良好静、动态特性的产品设计方案,如图1所示。结构动态设计的主要内容包括:

(1)建立一个切合实际的结构动力学模型;

(2)选择有效的动态优化设计方法。

2机械结构建模分析及优化实例

以数控车床关键部件尾架为例进行研究。数控车床动态设计是在“正问题”处理方法的基础上进行的,数控车床共有零、部件800多个,其中对整机结构性能影响大的零、部件主要有以下几个:床身、主轴箱、尾架等。为使整机具有良好的动态性能,必须对关键部件进行优化。为此,应先建立数控车床主要部件的几何模型和满足其动力学特征的有限元模型,进行动态分析,根据动态分析的结果对原部件结构设计的薄弱环节进行动力学修改和结构分析优化,最终得到一个具有良好静、动态特性的产品设计方案。

数控车床的尾架安置在床身的尾架导轨上,并可沿此导轨调整其纵向位置。尾架套筒的锥孔装有后顶尖,用以支撑工件。由于尾架顶尖与主轴箱卡盘的同轴度直接影响着车床加工零件的精度,因此,尾架的结构是否合理对保证车床加工高精度很重要。

如图2为尾架系统的有限元模型,考虑到实际情况,将尾架导轨与两导轨座作为一体处理,尾架体与导轨之间以互为接触单元为主,每个导轨座均布4个全约束点,系统共有单元7 049个。得到尾架系统前三阶振型如图3(a),3(b),3(c)所示。表1列出了尾架系统计算频率及振型特性。

由分析可知,该尾架系统刚度很弱,相当于简支梁,是整机结构中非常薄弱的部分。综合新车床的布局,考虑铸造工艺性,尾架的导轨直接与床身一体,优化后的尾架由上下2部分组成,如图4所示,其有限元模型如图5所示。

建立改进尾架的有限元模型,系统共有2 210个体单元,对尾架上下2部分祸合12个节点,前三阶固有振型如表2所示。

由表2可知尾架的频率得到了很大的提高,振型也有了很好的改善。

第8篇:计算机图形学论文范文

随着科技的进步,数字技术得到了迅猛发展。1962年,伊凡・沙瑟兰德教授在美国麻省理工学院发表了题为《绘画板》的论文,首次提出“计算机图形学”的概念,确定了计算机图形学作为一个崭新的科学分支的独立地位,可以说这是数字技术应用于艺术设计的起点。20世纪90年代计算机艺术开始在我国得到普及和推广。如今,数字技术已交融于现代艺术设计的各个领域,给艺术设计的发展带来了前所未有的广阔空间。

二、数字时代艺术设计的特点

(一)数字化媒体的出现

伴随着娱乐文化、流行文化的发展和新媒体交流的普及,人们开始对交互式、影像化和视觉交流方式进行探索,更多的人开始探索虚拟空间,从中寻找和塑造自我理想的角色和形象。我们已不能再把设计理解为一个狭隘的概念,艺术设计也在渐渐地超越其原先的反响,走向越来越广阔的领域。

数字化媒体的出现,使得社会文化环境发生了质的变化,网络技术、数字艺术设计、数字电影电视、多媒体广告短片等新兴科技在不断地挑战传统艺术设计形式的同时,也在充实传统艺术设计的内涵和外延。多元化的视觉观念也暗示新的视觉传达方式将要打破传统设计门类的界限,让艺术设计成为一种能够融合多种学科的载体。

(二)创新意识的培养

数字艺术设计不但要重视电脑技术的操作,更要重视设计艺术的表现,尤其要重视创新意识的培养。课堂上学生虽然对电脑设计软件操作得很熟练,但是做的作业往往缺乏新的创意,也无法表现出自己的想法,或者根本没有想法。为了改变这种不良现状,教师在教会学生电脑技术的同时应结合专业特点,启发和引导学生如何运用电脑技术去创造符合人们审美要求的新形态。

(三)数字时代艺术设计的非物质化

新的社会形态中,设计艺术的形式内容发生了很大的变化。数字技术的发展为设计艺术创作提供了新的创作方式和设计语言,人们的一切艺术想象几乎都可以变为现实。这样的背景下,设计艺术的重心已经逐渐脱离物质层面而向精神层面靠拢,设计从静态的、理性的、单一的、物质的创造向动态的、感性的、复合的、非物质的创造转变。艺术的本质体现为自由的创造,非物质设计的发展使得过去功能性较强的设计艺术特质中艺术的成分越来越多,设计内容变得越来越艺术化。全新的技术手段不仅给人们带来了全新的思维空间和视觉空间,也带来了新的感官需求和心理需求。

三、数字时代艺术设计的发展趋势

(一)数字时代把现代艺术设计推上了崭新的发展平台

数字技术以其独特的方式进入到现代艺术设计领域,是社会进步和历史发展的必然。随着计算机软硬件的发展和普及,数字技术已融入到现代艺术设计的各个领域。现代艺术设计与数字技术已密不可分,它不仅融入了传统设计文化和设计思维,而且拓展了艺术设计的视觉语言、表现形式,改变了我们的设计方法、丰富了我们的设计思维,延伸了新时代的艺术设计的价值内涵。

(二)数字时代拓展了现代艺术设计的创意思维和表现手法

设计离不开它所处的时代,如果说工业革命促进了设计的发展,那么数字技术的发展必将促进现代艺术设计发生前所未有的飞跃。数字技术的发展预示着现代设计新纪元的到来。速度、效率、便捷等等都是数字时代带来的优点,设计的创意思维方式,设计的形式语言,设计的执行力度都因数字时代的到来发生了根本性的变化。设计多元化的今天,如何充分利用数字技术拓展的空间,引领现代艺术设计的发展,创建融民族特色、人文特点、独居个性特质为一体的设计文化,都给我们提出了新的挑战。

(三)数字时代推动了现代艺术设计的教育改革

百年大计,教育为本。这些年来,我国高等艺术设计教育发展迅猛,但教学质量的低劣和就业压力的加大也引起了人们对高等艺术设计教育的普遍担忧。受传统教育模式思想的束缚,教学内容陈旧、方法死板,导致学生毕业后不能直接胜任其岗位的工作、缺乏设计创新能力和设计执行能力等等都值得我们深思。艺术设计教育可谓是任重而道远。我国的现代设计教育在观念及形式表现上都备受东西方文化思潮和艺术风格的影响。

随着经济改革的迅速深入,我们的设计教育必须跟上并超越时代的发展,为社会培养出更多合格的设计人才以满足市场需求,因此,新型的设计素质教育已经刻不容缓。作为一个学科,我们要在设计教育多元化中构建现代艺术设计人才培养和评价的理论体系。新科技、新思想、新设计意识形态的变化,更需要强化数字时代人才培养的观念意识。

四、结语

21世纪充满着希望和挑战,数字化艺术作为传统设计的延伸和升华,更有赖于数字技术与艺术的结合。创愈是设计的生命、是致胜的法宝,它贯穿于设计艺术的整个领域,不论是传统艺术设计还是现代艺术设计都一样。科技的进步已经缩短了人们交往的距离,跨越了国界的概念,作为正在对社会作出贡献的艺术设计者和艺术设计教育工作者,一定要时时刻刻关注世界上的各种新的设计潮流,以便能够对设计的发展趋势作出正确的理解和判断,及时对世界的这种飞速发展有充分的心理准备,走在时代的前列,为现代艺术设计作出贡献。

参考文献:

[1]塞尔西.马卡拉.动画设计基础教学[M]. 南宁:广西美术出版社,2009.

[2]钱俊,何炎祥.数字多媒体艺术[M]. 武汉:武汉大学出版社,2007.[3]李佳一.论数字时代艺术本体的嬗变[J].美与时代(上),2011,(01).

[4]尚雅莉.从信息数字时代看现代艺术设计教学的变化[J].包装世界,2010,(03).

[5]许文娟.数字时代的艺术设计发展[J].科技创新导报,2009,(35).

第9篇:计算机图形学论文范文

关键词:OpenGL,三维物体,建模

 

0 引言

随着计算机技术的飞速发展,三维立体图象技术也得到了快速的发展,为虚拟现实技术提供了越来越好的软硬件环境,这为设计界广泛采用虚拟现实技术提供了有力的支持。

1 OpenGl简介

OpenGL即开放性图形库(Open Graphic Library)是一个三维的计算机图形和模型库,也似该领域的工业标准。它是一种高性能的开放式且功能强大的3D图像库,具有几百个指令和函数。OpenGL灵活方便的实现了二维和三维的高级图形技术,在性能上表现得异常优越,它具有建模、变换、光线处理、色彩处理以及动画等能力,在图形效果处理上增加了纹理映射、物体运动模糊效果和雾化效果等等。

2使用专业建模软件建模并向OpenGL转化

工业产品设计中的三维模型均是由3DS MAX等专业建模软件构造而成。但是由于3DS MAX交互性较差,而且3DS MAX模型的默认存储格式max,不易被交互性灵活的OpenGL所读取。因此,我们采用3DS MAX模型的另一种易于OpenGL读取的文件格式3ds作为三维模型的存储格式,然后将模型通过OpenGL导入三维场景并实现交互性操作。图2.1和图2.2所示的模型为在专业建模软件3D MAX中创建的两个模型。下面,具体介绍一下将3ds文件导入OpenGL的实现过程。

图2.1 变压器 图2.2 安全器材

2.13ds模型的数据结构

3DS格式文件是一种二进制数据文件,它由块(chunk)组成(见图2.3)。每个块包括块的索引(ID:Indentification)、块所包含的内容、块的组成以及下一个块的位置。论文大全。

图2.3 块结构图

在3DS文件中,判断1个块所存储的内容是由通过这个块的索引(ID)来实现的。不同类型的块具有不同的ID。3DS文件本身有1个主块(MainChunk),这个主块的ID为4D4D。主块始终出现在文件的开始处,通过对文件开始的两个字节内容进行判断,便可知道当前操作的文件是否为3DS文件,这样就可以避免打开不正确类型的文件。

为保证文件结构的完整性以及可操作性,不同的块在文件中是按一定的体系来存储的。在这个体系中,主块(Main Chunk)在最顶端,在主块之下嵌套了各个子块,并且子块之间也是相互嵌套的。这样,块与块之间的关系得到了体现,方便了读取。比如作为整个场景的环境设置(包括视点、光源、材质等)放在其他实体块的前面,对这些实体产生作用。图2.4简单描述了在3DS文件中块与块之间的相互关系。

图2.4 3ds文件结构

由图2.4可以看出,该体系结构和真实环境中的场景构造类似。在该体系结构中,EDIT-OBJECT块(ID为4000)特别重要。论文大全。因为它记录了所需要的各种三维实体的坐标、纹理等数据,正确地对它们进行操作是生成具有真实感图形的保证。

在3DS文件中,每个实体都是由三角形面片组成的。这样,一个三维模型(3DModel)包括一个或多个三维实体(3DObject),一个三维实体又由一个或多个面片(CFace)组成。在记录数据的时候,三维实体的块当中记录了一系列的三维空间坐标和二维纹理坐标,而每个面片块中则通过对这些坐标的索引来表示面片在空间中的位置以及对应的纹理。

材质块中记录了用于检索该材质的名称,如果材质是由文件来创建的,则包括文件名,否则记录材质的颜色。在三维模型当中记录了一个或多个材质(CMaterialInfo),在实体当中则通过对材质的索引来决定当前实体引用了哪个材质。

2.23ds数据模型的读取

根据以上对3DS数据模型结构的分析,能够应用面向对象的方法设计一种能方便、快速、准确对3DS文件进行读取的方法。图2.5是针对3DS文件中三维实体的组成情况而设计的类结构,由此解决3DS模型中数据的存储。

其中的CVector2类和CVector3类存储二维和三维数据,用于记录空间坐标以及纹理坐标。C3DModel类包含了整个三维模型,它由若干个三维实体(用C3Dobject存储)和若干个材质信息(用CmaterialInfo存储)组成。论文大全。C3Dobject中记录了组成这个实体的顶点数量、顶点坐标列表、面数量、纹理坐标列表以及这个实体的材质信息。CFace类记录了组成某个面的纹理坐标索引和地理坐标索引。

图2.5 类关系图

根据3DS文件中各个块之间的嵌套关系,设计了一种递归读取的方法。函数ReadChunk用于读取每个块的开头所记录的块索引(ID)和块的长度。在读取文件的第1个块时,通过索引来判断当前打开的是否为合法3DS文件(索引为4D4D),如果是,则通过调用ReadNextChunk函数将程序带入递归过程。

在ReadNextChunk函数中,同样首先需要调用ReadChunk来读取块索引和块的长度,由块索引来判断块的类型,由块的类型来决定如何读取接下来的数据。在这个过程当中,ReadChunk和ReadNextChunk将会被反复调用。

在读取一个块的时候,始终记录了当前块的大小以及已经读取的数据大小,这样通过比较这两个数值可以知道当前的嵌套块是否读取完成。例如,对于主块(Main Chunk),它贯穿文件的始终,因此,它的大小即代表整个文件的大小,它的结束也代表了这个三维模型的结束。前面说过,块与块之间是相互嵌套的,因此在主块(MainChunk)中就包括了其他的子块,而这些子块又可能包含其自已的子块。通过分别记录每个块的长度和已经读取的数据长度便可以正确控制块的读取顺序。图2.6是读取过程的流程图。

图2.6读取3DS文件的流程图

配合着OpenGL在计算机中生成的虚拟环境,程序将3ds文件读入虚拟环境的运行结果如图2.7所示。这样我们就可以很方便地将3D模型移植到其他的计算机平台当中,从而更好地对产品进行设计和分析。

图2.7 运行效果图

3 结束语

本文分析了基于OpenGL三维建模的实现方法, 使用专业软件建模,再转化为OpenGL程序的方法可以避免直接使用OpenGL建模的复杂工作,又可以通过OpenGL程序进行控制,且模型的外观也更精细,是一种很实用的建模方法。

目前,三维图像技术在军事、医药、商业和娱乐各个领域应用都非常广泛,研究三维建模技术对工业产品的进一步发展具有十分重大的意义。

参考文献

[1]向世明. OpenGL编程与实例[M]. 北京:电子工业出版社,1999

[2]Hearn D,Baker M P. 计算机图形学(第三版)[M]. 蔡士杰等译. 北京:电子工业出版社,2005