计算机图形学文献综述
时间:2025-06-11
时间:2025-06-11
计算机图形学论文
学 号: 11001010123 专 业: 信息与计算科学 班 级: 110010101 姓 名: 王俊才 指导教师: 傅由甲
一.摘要
计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。计算机图形学作为计算机科学与技术学科的一个独立分支已经历了近40年的发展历程。一方面,作为一个学科,计算机图形学在图形基础算法、图形软件与图形硬件三方面取得了长足的进步,成为当代几乎所有科学和工程技术领域用来加强信息理解和传递的技术和工具。计算机图形学在我国虽然起步较晚,然而它的发展却十分迅速。我国的主要高校都开设了多门计算机图形学的课程,并有一批从事图形学基础和应用研究的研究所。在浙江大学建立的计算机辅助与图形学国家重点实验室,已成为我国从事计算机图形学研究的重要基地之一。 关键词:实现2D/3D 图形的算法,纹理映射,发展简史,发展趋势
二、计算机图形学中运用到的技术算法
(1) OpenGL 实现2D/3D 图形的算法
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组。
OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。它具有一下功能:
1.建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。
2.变换:OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透视投 影两种变换。
3.颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。
4.光照和材质设置:OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示。
5:纹理映射(Texture Mapping)。利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。
此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。从而实现了消隐算法。
(2) 纹理映射
理映射技术用于生成物体表面的纹理细节,是真实感图形技术的重要组成部分,也是计算机图形学的一个重要研究内容。纹理给物体提供了丰富的细节,用简单的方式模拟出了复杂的外观。一个图像(纹理)被贴(映射)到场景中的一个简单形体上,就像印花贴到一个平面上一样。
第一步:定义纹理对象
coast int TexNumber4;
GLuint mes Texture[TexNumber]; //定义纹理对象数组
第二步:生成纹理对象数组
glGenTextures(TexNumber,m Texture);
第三步:通过使用glBindTexture选择纹理对象,来完成该纹理对象的定
glBindTexture(GL TEXTURE 2D,m_Texture[0]);
g1TexImage2D(GL TEXTURE_2D,0,3,mes Texmapl.GetWidthU,mee Texmapl.GetHeight() ,0,GL BGR EXT,GL UNSIGNED BYTE,mse Texmapl.GetDibBitsl'trQ);
第四步:在绘制景物之前通过glBindTexture,为该景物加载相应的纹
glBindTexture(GLes TEXTURE_2D,mse Texture[0]);
第五步:在程序结束之前调用glDeleteTextures删除纹理对象
glDeleteTextures(TexNumber, mee Texture);
这样就完成了全部纹理对象的管理和使用。
三.应用及发展简史
(1)发展简史
1950 年,第一台图形显示器 作为美国麻省理工学院 (MIT)旋风号—(Whirlwind)计算机的附件诞生了。 该显示器用一个类似示波的阴极射线管(CRT)来显示一些简单的图形 。 在整个50 年代,只有子管计算机 ,用机器语言编程 ,主要应用于科学计算,为这些计算机置的图形设备仅具有输出功能 。 计算机图形学处于准备和酝酿时期并称之为 :“被动式”图形学。 1963 年,伊凡·苏泽兰在麻省理工学院发表了名为 《画板》的博士论文, 它标志着计算机图形学的正式诞生 。此前的计算机主要是符号处理系统 ,自从有了计算机图形学 , 计算机可以部分地表现 人的右脑功能了,计算机图形学的建立意义重大 。从1973年开始,相继出现了英国剑桥大学CAD小组的Build系统、美国罗彻斯特大学的PADLI系统等实体造型系统。1980年Whitted提出了一个光透视模型——— Whitted 模型,并第 …… 此处隐藏:5897字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:计算机硬件维护职位个人简历模板