首页 > 文章中心 > 计算机图形学技术

计算机图形学技术

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机图形学技术范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

计算机图形学技术

计算机图形学技术范文第1篇

摘要:本文综述了几种不同类型的高级计算机图形学建模技术,然后介绍了计算机图形学高级建模技术的发展方向。

关键词:分形;隐式表面;体绘制;基于图像的建模

中图分类号:G642

文献标识码:B

1介绍

在过去近50年里,计算机图形的建模技术作为产生、描绘自然界中的复杂物体的一个领域,已经取得了重大进展。物体形状由方程来描述的欧氏几何方法,难以真实地描述复杂的自然景物和复杂的人造物体。解决这一问题要使用过程而不是使用方程来对物体建模。这些高级建模技术旨在提供一种精确、有效、灵活并易于控制的机制去详细描述复杂物体和自然现象。大多数的这些高级建模技术可以视为过程性的建模技术:编码部分或算法部分用于抽出细节特征并进行编码,而不是显式的存储数目庞大的低层图元。这种算法免除了卡通画作者低层次控制的负担,提供了极大的灵活性并能用参数控制实现设计目标。由很少的几个参数就能产生极其多的几何细节。在这里,我们将综述几种高级建模技术,尤其是过程性技术。

2几种过程性技术

(1) 容积程序模型。这是一种过程性建模技术,用算法定义三维物体和自然现象,这种方法已被用来模拟火、烟火、云、雾和水等。容积程序方法接受的参数有:一个输入某点在空间的位置的参数、一个时间参数、以及若干描述被模拟物体的参数,并返回被模拟物体在给定空间位置的密度和颜色值。因此,复杂的有容积的现象就可仅用很少几个参数去描述。这种方法已被成功地用来产生真实的岩石、编织图案、烟火和兽类的皮毛等。

(2) 分形。分形有一个精确的数学定义,但在计算机图形学中,分形一般被扩展到在很大程度上自相似的模型。大多数分形在一定的标度范围内不断放大其任何部分,其不规则程度都是一样的,这个性质称为比例自相似性;而按照统计学的观点,其任一局部经移位、旋转、缩放变换后与其他任意部分相似。这两个性质揭示了自然界中一切形状及现象都能以较小或部分的细节反映出整体的不规则性。我们可用一个过程来描述分形物体,该过程为产生物体局部细节而指定一重复操作,自然景物的图形显示仅用有限步即能生成。很多自然景物如山脉、海岸线、树、植物、水、云、等都可用分形的方法生成。一般来讲,根据是否具有随机性将分形大体分为不变分形和随机分形。

在计算机图形学中,随机分形常用来模拟自然物体,尤其是地面形状。大多数地面生成算法使用递归和伪随机摄动,先定义一个初始表面,并进行相等细分。算法执行时,新点增加并被从初始表面上移位。随着迭代次数的增加,在每次迭代中都减少一个位移量值。这样一来,第一次迭代时在初始表面上产生一个大的山峰,随后,细化增加小规模细节。定义一个极其复杂的地面,仅需要随机生成元、表面粗糙度等控制参数。近年来,分形方面的工作包括扩散受限模型和多维分形的应用。多维分形在模型中使用不同的分形维数以更好地模拟地面形状。图1和图2分别是用分形技术产生的分形山和分形植物。

(3) 基于语法的模型。基于语法的模型,主要是L―系统,能用较少的几个参数描述自然界的复杂物体。基于语法的模型被用来产生实际的树、植物、贝壳等的模型和图象。这些模型用形式化的语言、并行图语法(即L―系统)从算法上描述自然界物体的结构。在自相似性上与不变分形密切相关,但不满足分形的精确的数学定义。L―系统是一种形式语言,在这种形式语言中,所有规则都并行使用以提供一个描述物体的最终的“句子”。在L―系统中,每个终结符表示物体的一部分,一个定向指令被一个三维画图机制解释。构造树的句子包含很多“词汇”,它们分别描述树的枝、长、大小、树枝和树干的角度以及树枝和其上叶的连接等。更复杂的L-系统,如IL-系统,含有上下文感受性、词汇寿命信息以及按统计规则进行的计算,这可使每个植物都与众不同。在L-系统方面,近来的工作已能更好地开发更先进的生物学上的基于生长的模型,结合以更多的生长参数和环境效果。图3是用L―系统构造的植物。

(4) 隐式表面。以上所讨论的几种建模方法主要用于模拟自然界的复杂物体,而隐式表面技术主要用于模拟有机形状,复杂的人造形状及“柔性”物体。这些物体用传统的方法难以凑效,与参量表面相比,隐式表面是一种更精确地表示,在模拟和对柔性物体着色时更具灵活性。隐式表面是由混合图元产生的均值表面。这些混合图元由形如 F(x,y,z)=0的隐式方程表示。每个图元都是一个过程,它返回由隐式方程定义的区域的值。隐式表面的一个主要特征是过程性平滑的,常常是卷保护的混合图元从简单图元形成十分复杂的表面,物体定义成不同的分支,这些分支又由一系列混合的骨架元素(点、线、多边形、球、椭圆等)定义。隐式表面的建模和着色通过控制骨架元素和着色函数来完成的。这些骨架元素和着色函数就能生成复杂的模型和动画。上世纪80年代出现的元球造型技术就是一种隐式曲面造型技术,它采用具有等势场值的点集来定义曲面。当元球相互靠近到一定的距离就产生变形,在进一步靠近时则融合成光滑表面。两个元球所能生成的形状相对较简单,但采用多个元球却能生成非常复杂的形状。这种方法所需的数据量通常要比用多变形造型少2到3个数量级,很适合表示可变形的物体、人体、动物器官和液体的造型如图4。近几年隐式表面方面的工作已将其应用扩展到特征模型和动画、人像建模、由加入的CSG算子来表示刚体等领域。

(5) 粒子系统。粒子系统不同于前面几种技术,它用一个庞大的几何图元数据库去描述自然物体(模糊物体)。表示物体的微粒的动画、位置、产生和死亡是由算法控制的。微粒系统用以模拟自然景物或模拟其他非规则形状物体,尤其长于描述随时间变化的物体,如云、烟、烟火、水幕、水滴和草丛、雪、雨、树等如图5。

粒子系统物体用一个庞大的且非常简单的有几何图形的微粒集合来表示。这些微粒随时间变化而随机地改变。程序中只使用很少几个控制参数。除了有几何形状的微粒外,具有可控制随机微粒动画程序的微粒系统,控制着微粒的产生、运动和死亡。这些动画程序中,微粒运动由重力场等给定的力来控制。生成粒子系统某瞬间画面的基本步骤是:

① 生成新的粒子并加入系统中;

② 赋予每一粒子以一定的属性;

③ 删除那些已经超过其生命周期的粒子;

④ 根据粒子的动态属性对粒子进行移动和变换;

⑤ 绘制并显示有生命的粒子组成的图形。

微粒的形状可以是小球、椭球、立方体或其他形状,微粒的大小随时间的变化而变化。每个微粒运动时,其路径被绘制并以特殊颜色显示。例如,火焰可以用在一个球域内的随机生成微粒来显示,并允许这些微粒向外快速移动,微粒路径用黄色到红色来着色。由于数目庞大的图元的存在,造成了微粒系统特殊的着色问题。不过,包括统计着色算法这样的专门技术已经建立,可以用来解决微粒系统的着色问题。电影《龙卷风》中许多出神入化的效果就是采用Alias|Wavefront软件的粒子系统制作的,它所模拟的火光、烟雾等特殊光效已经广泛应用于电影行业并多次荣获大奖。

(6) 基于物理的建模。许多物体的行为和形状是由物体宏观的物理特性所决定的,基于物理的建模技术就是使用这些物理特性去决定物体的形状(甚至在某些情况下,决定他们的运动)。在这类建模技术中,图形学和其他科学的区分是非常模糊的。这种方法描述了物体在内外力相互作用下的行为。例如,织物怎样覆盖在物体上是由表面的摩擦力、织物以及物体的力产生的内部应力和应变所决定的。悬挂在两个柱子之间的链子表现出的弧形是由重力和相邻的链子为保持不分离拉力决定的。这些方面较为成功的例子有基于约束的建模,布面和柔软表面的建模,实体建模和地形建模。

(7) 体绘制。体绘制技术是将三维空间数据场的样本直接转换为屏幕上的二维图像,尽可能准确地重现原始的三维数据场。其实质是将离散的三维空间数据场转化为离散的二维数据。因此,首先必须进行三维空间数据场的重新采样,其次,应该考虑三维空间中每一个数据对二维图像的贡献,必须实现图像的合成。所以,体绘制技术的实现是一个三维离散数据场的重新采样的图像合成的过程。理论上,实现重新采样有几个步骤:

① 选择适当的重构函数,对离散的三维数据场进行三维卷积运算,重构连续的三维数据场;

② 对连续的三维数据根据给定的观察方向进行几何变换;

③ 由于屏幕上采样点的分辨率是已知的,由此可计算出被采样的信号的Nyquist频率极限,采用低通滤波函数去掉高于这一极限的频率成分;

④ 对滤波后的函数进行重新采样。

体绘制是一个显示标量场的过程。现在提出的方法可分为两大类:计算层次曲面的一类和显示沿着光线的密度积分的一类。如果可用动画,第三类方法可能是:数据的一系列的二维切片被连续计算和显示,用颜色和高光去显示切片上每一点的标量值。如果可以交互控制层次和切片方向,这种方法可以给出标量场内部结构的精彩图像,如图6所示。

(8) 基于图像的建模。

基于图像的建模就是通过照片恢复出被拍摄物体的三维模型,不仅要计算出大小、相对位置关系,同时还有纹理信息,在此基础上进行绘制而得到新的结果;其最大的好处是便于修改,但对稍复杂的场景,恢复三维模型的难度很大。通过图像构造具有照片真实感的三维场景,许多人已经做了大量的工作。一种比较初步的恢复三维模型的方法是使用深度图像,图像中不仅能得到颜色信息,还包含深度信息,因此可以通过一幅图像得到三维模型。但一般情况下深度信息很难通过普通设备得到,因此受到很多限制,而更多地采用通过多幅图像的方法。其中一个关键问题是如何获得照相机的参数。通常的做法是将目标物体放置于一个可旋转的平台上,照相机位置固定,拍摄不同角度下的图像,照相机的参数可以由一个标准物体来获得,再应用到目标物体上。或者利用一种定义好的模式图案,与目标物体同时进行拍摄,然后用图像处理的方法通过计算机自动识别。在得到照相机参数的基础上,根据图像之间的颜色差异恢复模型,出现了许多方法,如Seitz 提出的Voxel Coloring 算法,Kutulakos 提出的Space Carving 算法等,都取得了很好的效果。但是,由于场景的复杂性,以及从三维到二维过程中信息的丢失,目前的方法基本都处于研究阶段,难以达到实用的要求。这种挑战性也正是许多人热衷于此研究的原因之一。图7图8是基于图像的建模实例。

3以后的研究方向

高级建模技术在计算机图形学中将继续起着重要的作用。随着计算机功能的日益强大,能被描绘的复杂性将会增加。然而,人们并不具备确定更多几何复杂性的能力。因此,过程技术及其增强用户规格说明和控制的能力是唯一可行的替换方法。这将涉及到这些技术确定和控制具有少数用户规格说明参数的不现实的详细的建模的能力。更多的工作需要考虑以用户可理解的术语来进行高级控制和规格说明。另一方面,更复杂的算法和改善的基于物理方法的模拟将被合并到这些过程中。最后,类似于Sims[1994],过程模型通过人工进化技术来自动生成将大大增强这些高级模型化技术的能力和应用。

参考文献:

[1]Ebert, D., Musgrave, F.K., Peachey, D., Perlin, K., and Worley, S. Texturing and Modeling: A Procedural Approach[M].

AP Professional, Boston, MA. 1994.

[2]Peiteng, H.O., Jurgens, H., and Saupe, D. Choas and Fractals: New Frontiers of Science[M]. Springer-Verlag, New York. 1992.

[3]郑会水,肖田元,王新龙,韩向利. 分形及分形图象压缩技术[J]. 中国图形图象学报,1998,3(11).

[4]Reeves, W.T. and Blau, R. 1985. Approximate and probabilistic algorithms for shading and rendering structured particle systems[J]. Comput. Graph. 1985, 19(July): 313-322.

[5]Donald Hearn,M.Pauline puter Craphics(c version)[M]. Prentice Hall International, Inc.1997.

[6]Smith, A.R. Plants, fractals and formal languages[J]. Comput. Graph. 1984,18 (July): 1-10.

[7]W. Niem, R. Buschmann. Automatic Modeling of 3D Natural Objects from Multiple Views[A]. European Workshop on Combined Real and Synthetic Image Processing for Broadcast and Video Production, 1994: 23-24

[8]J. Shade, S. Gortler, L. Hey, R. Szeliski. Layered DepthImages[A]. In: Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, Los Angeles, California, 1997.

[9]S. M. Seitz, C. R. Dyer. Photo-realistic Scene Reconstruction by Voxel Coloring[A]. Proceedings, Computer Vision and Pattern Recognition Conference, Puerto Rico, 1997: 1067-1073.

[10]K. N. Kutulakos, S. M. Seitz. A Theory of Shape by SpaceCarving[J]. International Journal of Computer Vision, 2000, 38(3): 199-218.

Advanced Modeling Techniques for Computer Graphics

计算机图形学技术范文第2篇

>> “计算机图形学”教改研究与实践 “计算机图形学”课程教与学 计算机图形学实验课程改革探讨 “计算机图形学”课程建设探究 计算机图形学课程教学思考 论“计算机图形学”课程的学习 “计算机图形学”课程教学探讨 计算机图形学课程双语教学感想 计算机图形学的发展及应用 《计算机图形学》教学探索与实践 计算机图形学教学与实践 浅析计算机图形学、计算机视觉与可视化技术 计算机图形学与图形图像处理技术探讨 计算机图形学与图形图像处理技术浅析 计算机图形学与图形图像处理技术 信息与计算科学专业计算机图形学课程教学改革实践 面向游戏开发方向的“计算机图形学”课程建设探讨 信息与计算科学专业《计算机图形学》教学之探讨 系统案例教学方法在计算机图形学课程中的应用 《计算机图形学》课程双语教学实施的研究 常见问题解答 当前所在位置:.

[3] 孙迪,余胜泉. 建构基于学习对象的网络课程教学设计模板[J]. 开放教育研究,2005,11(2):71-77.

The Exploitation and Application Research of Web-based Course of Computer Graphics

DU Hui, SHU Lian-qing

(ZheJiang institute of media and communication, Hangzhou 310018, China)

计算机图形学技术范文第3篇

关键词:计算机图形学;教学改革;OpenGL

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

“计算机图形学”是研究如何利用计算机显示、生成和处理图形的原理、方法、技术的一门学科,是计算机科学中发展最活跃、应用最广泛的分支之一。在计算机科学与技术专业新一轮教学改革中,确定了计算机科学方向的16门主干核心课程,计算机图形学就是其中之一。

1 “计算机图形学”实验课程存在的问题及改革的方向

国内“计算机图形学”的教学过分强调图形学的数学基础,使得“计算机图形学”成为计算机及其相关专业学生很难掌握的一门课程。这种强调数学基础的教学方式适合数学基础优秀的学生,对于数学基础一般的学生难以适用,往往造成很多学生有厌学、为难的情绪。如何让学生更好地掌握图形学的相关理论知识呢?注意到图形学的输出结果和相关应用是最吸引学生的,于是,通过“计算机图形学”实验的演示、验证和开发,来巩固学生对计算机图形学知识的理解,就显得非常有必要。

计算机软硬件技术的发展,致使计算机图形学实验开展的范围和形式也发生了一些改变。十年前,计算机图形学的实验往往在Turbo C下,用graphics.h下定义的图形函数进行程序的编写。在这个环境下,只能进行一些最基本的二维图形生成、填充、变换的实验,程序复杂,不能进行三维图形生成、纹理贴图、光照、视点变换等等这些实验,极大的限制了计算机图形学实验的开展。如今,计算机技术有了飞跃式的发展,改革计算机图形学实验势在必行。

我校的计算机科学与技术专业从2002年开始,在计算机图形学实验中引入了OpenGL,所有实验都要求在安装了GLUT的Visual C++ 6.0的环境下进行。

八年的教学表明,利用OpenGL开展图形学实验,对学生理解相关的图形学知识,提升学生学习的兴趣,提高学生在图形图像方面的程序开发能力非常有好处。结合多年教学的经验,针对计算机图形学实验中引入OpenGL后一些需要注意的问题,特撰写本文,希望对从事计算机图形学教学的老师有一定的借鉴作用。

2我校“计算机图形学”实验内容的设置

我校计算机科学技术专业的“计算机图形学”课程目前所使用的教材为Donald Hearn和M.Pauline Baker编著的《Computer Graphics with OpenGL,Third Edition》,该教材取材丰富,以开放图形库OpenGL为基础,介绍计算图形学的基础理论、基本概念和基本算法。教材提供了大量的示例程序,学生可将教材示例程序在PC上运行,从而获得对教学内容的直观理解。该教材的采用,极大的方便了用OpenGL展开实验教学。该课程是专业必修课和双语课程,4个学分,讲授54学时,实验36学时。

2.1实验平台的选择

OpenGL是一个发展成熟的、性能卓越的三维图形标准,它是20世纪后20年在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL作为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和3D Studio MAX、仿真软件Open Inventor等等。OpenGL具有七大功能:建模、变换、颜色模式设置、光照和材质设置、纹理映射、位图显示和图象增强、双缓存动画。OpenGL 的基本函数都做到了硬件无关,甚至是平台无关,开发的软件可以在各种硬件和操作系统上应用。相比较而言,微软的Direct3D虽然也是十分优秀的图形应用接口,但它只用于Windows系统,具有一定的局限性。因此,选用OpenGL作为计算机图形学实验的平台,能非常好的演示和验证各种图形学的算法,能紧贴学科前沿,给学生今后从事图形学相关软件的开发打下良好的基础。此外,OpenGL在3D方面的强大功能,也能极大的激发学生学习的兴趣。

由于OpenGL核心函数库都是平台无关的,所以OpenGL的核心函数库不包含任何输入或窗口函数。原因很简单,因为这两者都严重依赖于特定的平台。但是,无论图形程序运行在何种平台上(Windows、Linux或Macintosh),都不可避免地要和操作系统或本地窗口系统进行交互。面对这种情况,在计算机图形学实验中,我们采取一种折中的策略――借助一个简单的工具集,即OpenGL实用工具集(OpenGL Utility Toolkit,GLUT)。GLUT在标准编程环境中都有相应的实现,其API包含大多数窗口系统所共有的标准操作,并允许我们在应用程序中使用键盘和鼠标。GLUT的使用能让学生避开复杂的Windows编程中的窗口和输入的交互函数,把更多的精力放到图形学的内容上。

2.2图形学实验的开展项目

目前,课程开展的实验内容如表1所示,其中实验类型分为三类:验证性、设计性和综合性。验证性实验是让学生对理论课程学习的图形学基本算法和OpenGL的基本语法进行编程验证;综合性实验是让学生在经过一个阶段的学习后,具有了一定的基本知识和基本技能的基础上,综合运用图形学的多种知识,对学生实验技能和方法进行综合训练的一种复合型实验;设计性实验是一种探索性的实验,不但要求学生综合多种知识来设计实验方案,而且要求学生能充分运用已学到的知识,去发现问题、解决问题,实验中,学生自己选题、自己设计,在教师的指导下进行,以最大限度发挥学生学习的主动性。

表1计算机图形学实验开展项目

实验名称 实验内容 实验类型

实验1

OpenGL编程初步 (1)OpenGL的安装;

(2)OpenGL GLUT 框架的使用;

(3)OpenGL下图形的绘制原理;

(4)OpenGL下基本图元的绘制。 验证性

实验2

二维基本图元的生成 (1)DDA、Bresenham直线生成算法的实现;

(2)中点圆算法的实现;

(3)中点椭圆算法的实现。 验证性

实验3

二维图元的填充 (1)熟悉OpenGL中对颜色的设置;

(2)边界填充算法的理解与实现;

(3)泛滥填充算法的理解与实现;

(4)扫描线填充算法的理解与实现。 验证性

实验4

OpenGL下图形的交互控制 (1)了解glut中的各种回调函数;

(2)用鼠标对图形进行交互控制;

(3)用键盘对图形进行交互控制。 验证性

实验5

OpenGL下的二维图形变换 (1)直接设置投影矩阵,对图形进行平移、旋转、缩放,理解变换的原理;

(2)掌握OpenGL下平移、旋转、缩放变换的方法;

(3)掌握以上方法的组合变换。 验证性

综合性

计算机图形学技术范文第4篇

关键词:计算机图形学;信息与计算科学;教学改革

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)46-0114-02

目前,计算机图形学及相关课程在国内高校的信息计算科学专业中进行了开设。不同学校的信息计算科学专业依托的专业背景及师资队伍不一样,其对应课程体系及人才培养目标差异较大,进而导致了计算机图形学课程的教学内容、教学模式不尽相同。

本文以湖北民族学院信息与计算科学专业及其人才培养目标为基础,结合课程教学实际,对计算机图形学课程的教学内容设置及其后续课程的设置等问题的教学改革进行了探讨研究。

一、专业现状及课程特点

湖北民族学院信息与计算科学专业开办于2002年,依托于数学学科。本专业开设的主干课程包括:数学基础(分析、代数、几何)、概率统计、微分方程、数学模型、物理学、计算机基础(计算机概论、算法与数据结构、软件系统基础)、信息科学基础、理论计算机科学基础、数值计算方法、计算机图形学、运筹与优化等。

该专业设置了两个核心方向:信息科学和科学计算(计算数学)。在信息科学方向中,其核心方向由:(1)信息处理(图像处理、信号分析等);(2)信息编码与信息安全(编码理论等);(3)计算智能(人工智能、模式识别等)等组成。

计算机图形学是方向(1)中的图像处理课程和方向(3)中的模式识别课程的先修课程,也是虚拟现实、计算机视觉等课程的先修课程,由此计算机图形学的重要地位是不言而喻的。

二、课程教学现状

湖北民族学院最新人才培养方案中,计算机图形学课程在第六学期开设,之前已经开设了高等代数、数学分析、离散数学、程序设计基础、数据结构等基础课程,学生有了一定的数学基础及计算机基础。然而计算机图形学涉及到的内容广泛并且理论性很强,在课堂上和实际应用结合起来比较难,导致在课程的讲授过程中枯燥,学生的学习积极性不能够很好地调动起来。

目前,计算机图形学课程教学过程中存在以下几方面的问题:

1.教学内容丰富而教学深度不够。计算机图形学课程研究内容丰富、理论性很强。在传统教学内容设置中,需要从计算机图形系统及图形硬件介绍入手,介绍用户接口和交互式技术、图形的表示与数据结构、图形的生成、变换、消隐、光照等直到真实感图形生成。然而专业培养计划中,该课程总学时为56学时,其中实验10学时,课堂上很难对内容进行深入的讲解,导致学生一知半解,不能很好地理解计算机图形学,从而失去学习兴趣。

2.理论和实践结合不紧密。计算机图形学课程中的算法(如DDA算法、Bresenham算法、Cohen-Sutherland算法、Weiler-Atherton算法等)都很巧妙,需要学生有很好的数学基础和编程基础以便对算法进行理解并实现。而实践学时相对较少,学生对算法的掌握程度一般,也会影响学生的学习兴趣。

三、课程教学改革

1.理清计算机图形学与相应方向课程间的关系,突出图形学的重要性。目前修订的湖北民族学院信息与计算科学专业培养方案中,计算机课程主要包括高级语言程序设计、数据结构、操作系统、计算机图形学、图形图像处理、模式识别等。计算机图形学是信息科学方向中比较重要的一门课程,它是信息处理方向中的图像处理课程以及计算智能方向中的模式识别等课程的先修课程,它们之间的关系如图1。事实上,把计算机图形学作为计算机类课程的一门核心课程,能弥补计算机应用软件编程系统训练的不足,能较好地促进学生的计算机开发能力培养[1-3]。

2.优化理论教学内容,突出教学重点。计算机图形学的最终目的就是用计算机程序的方法在计算机显示器屏幕上生成图像效果,特别是生成类似照相机拍摄的三维图像[3]。从基本的图形元素到真实感图形生成,中间要经过生成、裁剪、变换、消隐、光照等处理过程。

图2中粗线部分为本科生教学核心内容,要求学生必须掌握其基本算法原理及实现方法,细线部分实现从算法的角度来说难度较高,结合目前流行的OpenGL、Direct3D等技术,直接调用函数等构件类来实现,教学时以案例的形式进行分析。通过理论授课将知识框架展示给学生,剩下的内容由学生通过自学、合作讨论给予填充,从而完成整个课程体系的学习过程。

3.构建教学网站,加强课外教学。为加强师生课外交流互动,在程序设计类课程教学改革[4]构建的课程平台基础上,开设计算机图形学课程网站。按周次及时教学任务,与学生进行交流互动,促进学生课外学习。

4.构建实验教学内容,强化实践教学。实践教学内容设置如表1所示。实验内容贯穿整个学习过程,在理论学习的基础上,加深学生对所学理论知识的理解。

四、总结

计算机图形学是一门综合性很强的课程。我们结合湖北民族学院信息与计算科学专业实际,分析了计算机图形学课程在信息科学方向课程中的地位,从优化课程理论教学内容、设置实验主题、实验内容及实验项目,强化学生基于计算机图形学的应用开发能力等方面对计算机图形学课程进行了教学改革探讨。

参考文献:

[1]刘圣军,韩旭里.信息与计算科学专业《计算机图形学》课程教学改革探索[J].数学理论与应用,2011,31(3):97-102.

[2]魏海涛,鲁汉榕,杨瑞娟,等.科学地构建“计算机图形学”的教学内容,促进计算学科的全面发展――对“高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)”的思考[J].计算机教育,2008,(20:035.

计算机图形学技术范文第5篇

关键词:工业信息化;计算机教育;计算机图形学;计算机仿真;程序设计

中图分类号: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结束语

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

参考文献: