|  
                               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. | 
                                      | 
                                   
                                 
                               
                                 
                               |