This text shows students how to translate geometry concepts into computer code so that they can generate pictures representing the relevant concepts. Chapter 1 and Chapters 4 through 5 present the fundamental mathematical concepts needed for two- and three-dimensional computer graphics, including matrices, vector spaces, transformations, and homogeneous coordinates. Chapter 2 presents the various languages in which these ideas are communicated, such as programming languages and page description language. Chapters 3 and 6 present many different ways of describing pictures mathematically. These two chapters also contain many examples of mathematical theories that the student can illustrate using the methods of the book.