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.
About the Author
As a naval architect and marine engineer, David M. Bourg performs computer simulations and develops analysis tools that measure such things as hovercraft performance and the effect of waves on the motion of ships and boats. He teaches at the college level in the areas of ship design, construction and analysis. On occasion, David also lectures at high schools on topics such as naval architecture and software development. In addition to David's practical engineering background, he's professionally involved in computer game development and consulting through his company, Crescent Vision Interactive. Current projects include a massively multiplayer online role-playing game, several Java-based multiplayer games, and the porting of Hasbro's "Breakout" to the Macintosh.