前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机图形学论文范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
1. 计算机图形学
1.1 计算机图形学概述
我们现代人生活在各种各样的信息之中,如何应用计算机处理信息,处理图形成为了一个越来越重要的课题。本论文所要介绍的计算机图形技术,是计算机领域的热门领域之一,它是同电子硬件和计算机的周边设备一同发展而来。随着人类在航空航天、军事和通信等领域的突破,计算机图形学也得到了很快的发展。
计算机图形学是一门实用计算机产生、显示以及处理图形界面的知识体系。计算机图形学已经变得越来越重要,主要原因是:人们接收和发出信息,图形是很好的一种传递信息的方式。一个图形本身,就具有很丰富的信息,人们根据图形能够很自然快速地与外界进行交流。
1.2 计算机图形学研究热点
计算机图形学主要研究以下三个方面的内容。第一:隐藏线(面)的消除;第二:基本曲线的裁剪以及绘制;第三:现代图形学热点研究的内容,主要是虚拟现实技术、可视化、三维立体的重建等等。
由于在一个图形应用或图形软件中要大量重复调用这些基础算法,因此在这方面的任何进步都会对整个图形系统产生很大的影响。计算机图形学的基础算法经过人们几十年的研究,己比较成熟。但每一个进步对解决图形技术所面临的存储、传输、显示等问题都有很大的帮助。
2. 基础算法的研究
2.1 多边形裁剪算法
裁剪是处理图形一种很基础的方法,常见的裁剪操作主要有将不同的图形裁剪拼接形成新的图形。我们可以看出,裁剪算法在计算机图形学中是一种十分基础但是却又十分重要的操作[1]。
本论文所提到的裁剪方法,主要是针对凸多边形的。裁剪方法主要可以分为四个方法:中点算法、CS算法、CB算法、梁B算法。
(1)CS算法是Cohen-Sutherland的一种分区编码算法[2]。CS算法以前是计算机图形学中很重要的一种算法。CS算法对线段可以分为以下三种情况:窗内、窗外以及其它情况。我们在使用CS算法的时候,需要判断线段两端端点的编码,进而判断窗口和线段之间的位置关系,这种算法的缺点是对于判断所做的工作比其他算法多。端点编码检查算法的核心代码如下:
end point code algorithm
P1 and P2 are the end points of the line
xL,xn,yT,yB are the left, right, top and bottom window coordinates calculate the end point codes
put the codes for each end into 1*4 arrays called P1code and P2code
first end point: P1
if x1 < xL then P1code(4) = 1 else P1code(4) = 0
if x1 > xR then P1code(3) = 1 else P1code(3) = 0
if y1 < yB then P1code(2) = 1 else P1code(2) = 0
if y1 < yT then P1code(1) = 1 else P1code(1) = 0
second end point: P2
if x2 < xL then P1code(4) = 1 else P1code(4) = 0
if x2 > xR then P1code(3) = 1 else P1code(3) = 0
if y2 < yB then P1code(2) = 1 else P1code(2) = 0
if y2 < yT then P1code(1) = 1 else P1code(1) = 0
finish
(2)中点算法是基于硬件实现的。重点算法同样把窗口和线段的关系分成三种情况:窗内、窗外以及其它情况。对于窗内和窗外这两种情况,中点算法和CS算法的处理方法相同;对于第三种情况,中点算法简单地将线段分成两段。中点算法是基于硬件的,所以算法比较简单,相对于用软件来实现,更偏重于用硬件来实现。
(3)CB算法能够裁剪任意一种凸多边形的窗口。CB算法会将交点简化成上下两组,主要判断的方法是:直线段的方向矢量和窗口边法矢量的点积是否大于零。CB算法会取上组部分最小的交点以及下组最大的交点,作为可见部分的端点。由于CB算法更适用于一般情况,所以CB算法的运算更加复杂。
(4)梁B算法在四种方法中,运算速度最快。但是在某些特殊情况下,梁B算法也需要进行大量的运算。
四种基础算法的适用情况,如表2-1所示。
2.2 逐点生成算法
上一小节主要介绍了图像的裁剪,本小节的逐点生成算法主要着重于研究图形曲线的绘制。由于任何图像都是根据图形而来,而任何图形都需要绘制,所以图形曲线的绘制也是一项非常基础性的研究课题。
科学家最开始采用几何算法作为绘图算法,这是因为以前的图形显示器都是扫描类型的显示器。目前这种算法已经很少采用,但是在工程制图的绘制过程中,受到各方面的限制,我们往往不得不采取这种方法。这种算法的基本思想就是:步长之间的两个点,采取直线的方法连接。但是由于步长很小,我们实际看起来就是一条曲线。由于绘制条件以及算法本身的限制,这类算法有着自身的缺点:运算量非常大而且绘制不够精细。
不同于曲线的几何算法,像素级生成算法是一种全新的基于计算机的算法,这种算法主要分成两种。第一种是对参数方程进行求导,进而计算出小于或等于一个像素迭代步长的距离的点。这类算法的优点是能够适用于大多数曲线的绘制;这类算法的缺点是计算量很大,而且会造成多余的计算。第二种是根据曲线的隐式方程,找出曲线走向中下一个像素中最近的点。正是由于采用了这种原理进行曲线绘制,所以曲线的误差在一个像素范围内。这类算法的优点是速度快,因为每一次的步长都是一个像素点的距离;这类算法的缺点是适用范围狭窄[3]。
3. 结论
我们现代人生活在各种各样的信息之中,如何应用计算机处理信息,处理图形成为了一个越来越重要的课题。本论文主要介绍了计算机图形学,以及两种基础算法:多边形裁剪算法和逐点生成算法。对于这些基础算法的研究,对提高计算机图形系统系能具有重要的意义。
参考文献
[1]高云 计算机图形学若干基础算法的研究[J] 沈阳工业大学,2002.
[2]沈颖,宋文强 计算机图形学的基本算法实现研究[J] 电脑知识与技术,2009,17(5):4518-4519.
关键词:计算机图形学;实验;教学研讨
中图分类号:G642 文献标识码:B
计算机图形学是一门理论与实验并重的学科。从理论方面看,该学科主要涉及与图形相关的概念和算法,和数
学、物理等相关学科的关系紧密,学起来有一定的难度。而实验是理论教学的深化与补充,是抽象转化为具体的方式,是晦涩难懂的公式变为活生生画面的过程。通过实验,不仅可以培养学生综合运用所学知识解决实际问题的能力,而且对于建立学生自信心、培养学生兴趣也起至关重要的作用。学生对该课程是既喜欢又担心学起来难度太大,如何上好第一次课,改变学生的态度,如何安排教学内容和实验环节,使学生既易于接受又能反映计算机图形学的基础知识和最新知识。本文针对这些问题,结合教学中的实际情况浅谈一下自己的看法和体会。
1课程内容介绍
在多数人的印象中,计算机图形学和其它专业课相比较,数学公式太多,难以学习和理解。但是由于它的诸多应用非常具有吸引力,尤其它是大家所感兴趣的游戏和动画的基础,很多学生又想接触它。如何加强学生的这个念
头,第一次课非常关键,它在很大程度上决定了学生是否选学这门课。图形学的理论虽然抽象,但是所表示的内容却形象,可以以此作为突破口。我们知道被称为“图形学之父”的Sutherland博士论文答辩时,将所研究的内容制作一部电影,边放映边讲解,大获成功。所以我觉得可以从一个动画短片或游戏片段出发,将所涉及的图形学知识融会贯通起来。因为在没学习图形学之前,学生很难建立图形学知识和游戏动画之间的联系。他们只知道图形学理论很抽象,游戏动画很容易吸引学生眼球,而且也知道它们之间的关系很紧密,但具体有什么联系却不是很清楚。我们可以从此出发,引出图形学的相关知识,让学生在不知不觉中了解图形学,接受图形学。这样轻松建立了相关知识点与实际应用的联系,也解答了学生学有何用的疑问。
现以动画短片《棋逢敌手》(Geri's Game)为例来说明如何引出图形学内容。该短片讲述的是Geri老头在公园跟自己下棋的事,故事情节生动,动画效果惟妙惟肖,很具吸引力。学生非常感兴趣,这是怎么做的,采用什么技术,Geri老头是怎么得到的等等一系列问题。我们便可以问题为导向一一解释给学生。Geri老头采用的是一种称为Catmull-Clark的细分曲面造型技术,在造型之前需要准备数据,所谓巧妇难为无米之炊,一般这样的数据是先建立一个实物的模型,然后通过三维激光扫描仪获取的。三维扫描仪扫描实物的表面数据,其数据量大,而且带有噪音,所以需要做去噪,简化等处理。简化后得到Geri老头的表面骨架,然后再采用细分曲面造型技术获取光滑逼真的模型。细分造型是一种逐层加细技术,如图1所示,图1(a)-(c)是不同层次的效果。从中可以看出图(c)图形的光滑效果最好,而图(a)最差。但是图(c)的数据量最大,这就需要根据不同情况选择不同的图形,如图2所示,当图形距离我们较远时可以选择精度不高的(a)图形,而较近时选择(c)图形。在游戏动画方面,对速度要求高,而对图形逼真性的要求相对低,这时可以选择数据量小的图形。这样通过图形展示给学生以感性的认识,一方面易于接受,易于理解,另一方面也能增加学习的兴趣。另外,形象逼真的图形采用真实感绘制技术,场景远近变化利用了图形变换的知识等等。一个短篇,基本上把图形学的相关内容都包括了,我们还可以再结合其它一些具体生动的图形动画介绍给学生。实际上,在图形学授课的各个环节,为了调节枯燥的数学公式,都可以演示一些相关内容的图形,也所谓的多媒体教学,在这方面,图形学应该更有优势。
2理论与实践并重
对计算机图形学这样的专业课而言,理论的学习离不开实践,实验是非常重要的一个环节。抽象的理论,乏味的数学公式,如果不和实验结合,学生是体会不到学习乐趣的。通过实验,所学的知识得以巩固,枯燥的算法与生动的图形之间建立联系。学生的兴趣也是通过实验建立起来的。每次实验报告,我都会要求学生写下心得体会,从报告可以看出,多数学生能够在实验中找到快乐,能够通过实验建立自信心,成就感。他们说做实验很受锻炼,知识掌握的也更牢固。当然有的学生也提到,做实验是一件非常辛苦的事情,特别是没有思路或者找不到错误时,真的很痛苦。但是成功后的满足,特别是做出来的那一瞬间,那种心境别人无法体会。
由于计算机图形学是专业限选课,学时不多。我们一般安排32个上课学时和16个实验学时。为了增加学生的知识面,我们的实验是在Sun工作站Solaris操作系统下采用gcc编译器进行,编程时调用OpenGL库中的图形函数。通常安排4个学时熟悉这些内容。这样根据剩余学时安排五个小实验:直线生成、裁剪、几何变换、曲线生成以及真实感图形绘制,还有一个综合性实验:做一个简单的图形系统。题目的要求随着难易程度变化。直线生成算法比较简单,学生编写的程序应具有通用性,适用于任何直线。裁剪算法是为了确定显示区域内的图形,实验一般要求实现线段裁剪算法,算法易于实现,考虑到易操作性,采用交互式的画线方式,即以鼠标点击绘图区的位置确定线段的起点和终点,其中涉及消息映射和屏幕坐标到世界坐标转化等相关知识。几何变换几乎在每个图形系统或图形应用软件都有使用,其主要包括旋转、平移、缩放以及复合变换等内容。学生对三维图形更感兴趣,尤其是较复杂的图形。在做该实验时,通常先介绍一些三维图形的相关知识,包括几何图形表示、存储形式以及读文件操作等,一般以简单的OBJ数据文件为例。然后让学生实现三维图形的几何变换。另外,考虑到该实验包括几个操作,增加了菜单选择功能。曲线曲面也是图形学的核心内容,生成方法有两种:一种是逐层递推的方法,另一种是根据参数曲线定义。学生根据自己的理解选择不同的方法实现。在曲线生成的基础上,增加鼠标拖动控制点改变曲线曲面形状的功能。真实感实验是为了增加学生学习的兴趣,通过调用OpenGL的库函数做出一些漂亮的效果,让学生感觉到图形学功能很强大,一些看似复杂的效果实现起来也简单,只需调用OpenGL中现成的库函数。综合性实验报告我也鼓励学生做一些自己感兴趣的东西,比如有的学生对游戏很感兴趣,基础也较好,想做一个小游戏,我是完全许可的。应该来说,安排的实验任务重,覆盖内容多,在有限学时内完成这些实验是不可能的,需要学生在课外做许多准备工作。而且,有些知识点较难,学生难以消化。针对这种情况,实验部分也分了解和掌握两种情况,这样做的一个目的就是想增加学生的知识面。
3教学内容安排
计算机图形学知识更新快,内容深而广,如何在有限的学时内安排教学内容,使讲解的知识难度适中,既兼顾基础知识又可以反映计算机图形学的最新成果和技术,同时,既兼顾理论又兼顾实验。另外,在学生可以接受的情况下尽可能介绍三维知识。
我们的教学内容主要分这几部分内容:光栅图形学,图形变换,几何造型,真实感图形绘制。而且,各部分内容贯穿OpenGL的相关知识。前两部分比较基础,内容相对简单,课时尽可能安排紧凑,理论讲的相对深入。但是对于几何造型,尤其是曲线曲面造型部分,内容的深浅需要根据学生情况来把握。曲面难度较大,一般只介绍大致的思路及做一些演示。对于曲线,如果讲得比较深入,对于基础不好的学生来说也难以接受。我曾尝试采用分段多项式的形式推导B样条基函数,不少同学听得很费力,甚至影响后面知识的学习。现在讲这部分内容时,我只是介绍基函数的由来,告诉学生基函数是根据曲线的性质和定义推导出来的,不是随随便便指定的,这样学生比较容易接受。实际上,无论Bezier曲线或B样条曲线,都是曲线造型技术中的经典算法,但也存在缺点。目前比较流行的曲线造型技术是细分算法,它有很多很好的性质,如多分辨率,应用简单等。由于其比较新,很多教科书中尚未介绍。一般我从应用层的角度将三次B样条细分和四点插值细分等典型算法介绍给学生,介绍他们的特点以及实现技术。真实感图形绘制部分,涉及数学、物理、心理学等方面的知识,理论较深,不太适合本科生学习。但由于其做出来的图形太漂亮,很具吸引力。而且,用OpenGL的库函数实现并不难,所以这部分内容我一般是介绍一些基本概念,然后做一些程序演示。一方面增加学习的兴趣,另一方面让他们意识到,有些知识尽管理论比较深,但由于有现成的类似OpenGL库函数这样的技术支撑,也容易实现。很多东西并不是想象的那么神秘,那么可怕。
4结语
计算机图形学是一门理论内容深,应用范围广的课程。本文就如何组织教学内容谈了自己的见解和体会,目的在于提高学生学习兴趣,让学生在易于接受的情况下学到更多有用的知识。实践表明方法具有一定的可行性,普遍学生反映,通过课程的学习体会到了图形学的博大精深,增加了图形学的学习兴趣。但也有部分同学感觉有些内容讲解不够深入,难以理解。所以,如何在有限的学时内更好地组织教学,还有待进一步探讨。相信通过学习、思考和实践可以做得更好。
参考文献:
[1] 唐荣锡,汪嘉业,彭群生. 计算机图形学教程(修订版)[M]. 北京:科学出版社,2000.
[2] 周开进,王志刚. 计算机学科与数学的强相关性及其对专业教育的影响[J]. 中山大学学报论丛,2002,(6).
【关键词】 三维模型 视图 特征提取
一、引言
随着三维扫描技术和计算机图形学广泛应用于工业,机械,医学等领域,三维模型成为一种新多媒体数据类型,面对庞大的三维模型数据库, 帮助用户快速准确地获取所需三维模型,实现资源重用成为了计算机视觉、计算机图形学界的一个研究热点。如何合理地描述三维模型即特征提取成为三维模型检索首先要解决的难点问题。同时绝大多数三维模型检索的研究都是针对通用模型进行的. 这也使得对三维模型特征提取的研究更加复杂。现有的三维模型检索技术可以分为基于统计特征、基于拓扑结构、基于几何结构分析和基于视图四大类。
基于统计特征的方法通过对三维模型的某一特征信息进行统计,获得统计直方图后将其量化而得到三维模型特征向量,但是大多数统计特征带有随机性, 检索性能不稳定。基于拓扑和结构分析得到的特征在检索系统中检索响应时间较长。基于视图将三维模型投影成多个不同视角的二维图像,再对二维投影进行特征的提取用以描述三维模型。这种方法将复杂的三维问题转化为较为成熟的二维图像处理问题,降低了计算的复杂度,符合人的视觉特征,检索性能较好。基于视图的三维模型特征提取一般为三个步骤模型预处理,视图获取,描述符提取。
二、模型预处理
对于任意三维模型,其初始空间位置、尺寸及方向具有很大的随机性,为了对三维模型在相同尺度、相同规则下进行比较检索,首先对其进行位置和尺寸标准化预处理。一般分为三个部分平移归一化,旋转归一化,尺度归一化。 完整的模型归一化过程表述为如下的几何变换。
S*R*(I-C) (2-1)
式中: s 为缩放系数;R 为对应于PCA变换的旋转矩阵;I 为原始模型坐标;C为坐标原点。
2.1平移归一化
平移归一化的目的是为了在模型上找到一个点作为新坐标系的原点,重新计算模型在新坐标系中的顶点坐标实际应用中的三维模型往往不是密度均匀分布的模型,文献[1]采用面积加权法来提高重心平移的鲁棒性,也就是将每个点的表面积作为该顶点的权重。
2.2旋转归一化
旋转归一化的目的是为了保证模型具有一个统一的姿态方向,使得提取的特征具有旋转不变性,文献[2]对旋转归一化改进利用蒙特卡罗法在三维模型表面均匀采点,以此代替原来顶点。该方法的特点是能快速地按照等面积原则,在三维模型表面采样大量的三维点数据。
2.3 尺度归一化
为了统一三维模型的尺度,保证拉伸不变性,需要计算缩放因子。文献[1]采用的方法是找到模型中距离质心最远的顶点,取值为这个最大距离的倒数,然后按照这个系数进行缩放。
三、视图获取
模型预处理完成后需要进行视图提取,按照提取的视图是否进行二次选择可分为:最优视图提取和多视图提取.
3.1多视图提取
多视图提取一般将模型放在球体或正方体盒内,在不同角度摄取二维深度图像,Min[3]等人提出使用三维模型的二维轮廓图描述比较模型之间的相似性。该方法从模型的正视、侧视及俯视三个固定方向获得二维投影视图,然后对每副视图进行轮廓特征提取。该方法由于只选择了三个固定方向上获取视图。不能够完全表达模型Chen[4]等提出一种基于光场(LightFiel Descriptor, LFD)的特征算法。首先,在正十二面体的10个顶点处捕获二维图像,由于正十二面体是对称的所以只取20个顶点中的10个。每个顶点处设定10中不同的光场,这样对于各个三维模型可以采100张图像。对于每张图像提取Zemike矩特征(取35个系数)和傅里叶变换特征(取10个系数),最后用4500维的特征向量来表示一个三维模型,庞大的特征向量带来计算的困难。Shih[5]等提出了一种基于正视图的特征提取算法,提取六个正视图来表示三维模型,所有正视图都是二维灰度图形,用最小正方体盒包围三维模型分别从前部,上部,右部,后部,下部和左部6个角度投影获得正视图,将每个图形分解为L个同心正方形提取出图形描述符。
3.2最优视图提取
由于产生的多视图来描述模型在检索模型时计算时间长,且有些视图是冗余的。有些研究者会将多视图进行最优选择出一组或一个最优视图。Cyr[6]等人提出基于形状相似性的代表性视图(Aspect Graph)方法。该方法首先对三维模型从不同视点得到大量视图,然后用一组代表性视图描述三维模型。代表性视图通过对视图集聚类分析,选择那些彼此之间存在明显差异的视图而得到。
刘志等采用AdaBoost算法对输入三维模型形状特征进行相似性学习得到该模型的最优视图样例,然后将输入模型从不同视点得到的渲染视图和最优视图样例进行形状相似性分析,以相似度最高者作为输入模型的最优视图.得到的最优视图不仅可以有效地逼近用户选择结果而且具有较好的稳定性。
四、总结
由于三维模型及其组成的三维场景能提供比二维图像更多、更丰富的视觉感知细节。所以三维模型的检索与复用近年来成为计算机图形学领域内的一个重要研究课题。但三维模型比二维图像特征提取更为复杂,现在二维图像处理技术非常成熟所以将三维模型表达成视图在进行处理,得到很好的模型描述符在检索三维模型时节省时间。
参 考 文 献
[1]基于视图的三维模型检索技术研究 冯毅攀 浙江工业大学硕士学位论文 2011.10.20
[2]三维模型特征提取与检索 柳 伟 申请上海交通大学博士学位论文 2008.1
[3] P. Min, J. Chen, T. Funkhouser. A 2D sketch interface for a 3D model search engine[A]. Proc of 2002 annual conference on Computer Graphics Proceedings[C]. San Autonio: ACM, 2002, 138.
[4]D.Y. Chen, X.P. Tian, Y.T. Shen. et al. On visual similarity based on 3D model retrieval[J]. Computer Graphics Forum. 2003, 22(3): 223-232
[5] C.M. Cyr, B.B. Kimia. 3D object recognition using shape similarity-based aspect graph[A]. Proc of the 8th International Conference of Computer Vision[C]. Vancouver: ICCV, 2001, 254-261.
英文名称:Journal of Software
主管单位:中国科学院
主办单位:中国科学院软件研究所
出版周期:月刊
出版地址:北京市
语
种:中文
开
本:16开
国际刊号:1000-9825
国内刊号:11-2560/TP
邮发代号:82-367
发行范围:国内外统一发行
创刊时间:1990
期刊收录:
SA 科学文摘(英)(2009)
CBST 科学技术文献速报(日)(2009)
Pж(AJ) 文摘杂志(俄)(2009)
EI 工程索引(美)(2009)
中国科学引文数据库(CSCD―2008)
核心期刊:
中文核心期刊(2008)
中文核心期刊(2004)
中文核心期刊(2000)
中文核心期刊(1996)
中文核心期刊(1992)
期刊荣誉:
中科双百期刊
联系方式
论文摘要:计算科学主要讲述了一种科学的思想方法,计算科学的基本概念、基本知识它的发展主线、学科分支、还有计算科学的特点、发展规律和趋势。
引言:随着存储程序式通用电子计算机在上世纪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.加强计算机应急反应分队建设。应成立自动化系统安全支援分队,以解决计算机防御性的有关问题。
很多公司都有因为电脑被入侵而遭受严重经济损失的惨痛经历,不少普通用户也未能避免电脑被破坏的厄运,造成如此大损失的并不一定都是技术高超的入侵者所为,小小的字符串带给我们的损失已经太多。因此,如果你是数据库程序开发人员、如果你是系统级应用程序开发人员、如果你是高级计算机用户、如果你是论坛管理人员......请密切注意有关字符漏洞以及其他各类漏洞的最新消息及其补丁,及时在你的程序中写入防范最新字符漏洞攻击的安全检查代码并为你的系统安装最新的补丁会让你远离字符带来的危险。经常杀毒,注意外来设备在计算机上的使用和计算机对外网的链接。也可以大大有效的避免计算机被攻击。
五总结
在学了计算科学导论之后,让我更深入的了解了我将来要从事的学科。计算科学导论指导着我们该怎么学习计算机。让我更清楚的知道我们信息安全专业的方向。正如计算科学这座大楼一样,在不断的成长。信息安全也必将随着网络的进一步发展而更多的被人们重视。总之学习了这门课之后让我受益匪浅,也知道自己应该好好努力,争取在自己的专业领域上有所成就。
参考文献:
1、《计算科学导论》(第三版),赵志琢著,科学出版社2004版
2、《计算机病毒分析与对抗》傅建明彭国军张焕国编著武汉大学出版社2004版