Aimed at the game developer or student/hobbyist interested in physics, Physics for Game Developers
reviews all the math for creating realistic motion and collisions for cars, airplanes, boats, projectiles, and other objects along with C/C++ code for Windows. While this authoritative guide isn't for the math-averse, the author's clear presentation and obvious enthusiasm for his subject help make this book a compelling choice for anyone faced with adding realistic motion to computer games or simulations.
It's the clear, mathematical presentation here that makes this title a winner. Starting with the basics of Newtonian mechanics, the author covers all the basic equations needed to understand velocity, acceleration, kinematics, and kinetics, among other concepts. A knowledge of college math (including calculus) is assumed. (Appendices review the basics of matrix and quaternion mathematics for those needing a refresher.)
Central to this book is its presentation of modeling projectiles, airplanes, ships, and cars. The author first presents essential mathematical concepts for each kind of object (for instance, pitch, yaw and roll, and lift for airplanes; modeling fluid drag for ships; and braking behavior for cars). For many chapters, Bourg then presents Windows-based DirectX programs in C++ to illustrate key concepts. For example, you can experiment with different parameters to view a cannonball's path. (On their own, these programs make this book a great companion text to any advanced high school or college physics course since students can see the effect of each variable on the behavior of each body in motion for a variety of equations.)
Modeling collisions is a central concern here (a necessity, of course, for action games). To this end, the author provides collision detection and the mathematics of 3-D rigid bodies for simulating when bodies collide. As the sample programs get more involved, the author discusses techniques of tuning parameters for performance. A standout chapter here models a fluttering flag using particle systems.
In all, this text proves that physics and computers are a perfect match. The author's patient and clear mathematical investigations of common formulas and concepts can add realistic motion to any computer game, as well as help teach essential concepts to any student or hobbyist who's interested in physics and doesn't mind a little college-level math. --Richard Dragan
Topics covered: Mathematical formulas and sample C/C++ code for physics for simulations and games, basic concepts in physics, Newton's Laws of Motion, coordinate systems and vectors; mass, center of mass and moment of inertia; kinematics (velocity and acceleration), constant and nonconstant acceleration, 2-D and 3-D particle kinematics, rigid body kinematics, angular velocity and acceleration, force (force fields and friction, fluid dynamic drag, buoyancy, springs and dampers, torque), 2-D, 3-D, and rigid body kinetics; collisions (impulse-momentum, impact, linear, and angular impulse), projectiles (simple trajectories, drag, the Magnus Effect, variable mass), simulating aircraft (geometry, lift and drag, controls), simulating ships (flotation, volume, resistance, and virtual mass), simulating hovercraft and cars (including stopping distance and banking during turns), basic real-time simulations (integrating equations of motion, including Euler's Method), 2-D rigid body simulator, implementing collision response (including angular effects), rigid body rotation (rotation matrices and quaternions), 3-D rigid body simulator for an airplane (including flight controls and rendering), multiple bodies in 3-D (including implementing collisions), particle systems, reference tutorials for vector, matrix, and quaternion mathematical operations.