i
i
i
i
i
i
i
i
1
Introduction
The term computer graphics describes any use of computers to create and ma-
nipulate images. This book introduces the algorithmic and mathematical tools
that can be used to create all kinds of images—realistic visual effects, informative
technical illustrations, or beautiful computer animations. Graphics can be two- or
three-dimensional; images can be completely synthetic or can be produced by ma-
nipulating photographs. This book is about the fundamental algorithms and math-
ematics, especially those used to produce synthetic images of three-dimensional
objects and scenes.
Actually doing computer graphics inevitably requires knowing about spe-
cic hardware, le formats, and usually a graphics API (see Section 1.3) or two.
Computer graphics is a rapidly evolving eld, so the specics of that knowledge
API: application program in-
terface.
are a moving target. Therefore, in this book we do our best to avoid depending
on any specic hardware or API. Readers are encouraged to supplement the text
with relevant documentation for their software and hardware environment. For-
tunately, the culture of computer graphics has enough standard terminology and
concepts that the discussion in this book should map nicely to most environments.
This chapter denes some basic terminology, and provides some historical
background as well as information sources related to computer graphics.
1.1 Graphics Areas
Imposing categories on any eld is dangerous, but most graphics practitioners
would agree on the following major areas of computer graphics:
1
i
i
i
i
i
i
i
i
2 1. Introduction
Modeling deals with the mathematical specication of shape and appear-
ance properties in a way that can be stored on the computer. For example,
a coffee mug might be described as a set of ordered 3D points along with
some interpolation rule to connect the points and a reection model that
describes how light interacts with the mug.
Rendering is a term inherited from art and deals with the creation of
shaded images from 3D computer models.
Animation is a technique to create an illusion of motion through sequences
of images. Animation uses modeling and rendering but adds the key issue
of movement over time, which is not usually dealt with in basic modeling
and rendering.
There are many other areas that involve computer graphics, and whether they are
core graphics areas is a matter of opinion. These will all be at least touched on in
the text. Such related areas include the following:
User interaction deals with the interface between input devices such as
mice and tablets, the application, feedback to the user in imagery, and
other sensory feedback. Historically, this area is associated with graph-
ics largely because graphics researchers had some of the earliest access to
the input/output devices that are now ubiquitous.
Virtual reality attempts to immerse the user into a 3D virtual world. This
typically requires at least stereo graphics and response to head motion.
For true virtual reality, sound and force feedback should be provided as
well. Because this area requires advanced 3D graphics and advanced dis-
play technology, it is often closely associated with graphics.
Visualization attempts to give users insight into complex information via
visual display. Often there are graphic issues to be addressed in a visualiza-
tion problem.
Image processing deals with the manipulation of 2D images and is used in
both the elds of graphics and vision.
3D scanning uses range-nding technology to create measured 3D models.
Such models are useful for creating rich visual imagery, and the processing
of such models often requires graphics algorithms.
Computational photography is the use of computer graphics, computer
vision, and image processing methods to enable new ways of photographi-
cally capturing objects, scenes, and environments.

Get Fundamentals of Computer Graphics, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.