Skip to main content
main-content
Top

About this book

This book presents a broad overview of computer graphics (CG), its history, and the hardware tools it employs. Covering a substantial number of concepts and algorithms, the text describes the techniques, approaches, and algorithms at the core of this field. Emphasis is placed on practical design and implementation, highlighting how graphics software works, and explaining how current CG can generate and display realistic-looking objects. The mathematics is non-rigorous, with the necessary mathematical background introduced in the Appendixes.
Features: includes numerous figures, examples and solved exercises; discusses the key 2D and 3D transformations, and the main types of projections; presents an extensive selection of methods, algorithms, and techniques; examines advanced techniques in CG, including the nature and properties of light and color, graphics standards and file formats, and fractals; explores the principles of image compression; describes the important input/output graphics devices.

Table of Contents

Basic Techniques

Frontmatter

1. Historical Notes

We start our long voyage in computer graphics with a short survey of the history of this field and the names of some of its pioneers. This is followed by a detailed list of several types of available resources.
David Salomon (emeritus)

2. Raster Graphics

“An image is worth a thousand words” is a well-known saying. It reflects the truth because the human eye–brain system is a high-capacity, sophisticated data processor. We can “digest” a huge amount of information if we receive it visually, as an image, rather than as a list of numbers. This is the reason for the success of computer graphics. However, if one image conveys a lot of information, many images are even more informative. This is why computer animation is so popular. It can bring to life impossible or non-existent objects and can teach and entertain.
David Salomon (emeritus)

3. Scan Conversion

In a raster-scan graphics system, two steps are necessary in order to display a geometric figure: (1) a scan-converting algorithm should be executed to select the best pixels (the ones closest to the ideal figure) and (2) the selected pixels should be turned on.
David Salomon (emeritus)

Transformations and Projections

Frontmatter

4. Transformations

The 1960s were the golden age of computer graphics. This was the time when many of its basic methods, algorithms, and techniques were developed, tested, and improved. Two of the most important concepts that were identified and studied in those years were transformations and projections.
David Salomon (emeritus)

5. Parallel Projections

The projections discussed in this book transform a scene from three dimensions to two dimensions. Projections are needed because computer graphics is about designing and constructing three-dimensional scenes, but graphics output devices are two-dimensional.
David Salomon (emeritus)

6. Perspective Projection

The term perspective refers to several techniques that create the illusion of depth (three dimensions) on a two-dimensional surface. Linear perspective is one of these methods. It can be defined as a method for correctly placing objects in a painting or a drawing so they appear closer to the observer or farther away from him. The keyword in this definition is correctly. It implies that a flat picture in linear perspective creates in the viewer’s brain the same sensation as the original three-dimensional scene. The main tool employed by linear perspective is vanishing points.
David Salomon (emeritus)

7. Nonlinear Projections

In addition to the parallel and perspective projections, other projections may be developed that are useful for special applications or that create ornamental or artistic effects.
David Salomon (emeritus)

Curves and Surfaces

Frontmatter

8. Basic Theory

Real-life methods for constructing curves and surfaces often start with points and vectors, which is why we start with a short discussion of the properties of these mathematical entities. The material in this section applies to both two-dimensional and three-dimensional points and vectors, but the examples are given in two dimensions.
David Salomon (emeritus)

9. Linear Interpolation

In order to achieve realism, the many algorithms and techniques employed in computer graphics have to construct mathematical models of curved surfaces, models that are based on curves.
David Salomon (emeritus)

10. Polynomial Interpolation

Given a set of points, it is possible to construct a polynomial that when plotted passes through the points. When fully computed and displayed, such a polynomial becomes a curve that’s referred to as a polynomial interpolation of the points.
David Salomon (emeritus)

11. Hermite Interpolation

The curve and surface methods of the preceding chapters are based on points. Using polynomials, it is easy to construct a parametric curve segment (or surface patch) that passes through a given one-dimensional array or two-dimensional grid of points.
David Salomon (emeritus)

12. Spline Interpolation

Given a set of points, it is easy to compute a polynomial that passes through the points. The Lagrange polynomial (LP) of Section 10.2 is an example of such a polynomial. However, as the discussion in Section 8.8 (especially Exercise 8.16) illustrates, a curve based on a high-degree polynomial may wiggle wildly and its shape may be far from what the user has in mind.
David Salomon (emeritus)

13. Bézier Approximation

Bézier methods for curves and surfaces are popular, are commonly used in practical work, and are described here in detail. Two approaches to the design of a Bézier curve are described, one using Bernstein polynomials and the other based on the mediation operator. Both rectangular and triangular Bézier surface patches are discussed, with examples.
David Salomon (emeritus)

14. B-Spline Approximation

This is the second volume of A Manual of Computer Graphics. This textbook/reference is big because the discipline of computer graphics is big. There are simply many topics, techniques, and algorithms to discuss, explain, and illustrate by examples. Because of the large number of pages, the book has been produced in two volumes. However, this division of the book into volumes is only technical and the book should be considered a single unit.
David Salomon (emeritus)

15. Subdivision Methods

The Bézier curve can be constructed either as a weighted sum of control points or by the process of scaffolding. These are two very different approaches that lead to the same result.
David Salomon (emeritus)

16. Sweep Surfaces

The surfaces described in this chapter are obtained by transforming a curve. They are not generated as interpolations or approximations of points or vectors and are consequently different from the surfaces described in previous chapters.
David Salomon (emeritus)

Advanced Techniques

Frontmatter

17. Rendering

Rendering is a general term for methods that display a realistic-looking three-dimensional solid object on a two-dimensional output device (normally screen or paper). Perhaps the simplest way to render an object is to display its surface as a wireframe. The next step in rendering is to display, as a wireframe, only those parts of the surface that would be visible in real life. More realistic rendering is achieved by shading–computing the amount and color of the light emitted from every point of the surface. Complete realism may be achieved by simulating surface texture, reflections from neighboring surfaces, and shadows cast by all the objects in the scene.
David Salomon (emeritus)

18. Visible Surface Determination

We are surrounded by objects of every size, shape, and color, but we don’t see all of them. Nearby objects tend to obscure parts of distant objects. The visibility problem, the problem of deciding which elements of a rendered scene are visible by a given observer, and which are hidden, has to be solved by any three-dimensional graphics program or software package.
David Salomon (emeritus)

19. Computer Animation

Webster defines “animate” as “to give life to; to make alive.” This is precisely what we feel when we watch a well-made piece of animation, and this is the reason why traditional animation has always been popular and why computer animation is such a successful field. In fact, computer graphics has developed over the years in three stages. The first stage was to display a single image consisting of smooth, curved, realistic-looking surfaces. The second stage was to create and display an entire animation made of many frames, where each frame is an image. The third stage is virtual reality, where the user can interact with the animation.
David Salomon (emeritus)

20. Graphics Standards

Standards are useful in many aspects of everyday life. A notable example is the automobile. Early cars had controls whose placement and function were dictated by engineers, often without much thought of the driver. As car technology matured, a consensus slowly emerged, and virtually all current passenger cars are driven in the same way and have the same set of controls. The development of bicycles, motorcycles, and airplanes followed similar trends.
David Salomon (emeritus)

21. Color

The chief topics discussed in this chapter are the nature of light, the nature of color, color and human vision, various color spaces (or models), additive and subtractive colors, complementary colors, and the CIE diagram.
David Salomon (emeritus)

22. Fractals

The function plotted in Figure 22.1 is a complicated wave. It oscillates rapidly and goes up and down unpredictably. Yet we know from experience that if we magnify such a wave and examine small parts of it in detail, we may eventually find parts that are smooth and behave like the curves of most common functions such as square root, logarithm, sine, and polynomials.
David Salomon (emeritus)

Image Compression

Frontmatter

23. Compression Techniques

In the last few decades, the digital computer has risen to become an integral part of our lives. It influences every aspect of our existence from commerce to kitchens and from entertainment to education. A large part of that influence is graphic
David Salomon (emeritus)

24. Transforms and JPEG

The concept of a transform is familiar to mathematicians. A transform is a standard mathematical tool that is employed to solve problems in many areas. The idea is to transform a mathematical quantity (a number, a vector, a function, or anything else) to another form, where it may look unfamiliar but may have useful properties.
David Salomon (emeritus)

25. The Wavelet Transform

The concept of a transform was introduced in Section 24.1 and the rest of Chapter 24 discusses orthogonal transforms. The transforms dealt with in this chapter are different and are referred to as subband transforms, because they partition an image into various bands or regions that contain different features of the image.
David Salomon (emeritus)

Graphics Devices

Frontmatter

26. Graphics Devices

The first electronic computers were built in the 1940s, during and after World War II, and were used mostly for cryptanalysis (code breaking) and to compute firing tables. These are numeric applications, which require CPU time but use little input or output. Already in the 1950s, after using computers for just a few years, computer designers and users realized that computers can also be used for nonnumeric applications.
David Salomon (emeritus)

27. Appendixes

The following appendixes are an integral part of this book. They contain material necessary for a full understanding of the topics discussed elsewhere in the book.
David Salomon (emeritus)
Additional information