Main Site Links Resources Tutorials
News VB Gaming Code Downloads DirectX 7
Contact Webmaster VB Programming Product Reviews DirectX 8
  General Multimedia Articles DirectX 9
      Miscellaneous

Mathematics for 3D Game Programming & Computer Graphics
Author: Eric Lengyel
Publisher: Charles River Media
ISBN: 1-58450-037-9
Purchasing: [Amazon.Com] - RRP US$49.95
Reviewed: 7th Septmber 2002

Front Cover Shot:

Overview

Mathematics is possibly the most important part of games and graphics programming. Whilst some languages are better than others, learning to program the application is far simpler than being able to fully understand the math and apply it to any/every programming language you come across.

You can get a fair way without fully understanding the math behind a 3D engine, but you simply can't reach the top level without knowing roughly what's going on in your own code and in that of utility (and core) libraries, and you certainly can't conquer the top-level without knowing the math back-to-front and inside-out.

This book is aimed at those people who've realized that they can't really get much further with their current/next project with out a greater understanding of mathematical theory and concepts.

Math for 3D graphics

The mathematics involved with 3D graphics are almost entirely geometry related problems, obviously there is more than enough pure math (at the end of the day it's derived using pure math) but you'll rarely come across any of the hyper-advanced theoretical degree-level mathematics - especially so if you're focusing on real-time calculations.

This book has a good mix of both, the first three chapters focus on vectors, matrices and transformations - the 3 staple parts of graphics and geometry related work. Any book you'll buy on this subject is likely to start off with a discussion and/or overview of these areas. You really do need to get your head around these 3 chapters before diving in deeper. Unless you are particularly good at math (or studying an advanced course early) then you'd need to be at 1st-year university level in mathematics to make much sense of this book. It's billed on the back of the book as an intermediate-advanced level book, thus it is expected that you are familiar with mathematical notation, proof and derivation.

There are four useful appendices in this book relating to pure math - and pretty much just the pure math. These can be considered as either an introduction or refresher, depending on your current/previous education. They cover complex numbers, trigonometry, coordinate systems and the Taylor series. The are a few occurrences throughout the book where these are mentioned, such that they are definitely of good use.

Applied Math

The bulk of the book is more interested in applied mathematics - It could all be classified as pure/geometry math, but the way it's discussed, presented and written is with respect to a practical usage of the equation(s).

This is definitely the best move the author could of made with this book, the other math-related book reviewed on this site (The Geometry Toolbox) doesn't do this so well and definitely suffers in comparison. I consider myself a good enough mathematician, and I do enjoy mathematics most of the time but I rarely find it enjoyable to read through a long and generic proof of something that might be useful to me. Much of the theory in this book is related to a particular applied context - which is often outlined before you wade too deeply into the math.

There are several parts that are plain generic math, but it's hard to see how else you could present it, and at the end of the day it's fairly obvious what you would use these for.

An interesting aspect of this book is that there is quite a strong coverage of physics - linear, rotational and fluid. The first two will be of most use to people, and the third probably only for specific cases and/or the more advanced readers.

Excercise!

This is one area where the book stands that little bit above it's competitors. At the end of each chapter there is a brief summary of key points - which is useful for reference and searching purposes. After this brief summary there are a short set of questions on the topics covered in the chapter - much like you'd expect to find in a school text book. The difficulty is varied (although of most challenge to the intermediate-level readers) and should prove to at least be a simple challenge to all readers.

The best part is that they include all the answers in the back of the book, which of all the books I've read and reviewed in this field is actually not that common. There is no working to help you out if you went wrong somewhere, which is a bit of a shame, but some of the puzzles would require quite a lot of page-space to go through completely.

Writing Style and Layout

The writing style throughout the book is clear, concise and makes for easy reading - a difficult feat when confronted with enough math symbols to last a lifetime! It is also quite clear that the author knows more than enough about mathematics - and knows how to explain it well. It is also clear that he has a decent grasp on how 3D graphics work.

The page layout is good too - for a complex math book like this, diagrams are essential, it wouldn't hurt to add more, but there are enough to back up what is said in the core text.

In Conclusion

This book is very much a 'normal' book, in that it's one your likely to find in the computer section of a normal, decent, bookshop. As opposed to the many similar titles that are strictly university academic level texts. It's difficult to explain, but there is definitely a fine line between those that are for casual reading or enthusiasts etc... and those that you'd find on the recommended reading list for university courses. This book comes in the former category, yet at the same time offers much of the content and complexity that you'd find in an academic-only text book.

I highly doubt this book would serve a beginner much, but as originally stated - for those that have realized that to get far with 3D graphics (and related programming) they need to improve their mathematical skills then this is quite possibly the best book on offer. For the advanced reader who's done their degree and/or has a fair bit of programming industry experience yet wants a useful resource and reference book will probably also like this text.

 

Good Things Bad Things
Very solid coverage of all the key areas. You need to not only be familiar with mathematical notation, but also happy when it's used extensively.
The text relates well to practical scenarios that you might be familiar with. There is good coverage of the fundamentals (vectors, matrices etc...) but it is useful to know about them already. Pre-Requisite knowledge
In depth, but not too deep.  
Good writing style that is easy to read and understand.  
Excellent price for a book with this much content crammed in.  

 

DirectX 4 VB 2000 Jack Hoxley. All rights reserved.
Reproduction of this site and it's contents, in whole or in part, is prohibited,
except where explicitly stated otherwise.
Design by Mateo
Contact Webmaster