Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ Free Shipping
+ $3.99 shipping
Real-Time Collision Detection (The Morgan Kaufmann Series in Interactive 3-D Technology) Hardcover – December 22, 2004
|New from||Used from|
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Frequently bought together
Customers who bought this item also bought
"Accurate and efficient collision detection in complex environments is one of the foundations of today's cutting-edge computer games. Yet collision detection is notoriously difficult to implement robustly and takes up an increasingly large fraction of compute cycles in current game engines as increasingly detailed environments are becoming the norm. Real-time Collision Detection is a comprehensive reference on this topic, covering it with both breadth and depth. Not only are the fundamental algorithms explained clearly and in detail, but Ericson's book covers crucial implementation issues, including geometric and numeric robustness and cache-efficient implementations of the algorithms. Together, these make this book a 'must have' practical reference for anyone interested in developing interactive applications with complex environments." -Matt Pharr, NVIDIA
"Christer Ericson's Real-time Collision Detection is an excellent resource that covers the fundamentals as well as a broad array of techniques applicable to game development." -Jay Stelly, Valve
"Christer Ericson provides a practical and very accessible treatment of real-time collision detection. This includes a comprehensive set of C++ implementations of a very large number of routines necessary to build such applications in a context which is much broader than just game programming. The programs are well-thought out and the accompanying discussion reveals a deep understanding of the graphics, algorithms, and ease of implementation issues. It will find a welcome home on any graphics programmer's bookshelf although it will most likely not stay there long as others will be constantly borrowing it...." -Hanan Samet, University of Maryland
"Real-Time Collision Detection is an excellent resource that every serious engine programmer should have on his bookshelf. Christer Ericson covers an impressive range of techniques and presents them using concise mathematics, insightful figures, and practical code." -Eric Lengyel, Senior Programmer, Naughty Dog
"If you think you already know everything about collision detection, you're in for a surprise! This book not only does an excellent job at presenting all the collision detection methods known to date, it also goes way beyond the standard material thanks to a plethora of juicy, down-to-earth, hard-learned implementation tips and tricks. This produces a perfect blend between theory and practice, illustrated by the right amount of source code in appropriate places. Basically the book just oozes with experience. Christer doesn't forget all the alternative topics that, despite not directly related to collision detection, can ruin your implementation if you don't include them in your design. The chapters on robustness and optimization are priceless in this respect. Its carefully crafted compact kd-tree implementation beautifully concludes a unique book full of luminous gems." -Pierre Terdiman, principal software engineer, NovodeX AG, and writer of the popular collision detection library Opcode
"When I received a copy of Real-Time Collision Detection for review, I was in the midst of redesigning an architectural visualization and lighting design program. The Bounding Volume Hierarchies chapter allowed me to quickly and easily design and implement an efficient ray tracing acceleration scheme. It also provided me with a wealth of information on various design strategies, which gave me the confidence that I had chosen a near-optimal approach. What one of my clients recently said about the finished software reflects my opinion of this fantastic book: 'Holy cow! Excellent work!'" -Ian Ashdown, byHeart Consultants Limited
The complete engineering guide to Collision Detection from a top engineer at Sony
Discover books for all types of engineers, auto enthusiasts, and much more. Learn more
Top customer reviews
It is a great book though. I'm the author of the somewhat popular Chipmunk Physics library, and I learned quite a bit from reading this book. I already knew a lot of the material in the book, but there were a few new ideas that I hope to be able to incorporate into my physics library's collision system. I think this would be a great introductory book for someone wanting to learn about what can be a difficult problem to learn from the Internet alone.
Disclaimer! This book does not discuss collision response or game physics. This book's sole purpose is to understand how to detect collisions efficiently.
Don't get me wrong -- it does all of the collision you'll likely need in any kind of current game, in good detail, with derivation of why it works, including source code. However, it also serves as an excellent primer in game geometry for anyone who might not have an intuitive understanding of what a closed manifold mesh is, or why the separating axis theorem works, or why T junctions are a problem.
I'm pretty well versed in the field, and I use this book as a comprehensive reference, and I love it. But even if you're a newcomer, you need this book, because it contains everything you need to know! And, conversely, if you don't know what's in this book, you won't have the success you want.
This book is well-indexed, which makes perfect sense as much of its content is about finding items. I haven't failed to find something I wanted quickly or to locate something I previously read. Citations are well-annotated, and they are complete enough that he cited someone I used to live in the same building with within my first two hours of reading. There are abundant well-drawn figures, and they usually display a high level of helpfulness.
How long does it take to read the entire contents? For me, about ten hours. I am no career mathematician, but I have been writing code nearly three decades and presently writing my third ray tracer. Naturally one can skip through sections where more detail is offered than needed at the time one is reading, but be cautious about this. Some of my most productive reading came from a chapter I didn't plan to (and still don't plan to) need to use.
As a full table of contents for this book is available elsewhere on the Internet, I won't summarize it here--except to say that when I was the table of contents, I ordered the book immediately and had it delivered the next day, which was a Saturday. I started reading Monday and finished Tuesday, and my time and money were well invested.
As I learned to optimize software more than twenty years ago, an unexpected benefit of this book was a lengthy discussion of how to exploit more contemporary hardware and languages, where the effects such as caching, pipelining, and aliasing must be considered, or a terrible drop in performance can result. Sometimes it's good to read some newer material.
Once in a great while, diagram conventions get distracting and require some unscrambling. For example, a diagram showing Andrew's algorithm for computing complex hulls defines "left" and "right" for an edge exactly opposite the reader's perspective. Another example, some binary search trees have their nodes labeled using sequential letters, where the labels indicated have nothing to do with the keys for each node. To one used to seeing nodes of trees marked with their contents, these figures appear at first glance to be incorrect. While they are not incorrect, I find that this choice of labeling is confusing and disrupts the continuity of reading.
The text is almost always perfectly clear and makes everything very simple. The only exception I noticed was the fourth sentence of the chapter "Convexity-based methods". That particular sentence needs a rewrite from scratch, although reading the rest of the paragraph permits one to recover the author's intent.
I didn't even break the seal on the enclosed CD. There is text in the book to say the CD contains the code fragments from the book, with absolutely no additions or other material. Even if it had other material, I still might not open it.
If I had to give this book a letter grade, it would definitely be an A+, although several friends who don't write code seem less enthusiastic about this particular volume.
Update 5 Nov 2010: I think the denominator in DistPointPlane() on page 127 needs a square root around it, but it's not in the errata yet. I'll email the author.
grab bag of useful algorithms. Basically, if your read all of the theory, you can reference this book whenever you need to know to
test for a collision between objects, generate a bounding volume, etc. The book has a nice format and has clean, readable code.
Most recent customer reviews
Well done, boss :)
The book is an excellent reference and I always have it close to me.Read more