This is the first part of a multi-part primer and reference for the math we’ll be using extensively throughout this blog. If you’ve been around game or graphics programming for any length of time, you’re probably at least somewhat familiar with many of these topics. However, you might be a bit rusty or might not know some of the more advanced details, so I’ll try and review as much ground as I can. Please either bear with me through the basics or just skip ahead to my later posts if you feel comfortable with this material.
A few notes before we dive in:
First and foremost, there is absolutely no way that I can teach you linear algebra in the span of several blog posts! J If this material is completely foreign to you, I strongly recommend picking up a good book on the subject. These blog posts are only meant as a refresher and reference for later blog posts. Please see the end of the post for a references section for further reading.
I’ll be using the following mathematical notation throughout my posts, which is pretty standard:
Real numbers, integers, 3-tuples of real numbers
Point, line segment, triangle
Vector, transpose vector, zero vector, i-th component of a vector.
Matrix, identity matrix, transpose matrix, inverse matrix
Subset, superset, element of, not element of, empty set, union, intersection
I’ll define other symbols as we go (and update this post with those), but that should be a good start for now.
The Math Primer series will be divided into the following sections. I’ll enable each link below as the posts are published:
1. Vectors I: Points vs. vectors
2. Vectors II: Vector operations
3. Vectors III: Affine spaces, linear and affine combinations
4. Matrices I: Introduction and Basic Operations
5. Matrices II: Linear Transformations
6. Matrices III: Affine Transformations
7. Rotation Representations & Quaternions
References and Links
1. One of my favorite books on linear algebra, specifically in the context of games: Essential Mathematics for Games and Interactive Applications by James M. Van Verth & Lars M. Bishop
2. Great book on basic game physics: Game Physics Engine Development by Ian Millington
3. More advanced book on game physics: Game Physics by David H. Eberly
4. Excellent coverage of advanced collision detection algorithms: Collision Detection in Interactive 3D Environments by Gino van den Bergen
5. One of the best and most comprehensive texts on various collision detection and intersection tests: Real-Time Collision Detection by Christer Ericson
1. Great papers and write ups of various techniques: http://www.geometrictools.com/Documentation/Documentation.html
2. More great collision detection papers: http://www.dtecta.com/ (under the ‘Interesting’ section)