3D Math Primer for Graphics and Game Development covers fundamental 3D math concepts that are especially useful for computer game developers and programmers. The authors discuss the mathematical theory in detail and then provide the geometric interpretation necessary to make 3D math intuitive. Working C++ classes illustrate how to put the techniques into practice, and exercises at the end of each chapter help reinforce the concepts. This book explains basic concepts such as vectors, coordinate spaces, matrices, transformations, Euler angles, homogenous coordinates, geometric primitives, intersection tests, and triangle meshes; discusses orientation in 3D, including thorough coverage of quaternions and a comparison of the advantages and disadvantages of different representation techniques; describes working C++ classes for mathematical and geometric entities and several different matrix classes, each tailored to specific geometric tasks; includes complete derivations for all the primitive transformation matrices.
Most mathematics books are very dry, and almost appear to be written for the people who already understand the concepts.
While not as complete or mathsy as a lot of the others I've read, this book goes to great lengths to demonstrate geometric interpretations, answering questions like, "What does a matrix 'look' like?", "What does a coordinate space transformation 'look' like?" and things of that ilk -- tremendously useful. This book helped me a great deal during university and gave me a much better understanding of the concepts.
I'm not really a fan of the source code listings in the book, as they're plentiful and not particularly to my taste, but the rest of the book is great.
It's a great book to start on this topic. Maybe you can complement it with an OpenGL book. It has exercises in each chapter, they're very good to check progress.
Surprisingly light and easy to read given the density and dryness of the subject matter. I still refer to this text from time to time at work and the clean structure of the book makes it easy to do so.
My only complaint (and it is a minor one) is that I wish it went a little bit more in depth about practical applications/performance especially in the gameplay/3C context.
Shawn P recommended this book for us non-CIS guys that want to get deeper into 3D. Worked with him on an animated film, before he left to work at a major game studio. Great guy, very knowledgeable... what I'm sayin is, I trust his judgment.