Learn more Shop now Learn more Shop now Shop now Shop now Shop now Shop now Learn More Shop now Learn more Click Here Shop Kindle Learn More Shop now Shop Women's Shop Men's



on 3 March 2012
Since I first started working as a programmer in the game industry in the mid 1990s I have been looking for a book that explains the maths that underpin 3D games from first principles, doesn't assume any more than absolutely neccessary about the mathematical experience of the reader, and doesn't just throw pages of mathematical notation at you.

I never found maths difficult at school, but I did find pure maths boring and so I ditched it as soon as I was able. Ironically it was the topic of vector and matrix maths that was the final straw that made me decide to drop maths as a subject. D'oh. I still studied physics, chemistry, and biology so I was able to get onto a Jt hons BSc in Computer Science / AI and Psychology which was pretty light on maths, and do the course without any trouble and as little maths as possible.

Anyway, my first task in my first job was to see if I could re-write and optimise the collision system in a fully 3D car dynamics prototype (which would eventually go on to form the basis of the ToCA Touring Cars and Colin McRae Rally physics engines).

Luckily for me, one of the guys involved with the dynamics code was a bit of a genius and also very good at explaining maths, so I managed to get a functional understanding of vector and matrix maths as it relates to 3D games in an afternoon, and have been working it out myself via google and books ever since - so I'm basically self-taught & lucky to have been around bright people who could fill in the blanks for me

My understanding of the 3d maths in games is, I would say, pretty solid - good enough that (for example) I managed to work out how to calculate the tangents and binormals needed for normal mapping without looking it up - but I've always been more than a little sketchy on the basics of the 3D stuff - for example I wouldn't have had the first clue how to derive the formulas that make up the row vectors in a matrix that rotates about an arbitrary axis in 3D - and that's where this book comes in...

This book starts with an assumption of approximately GCSE / AS level maths (age 16 - 17 in the UK) and takes it from there. It is exceptionally well thought out and well structured, it is also well written and funny enough to be read through "for fun", in fact I've laughed out loud quite a few times when reading it (mostly at the HHGttG references...).

All concepts are discussed from first principles, introduced with diagrams and carefully thought out visual and geometric examples before breaking out the equations. All mathematical notation is explained carefully on its first use and the reader's attention is always directed to any particularly tricky aspects of the maths that are likely to get you into trouble.

There are lots of well chosen exercises at the end of each chapter to ensure that the reader has grokked the content, and the answers to each are in an appendix with full working, so if you get stuck you can see what you should have been doing - or cheat if you can't be bothered to do it by hand ;)

In addition to all of this, I also contacted the authors (via the book's website) requesting clarification of some aspect of the working of a derivation that I couldn't make sense of and one of them got back to me within a day or so - which is clearly going above any beyond what one would expect...

If you want to understand not just how to use vectors matrices and the rest of 3D game maths, but why and how it all works then this book is definitely for you - I cannot recommend this text highly enough.
0Comment| 22 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 11 September 2002
Beginners:
I would like to start off by saying that if you are a complete beginner, then you have come to the right place. This book is amazing in its introduction of maths concepts to beginner 3D programmers. The way that the author has written this book means that you won't be left with gappy knowledge on this already complex subject. Beginners will come away from this book knowing a good deal of the 3D math necessary for a game today.
Advanced:
Advanced users will not find the book as rewarding as beginners but will definitly learn a few new tricks. I personally found that the little concepts I new in vectors was deeply clarified by the author
Negatives:
Lack of CD and unavailable code via the URL when I looked..Buy this NOW!
0Comment| 28 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 25 February 2004
The authors of this book is a game programmer and a professor of Computer Science. This team is excellent!
The game programmer has alot of focus on making the material understandable, and the professor has focus on the mathematically correct semantics. Unlike other books, that teaches game programming (of which many have an author with his strength on either field), this book has the right blend of understandable text parred with the right mathematical semantics.
Furthermore the text is supported by code, so if you are shaky on some of the math, you can see the implementation in C++ code.
As a total math newbie, this book helped me alot, and today I understand totally and in detail what is going on in my 3D programming.
An ABSOLUTE MUST, if you want to learn 3D on top level.
0Comment| 14 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 29 August 2010
As a person who's maths isn't amazing, I had high hopes for this book when reading the first few chapters: the book starts off too basic for even me! However, as other reviews have indicated, it almost appears that there are a number of chapters missing from the middle of the book. By the time we get to "Geometric Primitives" the author is speaking in language that will only be understood by someone with a maths degree. Many of the advanced concepts aren't even introduced let alone explained.

One wonders what the purpose of the chapter explaining the concept of negative numbers (yes, it starts that basic) is when the second half of the book would require a maths degree to understand. In particular, the chapters on Geometric Primitives and Geometric Tests are impenetrable to me - and these are the concepts I was hoping to understand. Another example: on page 137 the author starts using a triangular mathematical symbol out of nowhere; I couldn't find *any* previous explanation of the meaning of that symbol!

All in all, I am very disappointed by this book and left wondering who the intended audience for the book is.
0Comment| 2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 13 May 2010
I bought this book while studying for a degree in Computer Games Technology, and certainly found it helpful in understanding some of the essential maths required for game development. I know some people complain that it is "written for mathematicians", but to be honest it's almost as simple as you can get while still covering the topic enough to actually use it.

However, in its simplicity it seems to obscure a few things. There seemed to be a few minor mistakes in it, and things which just weren't terribly well defined. As such, it's OK, and I'm sure it can still be helpful for some readers, but I would recommend using it alongside something a bit more solid, such as "Essential Mathematics for Games and Interactive Applications: A Programmer's Guide".
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse
on 28 April 2005
I love this book, and it has payed off very well for me.
The author has a remarkable skill to explain even the most difficult subjects in a way that everyone understands. For example, The Cartesian coordinate system is abstracted to a system of roads.
However, this simplification is not an issue for intermediate/advanced programmers or math students. All topics are provided with formulas and concise material; making this book good for everyone.
Topics covered (but not limited to) vectors, coordination systems, dot-product, cross-product, quaternions, matrices, Auler-angles, bsp-trees, screen projection, culling, bounding-boxes (and a load of other intersection tests).
Still I missed something. The author(s) also covers gourad shading, texture mapping and several other techniques, but they don't go into depth. Different lighting models were given a formula at best, which fortunately is good enough for me. Just don't expect the book to be API-specific or contain information about rendering methods.
The source code which came with the book compiled, but looks awful and very messy. The source code works very well as a reference, but it you are buying the book mainly for the code; don't. I hope they'll update their source code from the webpage soon.
Conclusion: This is a very good book to start with. It contains all the linear algebra math you'll need to start with 3D-programming, and is explained remarkably well. Yet the simplification is nevertheless no con for non-beginners, which will probably use this book as a reference laying on their desktop at all times :-)
0Comment| 11 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 21 April 2008
Sure the book starts off with really really simple maths, using 1d and 2d maths for a springboard. It slowly eases into vector and matrix maths, all described fairly run of the mill. So far so good.

Reading further on into geometric principles and intersections it becomes apparent that the author seems to have forgotten all about the first half of the book and is quickly rambling on using terms and symbols not previously referred to and thus will more than likely lose anyone without a mathematics degree.

Most of the articles here are locatable on the internet if you know how to use a search engine, and described in a much more user friendly way.
0Comment| 5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 19 February 2009
Very good book, bearing in mind it is a primer. If you are at all a bit uncertain about maths, get this book and it will help you out with lots of clearly explained chapters. Well worth having around.
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse
on 25 January 2015
This is the best 3D mathematics book I have read so far. This book explains complex 3D mathematics using a clear and easy to understand language.

I would definitely recommend this book to anyone who are going to work with 3D game development, but don't have a university degree in mathematics.

I have owned this book for several years now and it is my go-to book for looking up calculations or refreshing concepts that I haven't used a while. When internet searches provide unclear results, this book provides.
0Comment|Was this review helpful to you?YesNoReport abuse
on 28 December 2013
It covers the principles of computer graphics with good C++ examples. A true must-have for any one that wants to enter in the gaming world.
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse

Sponsored Links

  (What is this?)