Hi,
I'm looking for a reasonable solution to the rather annoying problem of finding face pairs (regardless of contact type) with discrete SAT collision detection. I've never come across a SAT implementation that actually returns reasonable contact info and having struggled with it for a while I'm starting to doubt something practical with SAT is even possible. Any insights or help would be greatly appreciated.
SAT contact info
-
- Posts: 109
- Joined: Thu Dec 14, 2006 4:27 pm
- Location: Colombia
Re: SAT contact info
Hi.
Actually Bullet has an alternative collision library which is based on SAT, and also gives detailed contact features (Vertex-Face-Edge). Just take a look to the Extras folder in the Bullet source:
http://code.google.com/p/bullet/source/ ... xCollision
May you might want to look into the Tokamak source, it has a nice implementation of the SAT algorithm.
http://www.tokamakphysics.com/
Also I recommend to take a look to the Oliver Renault (Olii)'s blog. He offers a very good explanation about how SAT works. Please visit
http://uk.geocities.com/olivier_rebellion/, and also download his source code: http://uk.geocities.com/olivier_rebellion/Cube3D.zip
Actually Bullet has an alternative collision library which is based on SAT, and also gives detailed contact features (Vertex-Face-Edge). Just take a look to the Extras folder in the Bullet source:
http://code.google.com/p/bullet/source/ ... xCollision
May you might want to look into the Tokamak source, it has a nice implementation of the SAT algorithm.
http://www.tokamakphysics.com/
Also I recommend to take a look to the Oliver Renault (Olii)'s blog. He offers a very good explanation about how SAT works. Please visit
http://uk.geocities.com/olivier_rebellion/, and also download his source code: http://uk.geocities.com/olivier_rebellion/Cube3D.zip
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: SAT contact info
Indeed, Bullet provides an implementation of SAT with contact clipping. It hasn't been fully integrated, so it might require a bit of work.
Also check out the IBDS library, it adds a working 3D implementation of contact clipping to generate all contact points. This can be used as a contact post processing step, after you find the closest axis (for example using the SAT or GJK).
Hope this helps,
Erwin
Also check out the IBDS library, it adds a working 3D implementation of contact clipping to generate all contact points. This can be used as a contact post processing step, after you find the closest axis (for example using the SAT or GJK).
Hope this helps,
Erwin