Many programmers frequently have limited backgrounds in the mathematics and physics needed for game development or other complex applications. Sooner or later, all programmers run into coding issues that will require an understanding of mathematics or physics concepts like collision detection, 3D vectors, transformations, game theory, or basic calculus. This book provides a simple but thorough grounding in the mathematics and physics topics that programmers need to write these algorithms and programs, using a non-language-specific approach. Applications and examples from game programming are included throughout, and exercise sets follow each chapter for additional practice of the techniques. The CD-ROM provides simulations of the mathematical and physical principles discussed in the book along with the source code.
Danny Kodicek is a graduate of Cambridge University. He works with Sunflower Learning in the UK, developing science simulations and tools for schools - his software has been translated into over fifteen languages and is sold worldwide. As a freelancer his previous clients include the BBC and the Royal Air Force, and he was co-creator of the award-winning TimeHunt Web site.
Part 1. General Techniques. 1. Numbers. 2.Arithmetic. 3.Algebra. 4.Trigonometry and Pythagoras. 5.Vectors. 6.Calculus. Part 2. Ballistics and Collisions. 7.Acceleration, Mass, and Energy. 8.Detecting Collisions Between Simple Shapes. 9.Resolving Collisions. 10. Detecting Collisions Between Complex Shapes. 11. A Simple Pool Game. Part 3. More Complex Motion. 12. Force and Newton's Laws. 13. Angular Motion. 14. Friction. 15. Strings Pulleys, and Conveyor Belts. 16. Oscillations. Part 4. 3D Mathematics. 17. 3D Geometry. 18. Transforms. 19. Collision Detection in Three Dimensions. 20. Lighting and Textures. 21. Modeling Techniques. Part 5. Game Algorithms. 22. Speeding Things Up. 23. Tile-Based Games. 24. Mazes. 25. Game Theory and AI. 26. Search Techniques. Appendix A. Glossary of Mathematical Terms. Appendix B. Language References and Pseudocode. Appendix C. About the CD-ROM. Appendix D. Further Reading and Resources. Appendix E. Answers to Exercises. Index.