SAT contact info

Please don't post Bullet support questions here, use the above forums instead.
Frank Labuschagne
Posts: 2
Joined: Wed Nov 15, 2006 2:24 am

SAT contact info

Post by Frank Labuschagne »

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.
User avatar
projectileman
Posts: 109
Joined: Thu Dec 14, 2006 4:27 pm
Location: Colombia

Re: SAT contact info

Post by projectileman »

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
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: SAT contact info

Post by Erwin Coumans »

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