从OpenGL图形系统谈计算机图形学的应用领域
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科技广场2010.6
0引言
计算机图形学(Computer Graphics,简称CG)是利用计算机处理图形信息的一门学科,包括图形信息的表示、输入输出与显示、图形的几何变换、图形之间的运算以及人机交互绘图等方面的技术。计算机图形学既是一门科学,它包括一些数学基础和理论,又是一门技术,包括一些技巧和方法。计算机图形学的研究领域包括图形系统的硬件设备、基本图元的生成技术、图形变换技术、人机交互绘图技术、图形运算和处理技术、实体造型技术和真实图形的表示。在过去的几十年里,计算机图形学无论是在理论研究,还是在实际应用的深度和广度方面,都取得了令人可喜的成果,其主要推动力来自于图形用户的要求以及软件和硬件技术的突破。目前,计算机图形学的应用领域多样且范围广泛。尽管如此,我们仍然可以大致把它划分为四个主要领域:信息的显示、设计、仿真与动画、用户界面。计算机图形学的许多应用横跨上述两个或多个领域,但图形学的发展还是基于上述四个领域独立工作。
1计算机图形学的应用
1.1信息显示
传统的图形技术是作为人们之间传递信息的媒介而出现的。虽然口语和书面语言都能实现类似的目的,但人类视觉系统在数据处理与模式识别方面的作用是无与伦比的。随着科学技术的迅猛发展,数据量的与日俱增使得人们对数据的分析和处理变得越来越难,人们无法从数据海洋中得到最有用的数据,找到数据的变化规律,提取最本质的特征。但是如果能将这些数据用图形的形式表示出来,情况就不一样了,事物的发展趋势和本质特征将会很清楚地呈现在人们面前。现在,超级计算机可以让许多领域中的研究者解决以往看起来似乎不能解决的问题。科学可视化领域为研究人员理解各自领域里产生的大量数据提供了图形工具。诸如流体力学、分子生物学和数学、医学等领域产生的大量数据经图形学处理后得到的几何实体可以让研究人员深入了解其复杂过程。
1.2设计
设计一直是工程和建筑等领域的专业人员关注的问题。工程师和建筑师从一系列设计要求出发,寻求一种符合设计要求的既省钱又实用的设计方案。设计是个迭代的过程,专业人员先提出最初的解决方案,然后进行测试,再根据测试结果寻找更好的设计方案。图形学技术的日趋成熟,给这些领域带来很多的方便。如今在建筑、机械和大规模集成电路设计(VLSI)等计算机辅助设计(CAD)领域里应用交互式图形工具随处可见。图形学在这些不同的领域里有各自不同的应用方式,例如在VLSI设计中,图形学为设计者与软件设计
从OpenGL图形系统谈计算机图形学的应用领域Discussion of the Computer Graphics Application by OpenGL Graphics System
吴婷
Wu Ting
(江西现代职业技术学院,江西南昌330012)
(Jiangxi Modern College,Jiangxi Nanchang330012)
摘要:本文介绍了计算机图形学的应用领域,并以OpenGL图形系统为基础开发了一个彩色立方体旋转动画。
关键词:计算机图形学;OpenGL;动画
中图分类号:TP391文献标识码:A文章编号:1671-4792-(2010)6-0064-03
Abstract:This paper discusses the computer graphics application,and based on OpenGL graphics system,developed an animation of color cube.
Keywords:Computer Graphics;OpenGL;Animation
64
者提供了类似菜单和图标等的交换图形界面。此外,有些工具能对初步的设计方案进行分析并以图形方式显示分析结果。
1.3仿真与动画
当计算机图形系统不断得到发展,能够实时地生成复杂图像时,工程师与研究人员开始把它应用在仿真器上,训练飞行员是其中的重要应用之一。图形化的飞机仿真器已被证实能够提高安全性和降低培训支出。飞行仿真器的研制成功促使人们把计算机图形学应用到电视、电影和广告行业,这就是生活中的动画。事实上计算机动画也只是生成一幅幅静态的图像,但是每一幅都是对前一幅做一小部分修改,如何修改便是计算机动画的研究内容。这样,当这些画面连续播放时,整个场景就动起来了。虚拟现实领域为计算机图形学的应用提供了新的视野。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身临其境一般,可以实时观察三维空间内的事物。采用虚拟现实技术可以对外科实习医生进行培训,对宇航员进行失重训练等。
1.4用户界面
用户接口是人们使用计算机的第一观感,一个友好的图形化用户界面能够大大提高软件的易用性。在DOS时代,计算机的易用性很差,编写一个图形化的界面要费去大量的劳动,过去传统的软件中有60%的程序是用来处理与用户接口有关的问题和功能的。进入80年代后,随着Xwindow 标准的提出,苹果公司图形化操作系统的推出,特别是微软公司Windows操作系统的普及,标志着图形学已经全面融入计算机的方方面面。如今在任何一台普通计算机上都可以看到图形学在用户接口方面的应用。操作系统和应用软件中的图形、动画比比皆是,程序直观易用。很多软件几乎可以不看任何说明书,而根据它的图形或动画界面的指示进行操作。目前几个大的软件公司都在研究下一代用户界面,开发面向主流应用的自然、高效、多通道的用户界面。研究多通道语义模型、多通道整合算法及其软件结构和界面范式是当前用户界面和接口方面研究的主流方向,而图形学在其中起主导作用。
2OpenGL图形系统
OpenGL(GL代表图形库,Graphics Library)图形系统是图形硬件的一个软件接口,它允许程序开发者创建交互性的程序,产生移动三维物体的彩色图像。使用OpenGL可以对
计算机图形技术进行控制,产生逼真的图像或者虚构出现实
世界所没有的图像。
2.1彩色立方体旋转动画实例
以OpenGL图形系统为基础,开发一个立方体旋转程
序。程序中立方体受鼠标按键控制,左键控制立方体绕着X
轴旋转,中间按键控制立方体绕着Y轴旋转,右键控制立方
体绕着Z轴旋转。主函数源代码如下:
int main(int argc,char**argv)
{
glutInit(&argc,argv);
/*need both double buffering and z buffer*/
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB| GLUT_DEPTH);
glutInitWindowSize(500,500);
glutCreateWindow("colorcube");
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutIdleFunc(spinCube);
glutMouseFunc(mouse);
glEnable(GL_DEPTH_TEST);
/*Enable hidden-surface removal*/
glutMainLoop();
2.2动画效果
以下图一~图三所示的三个画面展示了彩色立方体不
同时刻的三个状态。
图一状态1
从
OpenGL
图
形
系
统
谈
计
算
机
图
形
学
的
应
用
领
域
65