How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Written by an expert in the game industry, Christer Ericson's new book is a comprehensive guide to the components of efficient real-time collision detection systems. The book provides the tools and know-how needed to implement industrial-strength collision detection for the highly detailed dynamic environments of applications such as 3D games, virtual reality applications, and physical simulators. Of the many topics covered, a key focus is on spatial and object partitioning through a wide variety of grids, trees, and sorting methods. The author also presents a large collection of intersection and distance tests for both simple and complex geometric shapes. Sections on vector and matrix algebra provide the background for advanced topics such as Voronoi regions, Minkowski sums, and linear and quadratic programming. Of utmost importance to programmers but rarely discussed in this much detail in other books are the chapters covering numerical and geometric robustness, both essential topics for collision detection systems. Also unique are the chapters discussing how graphics hardware can assist in collision detection computations and on advanced optimization for modern computer architectures. All in all, this comprehensive book will become the industry standard for years to come.
William H. Press
The product of a unique collaboration among four leading scientists in academic research and industry, Numerical Recipes is a complete text and reference book on scientific computing. In a self-contained manner it proceeds from mathematical and theoretical considerations to actual practical computer routines. With over 100 new routines bringing the total to well over 300, plus upgraded versions of the original routines, the new edition remains the most practical, comprehensive handbook of scientific computing available today.
John L. Hennessy, David A. Patterson
This best-selling title, considered for over a decade to be essential reading for every serious student and practitioner of computer design, has been updated throughout to address the most important trends facing computer designers today. In this edition, the authors bring their trademark method of quantitative analysis not only to high performance desktop machine design, but also to the design of embedded and server systems. They have illustrated their principles with designs from all three of these domains, including examples from consumer electronics, multimedia and web technologies, and high performance computing. The book retains its highly rated features: Fallacies and Pitfalls, which share the hard-won lessons of real designers; Historical Perspectives, which provide a deeper look at computer design history; Putting it all Together, which present a design example that illustrates the principles of the chapter; Worked Examples, which challenge the reader to apply the concepts, theories and methods in smaller scale problems; and Cross-Cutting Issues, which show how the ideas covered in one chapter interact with those presented in others. In addition, a new feature, Another View, presents brief design examples in one of the three domains other than the one chosen for Putting It All Together. The authors present a new organization of the material as well, reducing the overlap with their other text, Computer Organization and Design: A Hardware/Software Approach 2/e, and offering more in-depth treatment of advanced topics in multithreading, instruction level parallelism, VLIW architectures, memory hierarchies, storage devices and network technologies. Also new to this edition, is the adoption of the MIPS 64 as the instruction set architecture. In addition to several online appendixes, two new appendixes will be printed in the book: one contains a complete review of the basic concepts of pipelining, the other provides solutions a selection of the exercises. Both will be invaluable to the student or professional learning on her own or in the classroom. Hennessy and Patterson continue to focus on fundamental techniques for designing real machines and for maximizing their cost/performance. * Presents state-of-the-art design examples including: * IA-64 architecture and its first implementation, the Itanium * Pipeline designs for Pentium III and Pentium IV * The cluster that runs the Google search engine * EMC storage systems and their performance * Sony Playstation 2 * Infiniband, a new storage area and system area network * SunFire 6800 multiprocessor server and its processor the UltraSPARC III * Trimedia TM32 media processor and the Transmeta Crusoe processor * Examines quantitative performance analysis in the commercial server market and the embedded market, as well as the traditional desktop market. Updates all the examples and figures with the most recent benchmarks, such as SPEC 2000. * Expands coverage of instruction sets to include descriptions of digital signal processors, media processors, and multimedia extensions to desktop processors. * Analyzes capacity, cost, and performance of disks over two decades. Surveys the role of clusters in scientific computing and commercial computing. * Presents a survey, taxonomy, and the benchmarks of errors and failures in computer systems. * Presents detailed descriptions of the design of storage systems and of clusters. * Surveys memory hierarchies in modern microprocessors and the key parameters of modern disks. * Presents a glossary of networking terms.
David H. Eberly
A major revision of the international bestseller on game programming! Graphics hardware has evolved enormously in the last decade. Hardware can now be directly controlled through techniques such as shader programming, which requires an entirely new thought process of a programmer. 3D Game Engine Design, Second Edition shows step-by-step how to make a shader-based graphics engine and how to tame the new technology. Much new material has been added, including more than twice the coverage of the essential techniques of scene graph management, as well as new methods for managing memory usage in the new generation of game consoles and portable game players. There are expanded discussions of collision detection, collision avoidance, and physics — all challenging subjects for developers. * Revision of the classic work on game engines — the core of any game. * Includes Wild Magic, a commercial quality game engine in source code that illustrates how to build a real-time rendering system from the lowest-level details all the way to a working game. * Fully revised and updated in 4 colors, including major new content on shader programming, physics, and memory management for the next generation game consoles and portables.
*Shows how to create realistic action games without assuming college-level Physics (which the majority of gamers won't have); includes necessary physics and mathematics *Ideal for all budding games programmers, with example code in Java, C#, and C *Complements Apress's platform-specific gaming books, like Advanced Java Games Programming and Beginning .NET Games Programming with C#, and the forthcoming Beginning .NET Games Programming in VB.NET *Palmer has strong contacts in the Microsoft Games Division and Electronic Arts, a major gaming producer.
David Brackeen, Bret Barker, Laurence Vanhelsuwé
A guide to Java game programming techniques covers such topics as 2D and 3D graphics, sound, artificial intelligence, multi-player games, collision detection, game scripting and customizing keyboard and mouse controls.
Didier H. Besset
Numerical methods naturally lend themselves to an object-oriented approach. Mathematics builds high- level ideas on top of previously described, simpler ones. Once a property is demonstrated for a given concept, it can be applied to any new concept sharing the same premise as the original one, similar to the ideas of reuse and inheritance in object-oriented (OO) methodology. Few books on numerical methods teach developers much about designing and building good code. Good computing routines are problem-specific. Insight and understanding are what is needed, rather than just recipes and black box routines. Developers need the ability to construct new programs for different applications. Object-Oriented Implementation of Numerical Methods reveals a complete OO design methodology in a clear and systematic way. Each method is presented in a consistent format, beginning with a short explanation and following with a description of the general OO architecture for the algorithm. Next, the code implementations are discussed and presented along with real-world examples that the author, an experienced software engineer, has used in a variety of commercial applications. On the enclosed CD-ROM, you'll find files containing tested source code implementations of all the algorithms discussed in the book in both Java and Smalltalk. This includes repository files for VisualAge for Java and VisualAge for Smalltalk under ENVY. * Reveals the design methodology behind the code, including design patterns where appropriate, rather than just presenting canned solutions. * Implements all methods side by side in both Java and Smalltalk. This contrast can significantly enhance your understanding of the nature of OO programming languages. * Provides a step-by-step pathway to new object-oriented techniques for programmers familiar with using procedural languages such as C or Fortran for numerical methods. * Includes a chapter on data mining, a key application of numerical methods.
This handbook carefully describes each step in the creation of a robust, usable physics engine. It introduces the mathematical concepts in a clear and simple manner, keeping to high-school-level topics and building a physics code library as it goes. The CD-ROM includes the source code for a complete physics engine of commercial quality.
Physics is really important to game programmers who need to know how to add physical realism to their games. They need to take into account the laws of physics when creating a simulation or game engine, particularly in 3D computer graphics, for the purpose of making the effects appear more real to the observer or player.The game engine needs to recognize the physical properties of objects that artists create, and combine them with realistic motion. The physics ENGINE is a computer program that you work into your game that simulates Newtonian physics and predict effects under different conditions. In video games, the physics engine uses real-time physics to improve realism. This is the only book in its category to take readers through the process of building a complete game-ready physics engine from scratch. The Cyclone game engine featured in the book was written specifically for this book and has been utilized in iPhone application development and Adobe Flash projects. There is a good deal of master-class level information available, but almost nothing in any format that teaches the basics in a practical way. The second edition includes NEW and/or revised material on collision detection, 2D physics, casual game physics for Flash games, more references, a glossary, and end-of-chapter exercises. The companion website will include the full source code of the Cyclone physics engine, along with example applications that show the physics system in operation.
Billy Lamberta, Keith Peters
In Computational Finance Using C and C# George Levy raises computational finance to the next level using the languages of both standard C and C#. The inclusion of both these languages enables readers to match their use of the book to their firm's internal software and code requirements. Levy also provides derivatives pricing information for: — equity derivates: vanilla options, quantos, generic equity basket options — interest rate derivatives: FRAs, swaps, quantos — foreign exchange derivatives: FX forwards, FX options — credit derivatives: credit default swaps, defaultable bonds, total return swaps. Computational Finance Using C and C# by George Levy is supported by extensive web resources. Available for purchase on the multi-tier website are e versions of this book and Levy's first book, Computational Finance: Numerical Methods for Pricing Financial Derivatives. Purchasers of the print or e-book can download free software consisting of executable files, configuration files, and results files. With these files the user can run the example portfolio application in Chapter 8 and change the portfolio composition and the attributes of the deals. In addition, Upgrade Software is available on the website for a small fee, and includes: • Code to run all the C, C# and Excel examples in the book • Complete C source code for the Analytics_Mathlib maths library that is used in the book • C# source code, market data and portfolio files for the portfolio application described in Chapter 8 All the C/C# software can be compiled using either Visual Studio .NET 2005, or the freely available Microsoft Visual C#/C++ 2005 Express Editions. With this software, the user can open the files and create new deals, new instruments, and change the attributes of the deals by editing the code and recompiling it. This serves as a template that a user can run to customize the deals for their personal, everyday use. * Complete financial instrument pricing code in standard C and C# available to book buyers on companion website * Illustrates the use of C# design patterns, including dictionaries, abstract classes, and .NET InteropServices.
Revision of a classic text by a distinguished author. Emphasis is on problem formulation and derivation of governing equations. New edition features increased emphasis on applications. New chapter covers long-term changes in materials under stress.
The booming computer games and animated movie industries continue to drive the graphics community's seemingly insatiable search for increased realism, believability, ad speed. To achieve the quality expected by audiences of today's games and movies, programmers need to understand and implement physics-based animation. To provide this understanding, this book is written to teach students and practitioners and theory behind the mathematical models and techniques required for physics-based animation. It does not teach the basic principles of animation, but rather how to transform theoretical techniques into practical skills. It details how the mathematical models are derived from physical and mathematical principles, and explains how these mathematical models are solved in an efficient, robust, and stable manner with a computer. This impressive and comprehensive volume covers all the issues involved in physics-based animation, including collision detection, geometry, mechanics, differential equations, matrices, quaternions, and more. There is excellent coverage of collision detection algorithms and a detailed overview of a physics system. In addition, numerous examples are provided along with detailed pseudo code for most of the algorithms. This book is ideal for students of animation, researchers in the field, and professionals working in the games and movie industries. Topics Covered: * The Kinematics: Articulated Figures, Forward and Inverse Kinematics, Motion Interpolation * Multibody Animation: Particle Systems, Continuum Models with Finite Differences, the Finite Element Method, Computational Fluid Dynamics * Collision Detection: Broad and Narrow Phase Collision Detection, Contact Determination, Bounding Volume Hierarchies, Feature-and Volume-Based Algorithms
M. Morris Mano
Dealing with computer architecture as well as computer organization and design, this fully updated book provides the basic knowledge necessary to understand the hardware operation of digital computers. Written to aid electrical engineers, computer engineers, and computer scientists, the volume includes: KEY FEATURES: the computer architecture, organization, and design associated with computer hardware • the various digital components used in the organization and design of digital computers • detailed steps that a designer must go through in order to design an elementary basic computer • the organization and architecture of the central processing unit • the organization and architecture of input-output and memory • the concept of multiprocessing • two new chapters on pipeline and vector processing • two sections devoted completely to the reduced instruction set computer (RISC) • and sample worked-out problems to clarify topics.
Roger R. Bate, Donald D. Mueller, Jerry E. White
Teaching text developed by U.S. Air Force Academy and designed as a first course emphasizes the universal variable formulation. Develops the basic two-body and n-body equations of motion; orbit determination; classical orbital elements, coordinate transformations; differential correction; more. Includes specialized applications to lunar and interplanetary flight, example problems, exercises. 1971 edition.
David Halliday, Robert Resnick, Kenneth S. Krane
Written for the full year or three term Calculus-based University Physics course for science and engineering majors, the publication of the first edition of Physics in 1960 launched the modern era of Physics textbooks. It was a new paradigm at the time and continues to be the dominant model for all texts. Physics is the most realistic option for schools looking to teach a more demanding course.
Jerry Farlow, James E. Hall, Beverly H. West
For sophomore-level courses in Differential Equations and Linear Algebra. Extensively rewritten throughout, the Second Edition of this flexible text features a seamless integration of linear algebra into the discipline of differential equations. Abundant computer graphics, IDE interactive illustration software, and well-thought-out problem sets make it an excellent choice for either the combination DE/LA course or pure differential equations courses. The authors' consistent, reader-friendly presentation encourages students to think both quantitatively and qualitatively when approaching differential equations -- and reinforces concepts using similar methods to solve various systems (algebraic, differential, and iterative).