main-content

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 completely revised and expanded fifth edition.

The first five chapters cover a general introduction, number sets, algebra, trigonometry and coordinate systems, which are employed in the following chapters on vectors, matrix algebra, transforms, interpolation, curves and patches, analytic geometry and barycentric coordinates. Following this, the reader is introduced to the relatively new topic of geometric algebra, followed by two chapters that introduce differential and integral calculus. Finally, there is a chapter on worked examples.

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

· Number sets

· Algebra

· Trigonometry

· Coordinate systems

· Determinants

· Vectors

· Quaternions

· Matrix algebra

· Geometric transforms

· Interpolation

· Curves and surfaces

· Analytic geometry

· Barycentric coordinates

· Geometric algebra

· Differential calculus

· Integral calculus

This fifth edition contains over 120 worked examples and over 320 colour 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.

### Chapter 1. Introduction

Abstract
Computer graphics contains many areas of specialism, such as data visualisation, 2D computer animation, film special effects, computer games and 3D computer animation. Fortunately, not everyone working in computer graphics requires a knowledge of mathematics, but those that do, often look for a book that introduces them to some basic ideas of mathematics, without turning them into mathematicians.
John Vince

### Chapter 2. Numbers

Abstract
This chapter revises some basic ideas about counting and number systems, and how they are employed in the context of mathematics for computer graphics.
John Vince

### Chapter 3. Algebra

Abstract
Some people, including me, find learning a foreign language a real challenge; one of the reasons being the inconsistent rules associated with its syntax. For example, why is a table feminine in French, ‘la table’, and a bed masculine, ‘le lit’? They both have four legs! The rules governing natural language are continuously being changed by each generation, whereas mathematics appears to be logical and consistent.
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
In this chapter we revise 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. Determinants

Abstract
When patterns of numbers or symbols occur over and over again, mathematicians often devise a way to simplify their description and assign a name to them. For example.
John Vince

### Chapter 7. 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 8. Matrix Algebra

Abstract
This chapter introduces matrix algebra, which is a notation widely used in computer graphics. Matrices are used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects, and like determinants, have their background in algebra and offer another way to represent and manipulate equations. Matrices can be added, subtracted and multiplied together, and even inverted, however, they must give the same result obtained through traditional algebraic techniques. Once you have understood the idea behind matrix notation, feel free to go to the next chapter and study their role in geometric transforms, and come back to the more advanced ideas in this chapter.
John Vince

### Chapter 9. Geometric Transforms

Abstract
This chapter shows how matrices are used to scale, translate, reflect, shear and rotate 2D shapes and 3D objects. The reader should try to understand the construction of the various matrices and recognise the role of each matrix element. After a little practice, it will be possible to define a wide variety of matrices without thinking about the underlying algebra.
John Vince

### Chapter 10. Interpolation

Abstract
This chapter covers linear and non-linear interpolation of scalars, and includes trigonometric and cubic polynomials.
John Vince

### Chapter 11. 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 12. Analytic Geometry

Abstract
This chapter explores some basic elements of geometry and analytic geometry that are frequently encountered in computer graphics.
John Vince

### Chapter 13. 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.
John Vince

### Chapter 14. 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 15. 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.
John Vince

### Chapter 16. 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 17. 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 18. Conclusion

Abstract
In the previous 17 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.
John Vince