Essential Math for Games Programmers


General References

Computer Graphics: Principles and Practice, by Foley, van Dam, Feiner and Hughes (companion source code)
Real-Time Rendering, by Akenine-Möller and Haines (companion web site)
3D Game Engine Design, by Eberly (Geometric Tools site)
Mathematics: From the Birth of Numbers, by Gullberg
Jim Blinn’s Corner: A Trip Down the Graphics Pipeline
, by Blinn
Jim Blinn's Corner: Dirty Pixels, by Blinn
Jim Blinn's Corner: Notation, Notation, Notation, by Blinn
Game Programming Gems
, by DeLoura (editor)
Game Programming Gems 2, by DeLoura (editor)
Game Programming Gems 3, by Treglia (editor)
Game Programming Gems 4, by Kirmse (editor) (contains an article by Jim)
Game Programming Gems 5, by Pallister (editor) (contains an article by Jim)
Game Developer magazine source code
Chris Hecker's home page
Jeff Lander's Game Developer articles
Jonathan Blow's home page

Mathematical Background

Elementary Linear Algebra, by Anton and Rorres (earlier editions can also be found)
Linear Algebra Done Right, by Axler
Three-Dimensional Computer Graphics: A Coordinate Free Approach, by DeRose
Matrix Computations, by Golub and van Loan
Numerical Analysis, by Burden and Faires
Scientific Computation and Differential Equations, by Golub and Ortega
"An Introduction to the Conjugate Gradient Technique Without the Agonizing Pain", by Shewchuk

Curves and Animation

Computer Animation: Algorithms and Techniques, by Parent
An Introduction to Splines for Use in Computer Graphics & Geometric Modelling, by Bartels, Beatty, and Barsky
Mathematical Elements for Computer Graphics, by Rogers and Adams
An Introduction to NURBS: With Historical Perspective, by Rogers
Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation, by Welman
"Real-Time Inverse Kinematics: The Return of the Jacobian", by Meredith and Maddock
"Real-Time Inverse Kinematics Techniques for Anthropomorphic Limbs", by Tolani, Goswami, and Badler


On Quaternions, by Hamilton
Using Quaternions to Represent Rotation
A Proof of the Quaternion Rotation Representation

Computational Geometry

Computational Geometry: An Introduction, by Preparata and Shamos
Computational Geometry in C, by O’Rourke (source code - in Java, as well)
Geometric Tools for Computer Graphics
, by Schneider and Eberly
Source code for Graphics Gems I-V

Physical Simulation and Collision

Game Physics, by Eberly (Geometric Tools site)
Witkin and Baraff's SIGGRAPH Course Notes
Fundamentals of Physics, by Halliday, Resnik, and Walker (earlier editions can also be found)
Collision Detection in Interactive 3D Environments, by van den Bergen (SOLID website)
Real-Time Collision Detection, by Ericson (companion web site)
Eric Weisstein's World of Physics
"Advanced Character Physics", by Jakobsen
“Impulse-Based Simulation of Rigid Bodies”, by Mirtich and Canny
"Real-Time Fluid Dynamics for Games", by Stam
Research papers by David Wu and others at Pseudo Interactive
Team Gamma at UNC (collision detection research)
Berkeley Computer Animation and Modeling (deformation and fracture research)
GPU Programming and Architecture (course at University of Pennsylvania)

Copyright © 2004, James M. Van Verth
Last updated: July 9, 2007