An Interactive Tutorial
Third Revision, July 2003
This is a tutorial on vector algebra and matrix algebra from the viewpoint of computer graphics. It covers most vector and matrix topics needed to read college-level computer graphics text books. Most graphics texts cover these subjects in an appendix, but it is often too short.
The purpose of these notes is to expand on the mathematical appendix included with most graphics books, not to teach the material in the main text of those books. Many important subjects are not treated here. Such topics are 2D and 3D transformations, transformations between coordinate systems, and projections. Just when the math gets interesting and useful is where these notes stop.
Although primarily aimed at university computer science students, this tutorial is useful to any programmer interested in 3D computer graphics or 3D computer game programming. In spite of their appealing blood-and-gore covers, mass trade books on game programming require the same understanding of vectors and matrices as college text books (and usually defer these topics to the same skimpy mathematical appendix).
This tutorial is useful for more than computer graphics. Vectors and matrices are used in all scientific and engineering fields, and any other field that uses computers (are there any that don't?) In many fields, the vocabulary used for vectors and matrices does not match that used in computer graphics. But the ideas are the same, and reading these notes will take only a slight mental adjustment.
These notes assume that you have studied plane geometry and trigonometry sometime in the past. Notions such as point, line, plane, and angle should be familiar to you. Other notions such as sine, cosine, determinant, real number, and the common trig identities should at least be a distant memory.
Although primarily aimed at university computer science students, this tutorial is useful to any programmer interested in 3D computer graphics or 3D computer game programming. In spite of their appealing blood-and-gore covers, mass trade books on game programming require the same understanding of vectors and matrices as college text books (and usually defer these topics to the same skimpy mathematical appendix).
This tutorial is useful for more than computer graphics. Vectors and matrices are used in all scientific and engineering fields, and any other field that uses computers (are there any that don't?) In many fields, the vocabulary used for vectors and matrices does not match that used in computer graphics. But the ideas are the same, and reading these notes will take only a slight mental adjustment.
These notes assume that you have studied plane geometry and trigonometry sometime in the past. Notions such as point, line, plane, and angle should be familiar to you. Other notions such as sine, cosine, determinant, real number, and the common trig identities should at least be a distant memory.