1.2 计算机图形学的概念
计算机图形学(Computer Graphics, CG)是研究怎样在数字计算机内表示、生成、处理和输出显示图形的一门学科。简单地讲,计算机图形学就是应用计算机技术合成具有真实感的数字图像、动画和视频的一门学科。
计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面建模、实体建模、真实感图形合成与显示算法,以及科学计算可视化、计算机动画、自然景物模拟、虚拟现实等。
图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。
从处理技术上来看,图形主要分为两类,一类是基于线条信息表示的,如工程图、等高线地形图、曲面的线框图等;另一类是明暗图,也就是通常所说的真实感图形。
可以说,计算机图形学一个主要的目的就是利用计算机产生令人赏心悦目的真实感图形(合成照片)。为此,必须建立图形所描述的场景和物体的几何表示,再用某种光照模型计算在假想的光源、纹理、材质属性下的光照明效果。所以计算机图形学与另一门学科——计算机辅助几何设计有着密切的关系。事实上,图形学也把可以表示几何场景的曲线曲面建模技术和实体建模技术作为其重要的研究内容之一。同时,真实感图形计算的结果是以数字图像的方式提供的,计算机图形学也就和数字图像处理技术有着密切的关系。尽管图形与数字图像两个概念之间的交叠越来越大,而且区别越来越模糊,但两者还是有区别的——数字图像强调计算机内以位图(Bitmap)形式存储的灰度信息;而计算机图形则强调景物的几何属性,计算机生成的景物由几何模型(位图或向量方式)和物理属性信息共同描述。
图形和图像包括静态的和动态的图形和图像,可按图1.1所示进行大致的分类。我们将图形分为二维(2D)图形和三维(3D)图形。为清楚起见,通常将三维多面体物体的图形称为几何形体(Shape)或景物。本书采用景物这一名称。另外,我们将由二维图像运动产生的动态图像称为视频(Video, Movie),又将使某一图形随时间变化或运动得到的动态图形称为动画(Animation)。通常意义上的图像(Image)就是绘画、照片、影像等的总称。尽管照片、影像等是从现实世界中直接采样获得的,但是在计算机中都被数字化了,因此称之为数字图像(Digital Image)。图1.2是二维数字图像的经典示例。
图1.1 对图形和图像进行分类的一种方式
需要注意的是,假如我们在显示器上显示如图1.3所示的图形,会有两种方法:一种是图形数据在计算机内以二维形式来定义和存储,显示时直接使用;另一种是图形数据在计算机内以三维几何形体来定义和存储,显示时要从某一方向向某一平面投影,变换成二维图形来显示。这是因为显示设备(显示器的屏幕和打印输出的纸面等)是二维的,所以在计算机内定义的对象不论是二维几何图形还是三维几何形体,在显示时都要变换成二维图形(数字图像)。通常,在计算机内以二维方式来定义和存储几何图形称为二维计算机图形学(2D CG),以三维方式来表示和存储几何形体(景物)称为三维计算机图形学(3D CG)。
图1.2 二维数字图像
图1.3 图形
在计算机内定义或表示图形、物体以及场景称为图形生成或几何建模(Geometric Modeling),所定义的对象称为几何模型(Geometric Model)。创建图形以及为景物建模,最初是作为计算机辅助设计开始的。图形及景物模型由点、线、面以及球、立方体、圆锥、多面体等基本数学形状描述,并在计算机内变成用它们的几何信息(坐标值)和相位信息(连接关系)表示和存储的数学模型。
我们把给这种图形或景物模型着色,以真实感的效果表现它们的技术称为绘制(Rendering),也称渲染。特别地,称模拟光照产生阴影的技术为明暗处理(Shading)。明暗处理等绘制技术的最终输出效果也依赖于作为图形输出设备的显示器及打印机等的功能。通常情况下,这些输出设备把计算机内定义的图形及景物作为像素(Pixel)的集合来表示。因此,在图形与景物的数学模型上应用绘制技术,就能将其变换成作为数字图像数据的显示模型(Display Model)。
计算机图形学的主要内容就是上述的图形或景物模型的建模和绘制,并在此基础上增加了把前面所述的三维图形或景物模型在二维平面上表示的投影变换、在计算机内使景物变形的几何变换和进一步使景物运动作为动态图像显示的动画等。这些成为了计算机图形技术的构成要素。
与此对照,把现实世界中的景物用图像输入设备(如数码相机、扫描仪、手绘板等)作为像素的集合采集进来,并在计算机内进行适当处理,最后作为图像从图形输出设备输出。这种情况一般不属于计算机图形学的范畴,通常属于数字图像处理技术这一重要领域。图1.4简单给出了计算机图形学与其紧密相关的数字图像处理和计算机视觉之间的关系。在本书中,主要涉及“在计算机内进行三维建模、绘制并在显示器等二维图形输出设备上进行显示的技术”这些三维计算机图形学的内容。而与计算机图形学相关的数字图像处理技术仅讨论本书中涉及的一些必要的内容,至于计算机视觉则完全不会涉及。
图1.4 计算机图形学、数字图像处理和计算机视觉的关系