Skip to main content
Top

2022 | Book

Mathematics for Computer Graphics

share
SHARE
insite
SEARCH

About this book

John Vince explains a comprehensive range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, special effects, virtual reality, CAD and other areas of computer graphics in this completely revised and expanded sixth edition.

The first five chapters cover a general introduction, number sets, algebra, trigonometry and coordinate systems, which are employed in the following chapters on determinants, vectors, matrix algebra, complex numbers, geometric transforms, quaternion algebra, quaternions in space, interpolation, curves and patches, analytical geometry and barycentric coordinates. Following this, the reader is introduced to the relatively new subject 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

• Complex numbers

• Coordinate systems

• Determinants

• Vectors

• Quaternions

• Matrix algebra

• Geometric transforms

• Interpolation

• Curves and surfaces

• Analytic geometry

• Barycentric coordinates

• Geometric algebra

• Differential calculus

• Integral calculus

This sixth edition contains approximately 150 worked examples and over 330 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 software and setting the scene for further reading of more advanced books and technical research papers

Table of Contents

Frontmatter
Chapter 1. Introduction
Abstract
Computer graphics contains many areas of specialism such as data visualisation, computer animation, film special effects, computer games and virtual reality. 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. Omit this chapter, if you are familiar with the subject.
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. The reason for this consistency is due to the rules associated with numbers and the way they are combined together and manipulated at an abstract level. Such rules, or axioms, generally make our life easy, however, as we saw with the invention of negative numbers, extra rules have to be introduced, such as ‘two negatives make a positive’, which is easily remembered. However, as we explore mathematics, we discover all sorts of inconsistencies, such as there is no real value associated with the square-root of a negative number. It’s forbidden to divide a number by zero. Zero divided by zero gives inconsistent results. Nevertheless, such conditions are easy to recognise and avoided. At least in mathematics, we don’t have to worry about masculine and feminine numbers!
John Vince
Chapter 4. TrigonometryTrigonometry
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.
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.
John Vince
Chapter 9. Complex Numbers
Abstract
In this chapter we investigate complex numbers and show how they can be thought of as an ordered pair. We also show how they are represented by a matrix. Many of the qualities associated with quaternions are found in complex numbers, which is why they are worthy of close examination.
John Vince
Chapter 10. 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 11. Quaternion Algebra
Abstract
This chapter contains some historical background to the invention of quaternions, and covers the evolution of quaternion algebra. I show how quaternion algebra is greatly simplified by treating a quaternion as an ordered pair, and provide examples of addition, subtraction, real, pure and unit quaternions. After defining the complex conjugate, norm, quaternion product, square and inverse, I show how a quaternion is represented by a matrix. The chapter concludes with a summary of the important definitions and several worked examples.
John Vince
Chapter 12. Quaternions in Space
Abstract
In this chapter we show how quaternions are used to rotate vectors about an arbitrary axis. We begin by reviewing some of the history associated with quaternions, and the development of octonions.
John Vince
Chapter 13. 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 14. 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 15. 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 16. 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 17. Geometric Algebra
Abstract
This can only be a brief introduction to geometric algebra as the subject really demands an entire book.
John Vince
Chapter 18. 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 [1], and condensed them into two chapters.
John Vince
Chapter 19. 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 20. 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
Backmatter
Metadata
Title
Mathematics for Computer Graphics
Author
Prof. John Vince
Copyright Year
2022
Publisher
Springer London
Electronic ISBN
978-1-4471-7520-9
Print ISBN
978-1-4471-7519-3
DOI
https://doi.org/10.1007/978-1-4471-7520-9