1495790900 Collision Detection in Interactive 3D Environments (Morgan Kaufmann Series in Interactive 3D Technology) - Math and Physics - Books - Books - GameDev.net

Jump to content

Game Development Books

  • You cannot edit this book

Collision Detection in Interactive 3D Environments (Morgan Kaufmann Series in Interactive 3D Technology) ***--

Collision Detection in Interactive 3D Environments (Morgan Kaufmann Series in Interactive 3D Technology) By Gino van den Bergen
Published October 2003
List Price: $94.95, Your Amazon.com Price: $63.61

Amazon.com Sales Rank: 1,638,641
Availability: Usually ships in 24 hours

The heart of any system that simulates the physical interaction between objects is collision detection-the ability to detect when two objects have come into contact. This system is also one of the most difficult aspects of a physical simulation to implement correctly, and invariably it is the main consumer of CPU cycles. Practitioners, new to the field or otherwise, quickly discover that the attempt to build a fast, accurate, and robust collision detection system takes them down a long path fraught with perils and pitfalls unlike most they have ever encountered. Without in-depth knowledge and understanding of the issues associated with engineering a collision detection system, the end of that path is an abyss that has swallowed many a good programmer!

Gino van den Bergen's new book is the story of his successful journey down that path. The outcome is his well-known collision detection system, the SOftware Library for Interference Detection (SOLID). Along the way, he covers the topics of vector algebra and geometry, the various geometric primitives of interest in a collision system, the powerful method of separating axes for the purposes of intersection testing, and the equally powerful Gilbert-Johnson-Keerthi (GJK) algorithm for computing the distance between convex objects. But this book provides much more than a good compendium of the ideas that go into building a collision system. The curse of practical computational geometry is floating-point arithmetic. Algorithms with straightforward implementations when using exact arithmetic can have catastrophic failures in a floating-point system. Specifically, intersection and distance algorithms implemented in a floating-point system tend to fail exactly in the most important case in a collision system-when two objects are just touching. Great care must be taken to properly handle floating-point round off errors. Gino's ultimate accomplishment in this book is his presentation on how to correctly implement the GJK distance algorithm in the presence of single-precision floating-point arithmetic. And what better way to illustrate this than with a case study, the final chapter on the design and implementation of SOLID.

Similar Books:

Buy it now:

  • You cannot edit this book


Jul 06 2004 11:19 AM
This book is excellent, imo. It covers most primitive collision tests (sphere-sphere, ray-triangle, etc.) and spatial data structures to minimize the computational cost of collision detection, among other things.

Mathematical notations are used a lot and the reader should have a basic grasp of at least linear algebra (and set theory) to understand the algorithms. A short primer to geometry is provided, but it's definitely dense.

It's funny to see that what I've learned in at least two university courses can be summed up in a couple of pages. But that could be caused by a lack of retention on my part :o.

I can definitely recommend this book.
Apr 27 2005 08:33 AM
The author must have laid awake at night inventing ways of making reasonably easy to understand topics unintelligible.

For most of his solutions I had developed my own versions through necessity, I could probably give you an easy to read solution for most if not all of his methods.

It's written as a 3rd year maths course, as such you'll need to be hot at set theory and convexity (a maths course in itself).

I have a better idea - after writing his impossible-to-read-if you're-not-currently-doing-a-Maths-degree solutions - why doesn't he give a simple to read explanation that normal people can understand.

Believe me. I have a maths degree - that was 15 years ago - hence I've forgotten how Maths courses are taught.
I develop my own games daily - all I wanted was some simple solutions to some simple collisions - I *cannot* use this book.

2 line sampler:
||vk+1||==min{||x||: x element of conv(Wk union {wk}) <= ||vk||, since vk element of conv(Wk) and conv(Wk) subset conv(Wk union {wk})

do you really want to have to go through all that as a casual game writer? Believe me it isn't necessary...

As I said - I've developed my own collision detections just from chatting to friends - I can simplify everything you could ever need here:

1.scalar product,
2.the cross product,
3.rudimentary matrix multiplication
4. vectors !
5.sin !!
6.cosine !!

How he makes this so unreadable really is way beyond me.

This book is pratically useless as it doesn't give any useful practices.