I found this book thoroughly frustrating. I assumed that a book with "for Game Developers" would make concepts easier to understand for the less mathematically inclined in this world. Quite the oppposite, I found my Calculus textbook explained vectors much easier. He spends very little time actually explaining the concepts instead opts to throw formulas at the reader. Understandably, formulas are necessary to be mathematically concise, but he could at least spend time discussing them. Now I could forgive him his obtuse explanations if I had a set of practice problems to work with, but there are none. I wasn't even aware of the calculation errors until I read the other reviews, so this only lowers my esteem for the author. Now to be fair, I haven't gotten to many of the later topics, so it's possible the book will get better. The few I have looked at, however, do not lend me to such optimism. Purchase at your own risk. Mathematics for Game Developers 1 Cover 1 Contents 7 Introduction 14 Part I: The Basics 18 Chapter 1 Equation Manipulation and Representation 20 Choosing a Coordinate System 21 Equation Representation 31 Using Polynomial Roots to Solve Equations 35 Substitution 42 Chapter 2 Baby Steps: Introduction to Vectors 46 O Vector, What Art Thou? 46 Basic Operations and Properties 48 Advanced Operations and Properties 53 Vector Spaces 62 Chapter 3 Meet the Matrices 70 Meat, the Matrices 71 Basic Operations and Properties 72 Advanced Operations and Properties 81 Matrix Decomposition 98 Eigenvectors 106 Diagonalization 108 Vector Revision 109 Chapter 4 Basic Geometric Elements 112 Creating Lines 113 Generating Planes 115 Constructing Spheres 118 When Elements Collide 120 Know Your Distances 132 3D File Formats 140 Chapter 5 Transformations 142 It's All About the Viewpoint 143 Linear Transformations 145 Multiple Linear Transformations 155 Projections 161 Non-Linear Transformations 168 Chapter 6 Moving to Hyperspace Vectors: Quaternions 170 Complex Numbers 171 Basic Quaternions 175 Advanced Operations on Quaternions 178 Part II: Physics 184 Chapter 7 Accelerated Vector Calculus for the Uninitiated 186 The Concept of Limits 187 Derivatives (The Result of Differentiation) 192 Reversing: Integration 208 Chapter 8 Gravitating Around Basic Physics 226 Move That Body.. 227 Physical Force 232 Energy 244 Chapter 9 Advanced Physics 252 Angular Movement 253 Oscillations 259 Center of Mass 274 Angular Forces 276 Chapter 10 And Then It Hits You: You Need Collision Detection 280 Environmental Collisions 281 Collisions of Objects Among Themselves 286 Picking 304 Part III: Playing with Numbers 310 Chapter 11 Educated Guessing with Statistics and Probability 312 Basic Statistics Principles 313 Random Number Generation (Uniform Deviates) 319 Distributions 327 Intelligence Everywhere 336 Chapter 12 Closing the Gap for Numerical Approximation 340 Solution Approximation 341 2D Function Approximation 344 Multivariable Function Approximation 375 Chapter 13 Exploring Curvy Bodies 380 Splines 380 Surfaces 402 Part IV: Rendering and Lighting 406 Chapter 14 Graphics-Generation Engines 408 Decals 409 Billboards 414 Applications 419 Chapter 15 Visibility Determination: The World of the Invisible 422 GPU-Level Visibility Determination 423 CPU Culling 426 Grid Division 444 Chapter 16 Space Partitioning: Cleaning Your Room 444 Quadtrees and Octrees 447 k-D Trees 448 Binary Space Partitioned (BSP) Trees 454 Portal Subdivision 458 Chapter 17 Filling the Gaps with Rendering Techniques 464 Studying the 3D Pipeline 465 Texture Transformations 467 Cube Map Tricks 480 Cel Shading 483 Shadows 485 Chapter 18 Building a Light Show 492 Studying the Rasterization Pipeline 493 Light a Ray Tracing Model 500 Light Sources 506 Lighting Models 509 Part V: Optimizations 518 Chapter 19 The Quick Mind: Computational Optimizations 520 Fixed Points 521 IEEE Floating Points 534 Condition Arithmetic 541 Chapter 20 Using SIMD to Move Linear Algebra Functions onto the Highway 554 Matrix Storage Format 555 Matrix Transposition 555 Dot Product 557 Vector Length and Normalization 559 Matrix-Vector Multiplication 561 Matrix-Matrix Multiplication 564 Matrix Determinant 568 Cross Product 572 Matrix Division (Inverse) 573 Chapter 21 Kicking the Turtle: Approximating Common and Slow Functions 580 Transcendental Function Evaluation 581 Physical Model Approximation 601 Appendixes 606 Appendix A Notation and Conventions 608 Trigonometric Definitions 610 Appendix B Trigonometry 610 Symmetry 611 Pythagorean Identities 614 Exponential Identities 615 Cosine and Sine Laws 617 Inverse Functions 618 Appendix C Integral and Derivative Tables 622 Appendix D What's on the CD 628 Index 630 Mathematics for Game Developers is just that -- a math book designed specifically for the game developer, not the mathematician. As a game developer, you know that math is a fundamental part of your programming arsenal. In order to program a game that goes beyond the basics, you must first master concepts such as matrices and vectors. In this book, you will find some unique solutions for dealing with real problems you'll face when programming many types of 3D games. Not only will you learn how to solve these problems, you'll also learn why the solution works, enabling you to apply that solution to other problems. You'll also learn how to leverage software to help solve algebraic equations. Through numerous examples, this book clarifies how mathematical ideas fit together and how they apply to game programming. Book jacket A math manual designed specifically for game developers. This volume uses extensive examples to cover important math basics like vectors and matrices as well as more advanced, unique math solutions for game programming problems and how to leverage software to help solve algebraic equations. Mathematics and game programming are inseparably connected because mathematics is used to create real world models within game environments. This book helps developers successfully program games, and master and apply complex mathematic concepts.