计算机图形学这个术语描述了使用计算机来创建和处理图像。本书介绍了算法和数学工具,可用于创建各种图像-逼真的视觉效果,信息技术插图,或美丽的计算机动画。图形可以是二维或三维的;图像可以完全合成,也可以通过操纵照片产生。这本书是关于基本的算法和数学,特别是那些用于产生三维物体和场景的合成图像。
实际上,做计算机图形不可避免地需要了解特定的硬件、文件格式,通常还需要一两个图形API(参见1.3节)。计算机图形学是一个快速发展的领域,因此该知识的具体内容是一个移动的目标。因此,在本书中,我们尽量避免依赖任何特定的硬件或API。我们鼓励读者用与其软件和硬件环境相关的文档来补充本文。幸运的是,计算机图形学的文化有足够的标准术语和概念,本书中的讨论应该很好地映射到大多数环境。
本章定义了一些基本术语,并提供了一些历史背景,以及与计算机图形学相关的信息源。
1.1 Graphics Areas (图形学领域)
在任何领域强加分类都是危险的,但大多数图形学从业者都会同意计算机图形学的以下主要领域:
- 建模(Modeling)以一种可以存储在计算机上的方式处理形状和外观属性的数学规范。例如,一个咖啡杯可以被描述为一组有序的3D点,以及一些插值规则来连接这些点和一个反射模型,该模型描述了光如何与杯子相互作用。(以计算机能理解的方式建立图形)
- 渲染(Rendering)是一个从艺术中继承下来的术语,用于处理3D计算机模型中阴影图像的创建(将存储在计算机里的模型渲染成图形)。
- 动画(Animation)是一种通过一系列图像创造运动幻觉的技术。动画使用建模和渲染,但随着时间的推移增加了运动的关键问题,这在基本建模和渲染中通常不处理。
还有许多涉及计算机图形学的其他领域,它们是否属于核心图形学领域是一个意见问题。这些至少都会在文中提到。这些相关领域包括:
- 用户交互(User interaction)处理输入设备(如鼠标和平板电脑)、应用程序、以图像形式反馈给用户以及其他感官反馈之间的界面。从历史上看,这个领域主要与图形相关,因为图形研究人员最早接触到现在无处不在的输入/输出设备。
- 虚拟现实(Virtual reality)试图让用户沉浸在3D虚拟世界中。这通常需要至少立体图形和头部运动的响应。对于真正的虚拟现实,还应该提供声音和力反馈。由于这一领域需要先进的3D图形和先进的显示技术,因此它往往与图形学密切相关。
- 可视化(Visualization)试图通过视觉显示让用户洞察复杂的信息。通常,在可视化问题中需要解决图形问题。
- 图像处理(Image processing)涉及二维图像的处理,在图形和视觉领域都有应用。
- 三维扫描(Three-dimensional scanning)使用测距技术来创建测量的三维模型。这样的模型对于创建丰富的视觉图像是有用的,并且这种模型的处理通常需要图形算法。
- 计算摄影(Computational photograpgy)是利用计算机图形学、计算机视觉和图像处理方法,使摄影捕捉对象、场景和环境的新方法成为可能。
1.2 Major Applications (主要应用)
几乎所有的努力都会用到计算机图形学,但是主修计算机图形技术的消费者包括以下行业:
- 电子游戏(Video games)越来越多地使用复杂的3D模型和渲染算法。
- 动画片(Cartoons)通常是直接从3D模型中渲染出来的。许多传统的2D动画使用3D模型渲染的背景,这允许连续移动的视点,而不需要大量的艺术家时间。
- 视觉效果(Visual effects)几乎使用了所有类型的计算机图形技术。几乎每一部现代电影都使用数字合成来将背景与单独拍摄的前景叠加在一起。许多电影还使用3D建模和动画来创造合成的环境、物体,甚至是大多数观众永远不会怀疑的角色。
- 动画电影(Animated films)使用许多与视觉效果相同的技术,但不一定以看起来真实的图像为目标。
- CAD/CAM代表计算机辅助设计和计算机辅助制造。这些领域使用计算机技术在计算机上设计零件和产品,然后使用这些虚拟设计来指导制造过程。例如,许多机械零件是在3D计算机建模包中设计的,然后在计算机控制的铣削设备上自动生产。