Skip to main content
main-content
Top

About this book

John Vince explains a wide range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, virtual reality, CAD and other areas of computer graphics in this updated and expanded fourth edition.

The first four chapters revise number sets, algebra, trigonometry and coordinate systems, which are employed in the following chapters on vectors, transforms, interpolation, 3D curves and patches, analytic geometry and barycentric coordinates. Following this, the reader is introduced to the relatively new topic of geometric algebra, and the last two chapters provide an introduction to differential and integral calculus, with an emphasis on geometry.

Mathematics for Computer Graphics covers all of the key areas of the subject, including:

Number setsAlgebraTrigonometryCoordinate systemsTransformsQuaternionsInterpolationCurves and surfacesAnalytic geometryBarycentric coordinatesGeometric algebraDifferential calculusIntegral calculus

This fourth edition contains over 120 worked examples and over 270 illustrations, which are central to the author’s descriptive writing style. Mathematics for Computer Graphics provides a sound understanding of the mathematics required for computer graphics, giving a fascinating insight into the design of computer graphics software and setting the scene for further reading of more advanced books and technical research papers.

Table of Contents

Chapter 1. Mathematics

Abstract
Chapter 1 describes the aims and objectives of the book, which are to introduce a range of mathematical topics, without employing too many mathematical symbols and abstract ideas, and provide programmers, animators and technical directors with sufficient confidence and knowledge of mathematics, that they can understand and resolve many of the problems encountered in their day-to-day work.
Advice is also given on the book’s readership, their background and how to access the different chapters.
John Vince

Chapter 2. Numbers

Abstract
Numbers are at the heart of mathematics. Some, like prime numbers, are enigmatic, and defy all attempts to predict their arrival; while others, like integers, are well behaved, and can be counted on! This chapter revises some basic ideas about numbers and how we refer to them in the context of mathematics for computer graphics. In particular, I include: natural, prime, integer, rational, irrational, real, imaginary and complex numbers. I also provide a short description on set notation, and our positional number system.
John Vince

Chapter 3. Algebra

Abstract
Although algebra can be a very abstract mathematical tool, we only need to explore those practical features relevant to its application in computer graphics. Therefore, this chapter reviews the basic elements of algebra to prepare the reader for the algebraic manipulations used in later chapters.
John Vince

Chapter 4. Trigonometry

Abstract
This chapter covers some basic features of trigonometry such as: angular measure, trigonometric ratios, inverse ratios, trigonometric identities and various rules, with which the reader should be familiar.
John Vince

Chapter 5. Coordinate Systems

Abstract
This chapter revises Cartesian coordinates, axial systems, the distance between two points in space, and the area of simple 2D shapes. It also covers polar, spherical polar and cylindrical coordinate systems.
John Vince

Chapter 6. Vectors

Abstract
This chapter provides a comprehensive introduction to vectors. It covers 2D and 3D vectors, unit vectors, position vectors, Cartesian vectors, vector magnitude, vector products, and area calculations. It also shows how vectors are used in lighting calculations and back-face detection.
John Vince

Chapter 7. Transforms

Abstract
This chapter covers a subject that is central to computer graphics: transforms, which are used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects. The chapter also covers matrix notation, as transforms are normally represented as matrices.
John Vince

Chapter 8. Interpolation

Abstract
This chapter covers linear and non-linear interpolation of scalars, and includes trigonometric and cubic polynomials. It also includes the interpolation of vectors and quaternions.
John Vince

Chapter 9. Curves and Patches

Abstract
In this chapter we investigate the foundations of curves and surface patches. This is a very large and complex subject and it will be impossible to delve too deeply. However, we can explore many of the ideas that are essential to understanding the mathematics behind 2D and 3D curves and how they are developed to produce surface patches. Once you have understood these ideas you will be able to read more advanced texts and develop a wider knowledge of the subject.
John Vince

Chapter 10. Analytic Geometry

Abstract
This chapter explores some basic elements of geometry and analytic geometry that are frequently encountered in computer graphics. For completeness, I have included a short review of important elements of Euclidean geometry with which you should be familiar. Perhaps the most important topics that you should try to understand concern the definitions of straight lines in space, 3D planes, and how points of intersection are computed. Another useful topic is the role of parameters in describing lines and line segments, and their intersection.
John Vince

Chapter 11. Barycentric Coordinates

Abstract
Cartesian coordinates are a fundamental concept in mathematics and are central to computer graphics. Such rectangular coordinates are just offsets relative to some origin. Other coordinate systems also exist such as polar, spherical and cylindrical coordinates, and they too, require an origin. Barycentric coordinates, on the other hand, locate points relative to existing points, rather than to an origin and are known as local coordinates.
John Vince

Chapter 12. Geometric Algebra

Abstract
This can only be a brief introduction to geometric algebra as the subject really demands an entire book. Those readers who wish to pursue the subject further should consult the author’s books: Geometric Algebra for Computer Graphics or Geometric Algebra: An Algebraic System for Computer Games and Animation.
John Vince

Chapter 13. Calculus: Derivatives

Abstract
Calculus is a very large subject, and calculus books have a reputation for being heavy. Therefore, to minimise this book’s weight, and provide a gentle introduction to the subject, I have selected specific topics from my book Calculus for Computer Graphics, and condensed them into two chapters.
One branch of calculus is concerned with a function’s derivative, which describes how fast a function changes relative to its independent variable. In this chapter, I show how limits are used in this process. We begin with some historical background, and then look at small numerical quantities, and how they can be ignored if they occur in certain products, but remain important in quotients.
John Vince

Chapter 14. Calculus: Integration

Abstract
In this chapter I develop the idea that integration is the inverse of differentiation, and examine standard algebraic strategies for integrating functions, where the derivative is unknown; these include simple algebraic manipulation, trigonometric identities, integration by parts, integration by substitution and integration using partial fractions.
John Vince

Chapter 15. Worked Examples

Abstract
This chapter examines a variety of problems encountered in computer graphics and develops mathematical strategies for their solution. Such strategies may not be the most efficient, however, they will provide the reader with a starting point, which may be improved upon.
John Vince

Chapter 16. Conclusion

Abstract
In the previous 15 chapters I have attempted to introduce you to some of the important elements of mathematics employed in computer graphics. I knew from the start that this would be a challenge for two reasons: one was knowing where to start, and the other was where to stop. I assumed that most readers would already be interested in computer animation, games or virtual reality, and so on, and knew something about mathematics. So perhaps the chapters on numbers, algebra and trigonometry provided a common starting point.
John Vince
Additional information