1、2023-1-261计算机图形学是计算机技术、电视显示技计算机图形学是计算机技术、电视显示技术和图形信息处理技术相结合的一门学科。术和图形信息处理技术相结合的一门学科。它研究它研究有关对象的图形的计算机有关对象的图形的计算机的基本原理和的基本原理和基本技术。基本技术。它是计算机领域中发展最迅速它是计算机领域中发展最迅速的学科之一,已广泛用于科学研究、工业的学科之一,已广泛用于科学研究、工业和建筑设计、医学研究、文化教育、地理和建筑设计、医学研究、文化教育、地理地质,益智娱乐、商业广告和军事等领域地质,益智娱乐、商业广告和军事等领域2023-1-262图形信息与文字信息相比具有直观、形象、含义丰
2、富等优图形信息与文字信息相比具有直观、形象、含义丰富等优点,有着广泛的应用前景。但是图形的生成、表示、处理、点,有着广泛的应用前景。但是图形的生成、表示、处理、存储和管理却比文字信息复杂得多存储和管理却比文字信息复杂得多。2023-1-2632023-1-264计算机图形学(计算机图形学(Computer Graphics)是)是研研究怎样用计算机生成、处理和显示图形的究怎样用计算机生成、处理和显示图形的一门新兴学科一门新兴学科.国际标准化组织(国际标准化组织(ISO)定义为:)定义为:计算机计算机图形学是研究通过计算机将数据转换为图图形学是研究通过计算机将数据转换为图形,并在专门显示设备上显
3、示的原理、方形,并在专门显示设备上显示的原理、方法和技术的学科。法和技术的学科。2023-1-265 计算机图形学的研究内容v图形:计算机图形学的研究对象图形:计算机图形学的研究对象能在人的视觉系统中产生视觉印象的客观对象能在人的视觉系统中产生视觉印象的客观对象包括自然景物、拍摄到的图片、用数学方法描包括自然景物、拍摄到的图片、用数学方法描述的图形等等述的图形等等v构成图形的要素构成图形的要素几何要素:刻画对象的轮廓、形状等几何要素:刻画对象的轮廓、形状等非几何要素:刻画对象的颜色、材质等非几何要素:刻画对象的颜色、材质等结束2023-1-266v计算机中表示图形的方法计算机中表示图形的方法点
4、阵表示点阵表示v枚举出图形中所有的点枚举出图形中所有的点(强调图形由点构成强调图形由点构成)v简称为图像(数字图像)简称为图像(数字图像)参数表示参数表示v由图形的由图形的形状参数形状参数(方程或分析表达式的系数,线段的端点方程或分析表达式的系数,线段的端点坐标等坐标等)+属性参数属性参数(颜色、线型等颜色、线型等)来表示图形来表示图形v简称为图形简称为图形niniittBPtC0,10)()(2023-1-267计算机图形学的研究内容计算机图形学的研究内容图形的输入图形的输入 如何开发利用如何开发利用图形输入设备及软件将图形输入到计算机中图形输入设备及软件将图形输入到计算机中去,以便作各种处
5、理。去,以便作各种处理。图形的处理图形的处理包括对图形进行变换包括对图形进行变换(几何变换,投影变换几何变换,投影变换)和运算(集合和运算(集合运算)运算),着色,形变等着色,形变等图形的输出图形的输出 如何将图形特定的表示形式转换成图形输出系统便于接如何将图形特定的表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示屏或打印机等输出设备上受的表示形式,并将图形在显示屏或打印机等输出设备上输出。输出。2023-1-268计算机图形学的研究内容计算机图形学的研究内容.与相关学科的关系与相关学科的关系数数字字图图像像数数据据模模型型图像生成(计算机图形学)图像生成(计算机图形学)模型(特征
6、)提取模型(特征)提取(计算机视觉,模式识别)(计算机视觉,模式识别)模型变换模型变换(计算几何)(计算几何)图像变换图像变换(图像处理)(图像处理).发展特点发展特点:交叉、界线模糊、相互渗透交叉、界线模糊、相互渗透DIGITAL IMAGING:2023-1-269 用计算机生成、处理和显用计算机生成、处理和显示图形的学科;由几何数据和示图形的学科;由几何数据和几何模型,利用计算机进行显几何模型,利用计算机进行显示并存储,并可以进行修改、示并存储,并可以进行修改、完善以及有关操作的过程完善以及有关操作的过程.计算机图形学2023-1-2610 计算几何 研究几何模型和数据处理的学科,研究几
7、何模型和数据处理的学科,讨论几何形体的计算机表示、分析和讨论几何形体的计算机表示、分析和综合,研究如何方便灵活、有效地建综合,研究如何方便灵活、有效地建立几何形体的数学模型以及在计算机立几何形体的数学模型以及在计算机中更好地存贮和管理这些模型数据;中更好地存贮和管理这些模型数据;2023-1-26112023-1-2611 数字图象处理是将图像信号转换为数字格式数字图象处理是将图像信号转换为数字格式并利用计算机进行处理的过程并利用计算机进行处理的过程:图像获取、图像变图像获取、图像变换、图像增强、图像复原、图像编码、图像分析、换、图像增强、图像复原、图像编码、图像分析、图像识别、图像理解。图像
8、识别、图像理解。与计算机图形学的概念容易混淆的是图像处与计算机图形学的概念容易混淆的是图像处理。计算机图形学的基本含义是使用计算机通过理。计算机图形学的基本含义是使用计算机通过算法和程序在显示设备上构造出图形来。与此相算法和程序在显示设备上构造出图形来。与此相反,图像处理是将客观世界中原来存在的物体的反,图像处理是将客观世界中原来存在的物体的影像处理成新的数字化图像的相关技术,并研究影像处理成新的数字化图像的相关技术,并研究如何从图像中提取二维或三维物体的模型。它所如何从图像中提取二维或三维物体的模型。它所研究的是计算机图形学的逆过程。研究的是计算机图形学的逆过程。2023-1-2612计算机
9、视觉和模式识别计算机视觉和模式识别:对所输入的图象进行分析和识别,找出对所输入的图象进行分析和识别,找出其中蕴涵的内在联系或抽象模型;如邮政其中蕴涵的内在联系或抽象模型;如邮政分检设备、地形地貌识别等;分检设备、地形地貌识别等;图形学的逆过程,分析和识别输入的图像,并从中提取二维或三维的数据模型(特征)。手写体识别、机器视觉2023-1-2613 计算机图形学的研究内容涉及到用计算机对图形计算机图形学的研究内容涉及到用计算机对图形数据进行处理的硬件和软件两方面的技术,主要是围数据进行处理的硬件和软件两方面的技术,主要是围绕着生成、表示物体的图形图像的准确性、真实性和绕着生成、表示物体的图形图像
10、的准确性、真实性和实时性的基础算法,大致可分为以下几类实时性的基础算法,大致可分为以下几类:2023-1-2614 (1)基于图形设备的基本图形元素的生成算)基于图形设备的基本图形元素的生成算法,如用光栅图形显示器生成直线、圆弧、二次法,如用光栅图形显示器生成直线、圆弧、二次曲线、封闭边界内的图案填充等。曲线、封闭边界内的图案填充等。(4)三维几何造型技术,对基本体素的定义、)三维几何造型技术,对基本体素的定义、输入及它们之间的布尔运算方法。输入及它们之间的布尔运算方法。(5)三维形体的实时显示,包括投影变换、坐)三维形体的实时显示,包括投影变换、坐标变换等。标变换等。(2)图形元素的几何变换
11、,即对图形的平移、)图形元素的几何变换,即对图形的平移、放大和缩小、旋转、镜像等操作。放大和缩小、旋转、镜像等操作。(3)样条曲线和样条曲面的插值、拟合、拼)样条曲线和样条曲面的插值、拟合、拼接、光顺、整体和局部修改等。接、光顺、整体和局部修改等。2023-1-2615 (8)科学计算可视化和三维数据场的可视化,)科学计算可视化和三维数据场的可视化,将科学计算中大量难以理解的数据通过计算机图形将科学计算中大量难以理解的数据通过计算机图形显示出来,从而加深人们对科学过程的理解。例如显示出来,从而加深人们对科学过程的理解。例如有限元分析的结果等;应力场、磁场的分布等;各有限元分析的结果等;应力场、
12、磁场的分布等;各种复杂的运动学和动力学问题的图形仿真等。种复杂的运动学和动力学问题的图形仿真等。(7)山、水、花、草、烟、云等自然景物的)山、水、花、草、烟、云等自然景物的模拟生成算法等。模拟生成算法等。(6)真实感图形的生成算法,包括三维图形的)真实感图形的生成算法,包括三维图形的消隐、光照、色彩、阴影、纹理及彩色浓淡图的生消隐、光照、色彩、阴影、纹理及彩色浓淡图的生成算法。成算法。2023-1-2616 图形软件发展及软件标准形成 三种类型的计算机图形软件系统:(1)用某种语言写成的子程序包 GKS(Graphics Kernel System)PHIGS(ProgrammersHerar
13、chical Iuteractive Graphics system)便于移植和推广、但执行速度相对较慢,效率低 (2)扩充计算机语言,使其具有图形生成和处理的功能 如:Turbo Pascal、Turbo C,AutoLisp,VC等。简练、紧凑、执行速度快,但不可移植(3)专用图形系统:效率高,但系统开发量大,可移植性差。(4)MATLAB,Math Works 公司,一种交互式面向对象的程 序设计语言,工程计算领域中重要应用软件.2023-1-2617通用的、与设备无关的图形包,图形标准通用的、与设备无关的图形包,图形标准 CGS(Core Graphics System,核心图形系统核
14、心图形系统,1977年年ACM 提出提出)GKS(Graphics Kernel System,)(第一个官方标准,第一个官方标准,ISO,1977)PHIGS (Programmers Herarchical Iuteractive Graphics system,程序员程序员层次交互式图形系统层次交互式图形系统)一些非官方图形软件,广泛应用于工业界,成为事实上的标准一些非官方图形软件,广泛应用于工业界,成为事实上的标准lDirectX(MS)lXlib(X-Window系统系统)lOpenGL(SGI)lAdobe公司公司Postscript 开放式、高效率的发展趋势开放式、高效率的发展趋
15、势2023-1-2618 图形数据库 图形应用程序 图形软件包 驱动程序 驱动程序 元文件输出程序 元文件 IGES,STEP GKS,GKS-3D,PHIGS CGI CGM 图形标准的层次关系2023-1-2619Virtual Reality(虚拟现实、灵境)Virtual Reality 或称虚拟环境(Virtual Environment)是用计算机技术来生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界,让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进行浏览和交互考察。输入输出设备2023-1-2620规则形体:欧氏几何方法规则形体:欧氏几何方法造型技
16、术造型技术2023-1-26212023-1-2621不规则形体:不规则形体:v分形几何方法分形几何方法v粒子系统粒子系统v纹理映射纹理映射v实体造型实体造型v基于物理的造型基于物理的造型v基于图像的造型基于图像的造型2023-1-2622v真实感图形绘制技术真实感图形绘制技术光照明模型光照明模型绘制算法绘制算法快速算法快速算法基于图像的绘制基于图像的绘制2023-1-2623图形绘制管线图形绘制管线(Pipeline)图形绘制管线的主要功能是在给定虚拟相机图形绘制管线的主要功能是在给定虚拟相机,三维三维物体物体,光源光源,照明模式照明模式,以及纹理等条件以及纹理等条件,如何生成或绘如何生成或
17、绘制一幅二维图象。它是实时绘制的核心。制一幅二维图象。它是实时绘制的核心。应用程序几何光栅绘制管线的基本结构应用程序将需要绘制的几何体(如点、线、矩形等)输入应用程序将需要绘制的几何体(如点、线、矩形等)输入到几何阶段到几何阶段光栅阶段把几何阶段的对象表示成帧缓存的象素光栅阶段把几何阶段的对象表示成帧缓存的象素.2023-1-2624模型与视点变换光照投影裁剪屏幕映射几何阶段的基本结构2023-1-2625计算机图形学的相关开发技术计算机图形学的相关开发技术 OpenGL(Open Graphics Lib)三维图形处理库、工业标准,三维设计软件三维图形处理库、工业标准,三维设计软件 ACIS
18、 Spatial Technology 公司,三维几何引擎,三维造型和显示公司,三维几何引擎,三维造型和显示DirectX 微软,图形应用程序接口(微软,图形应用程序接口(API),三维游戏),三维游戏Java3D SUN 公司定义的公司定义的3D显示接口,网上三维显示显示接口,网上三维显示VRML 标记语言,网上虚拟现实标记语言,网上虚拟现实2023-1-2626 科学可视化、计算机动画和虚拟现实是近年来计算科学可视化、计算机动画和虚拟现实是近年来计算机图形学领域的三大热门话题,而这三大热门话题的技机图形学领域的三大热门话题,而这三大热门话题的技术核心都是三维真实感图形显示。当前三维图形显示
19、在术核心都是三维真实感图形显示。当前三维图形显示在军事、航空、航天、地质、游戏、艺术造型等领域都有军事、航空、航天、地质、游戏、艺术造型等领域都有着广泛的应用。着广泛的应用。OpenGL OpenGL是目前比较完善的三维图形标准,它是是目前比较完善的三维图形标准,它是由由SGISGI公司推出,现在被公司推出,现在被MicrosoftMicrosoft、DECDEC、HPHP、SUNSUN等在等在计算机领域中占主导地位的计算机领域中占主导地位的 大公司所采用,作为三维大公司所采用,作为三维图形的标准。图形的标准。随着随着PCPC性能的不断提高,性能的不断提高,3 3D D图形图像开发已经不图形图
20、像开发已经不再是图形再是图形I I作站的专利,尤其是微软在主流操作系统作站的专利,尤其是微软在主流操作系统WndowsWndows中全面支持中全面支持OpenGLOpenGL以来,使在以来,使在PCPC机上使用机上使用OpenGLOpenGL开发高性能的图形图像产品成为一件比较简单的事情,开发高性能的图形图像产品成为一件比较简单的事情,这大大地促进了这大大地促进了OpenGLOpenGL的发展。的发展。2023-1-2627 OpenGL(Open Graphic Library)开放式图形库,是一个)开放式图形库,是一个3D图形和图形和模型库。它由模型库。它由Silicon Graphics
21、公司开发,前身是由公司开发,前身是由SGI公司为其图形工公司为其图形工作站开发的作站开发的IRIS GL。OpenGL是业界最为流行也是支持最广泛的一个是业界最为流行也是支持最广泛的一个底层底层3D技术,几乎所有的显卡厂商都在底层实现了对技术,几乎所有的显卡厂商都在底层实现了对OpenGL的支持的支持和优化。和优化。OpenGL同时也定义了一系列接口用于编程实现三维应用程序,同时也定义了一系列接口用于编程实现三维应用程序,有运行效率高、稳定性强、跨平台等特点,可运行在几乎所有平台,有运行效率高、稳定性强、跨平台等特点,可运行在几乎所有平台,包括包括Unix、Windows、Linux、OS/2
22、,也可被大多数编程语言调用,如,也可被大多数编程语言调用,如C、C+Builder、VB、VC、Delphi等。等。OpenGL并不是编程语言,它更像一个并不是编程语言,它更像一个C运行时函数库,提供了一运行时函数库,提供了一些预包装的功能,是供那些专门设计用来(并进行了优化)显示和操些预包装的功能,是供那些专门设计用来(并进行了优化)显示和操作作3D图形的计算机硬件所使用的。图形的计算机硬件所使用的。OpenGL具有多种用途,从具有多种用途,从CAD工工程到建筑应用程序、到电影中都能用来实现计算机生成的建模程序。程到建筑应用程序、到电影中都能用来实现计算机生成的建模程序。OpenGL被设计成
23、独立于硬件,独立于窗口系统的,在运行各种操被设计成独立于硬件,独立于窗口系统的,在运行各种操作系统的各种计算机上都可用,并能在网络环境下以客户作系统的各种计算机上都可用,并能在网络环境下以客户/服务器模式服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。工作,是专业图形处理、科学计算等高端应用领域的标准图形库。2023-1-2628OPenGL函数的分类函数的分类 OPenGL是一个与图形硬件无关的应用是一个与图形硬件无关的应用程序开发接口程序开发接口(API),它包含了近它包含了近200个函个函数数,使用这些函数可以开发出与现实世界相使用这些函数可以开发出与现实世界相类似的
24、三维景象。它的函数可分为类似的三维景象。它的函数可分为4类:类:核心函数、实用函数、辅助函数和专用函核心函数、实用函数、辅助函数和专用函数。数。2023-1-2629核心函数核心函数 在在OpenGLOpenGL中有中有115115个核心函数,这些函数是最基本的,都个核心函数,这些函数是最基本的,都以以glgl开头,它们可以在任何开头,它们可以在任何OpenGLOpenGL平台中使用。用于绘制各种图平台中使用。用于绘制各种图形、进行场景变换、产生光照效果、进行纹理映射等工作。形、进行场景变换、产生光照效果、进行纹理映射等工作。实用函数实用函数 核心函数比核心函数高一层次,它们将核心函数进行组织
25、和核心函数比核心函数高一层次,它们将核心函数进行组织和封装,提供比较简单的函数接口和用法,共有封装,提供比较简单的函数接口和用法,共有4343个,以个,以gluglu为前为前缀,可在任何缀,可在任何OpenGLOpenGL平台中使用。平台中使用。辅助函数辅助函数 是一些特例函数,共有是一些特例函数,共有3131个,以个,以auxaux为前缀,不能在任何为前缀,不能在任何OpenGLOpenGL平台中使用,一般用于在平台中使用,一般用于在WindowsWindows应用程序中进行窗口管应用程序中进行窗口管理和输入输出处理以及绘制一些简单的三维图形。理和输入输出处理以及绘制一些简单的三维图形。20
26、23-1-2630专用函数专用函数 由由6 6个以个以wglwgl为前缀的函数和为前缀的函数和5 5个个Win32APIWin32API函数组成,主要用于在函数组成,主要用于在WindowsWindows环境中使用环境中使用OpenGLOpenGL开发应用开发应用程序。程序。6 6个以个以wglwgl为前缀的函数用于连为前缀的函数用于连接接WindowsWindows和和OpenGLOpenGL,初始化窗口,初始化窗口,使能够在窗口中使用使能够在窗口中使用OpenGLOpenGL。5 5个个Win32APIWin32API函数用于处理象素存储格式函数用于处理象素存储格式和双缓和双缓存之间的交换
27、。存之间的交换。2023-1-2631 DirectX 是一组低级是一组低级“应用程序编程接口应用程序编程接口(API)”,可以为,可以为 Windows 程序提供高性能的硬件加速多媒体支持。程序提供高性能的硬件加速多媒体支持。DirectX 能增强计算机的多媒体功能,从而使程序可提供逼真的三能增强计算机的多媒体功能,从而使程序可提供逼真的三维图形与令人如醉如痴的音乐与声音效果。维图形与令人如醉如痴的音乐与声音效果。DirectX 使程序使程序能够轻松确定计算机的硬件性能,然后设置与之匹配的程能够轻松确定计算机的硬件性能,然后设置与之匹配的程序参数。该程序使得多媒体软件程序能够在基于序参数。该
28、程序使得多媒体软件程序能够在基于 Windows 的具有的具有 DirectX 兼容硬件与驱动程序的计算机上运行,同兼容硬件与驱动程序的计算机上运行,同时可确保多媒体程序能够充分利用高性能硬件。时可确保多媒体程序能够充分利用高性能硬件。DirectX 包含一组包含一组 API,通过它能访问高性能硬件的高,通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些级功能,如三维图形加速芯片和声卡。这些 API 控制低级控制低级功能(其中包括功能(其中包括2D图形加速)、支持输入设备(如游戏杆、图形加速)、支持输入设备(如游戏杆、键盘和鼠标)并控制着混音及声音输出键盘和鼠标)并控制着混音及声音输出