Page 1 of 1

Can BULLET be utilized for Proximity Detection?

Posted: Tue Mar 23, 2010 12:33 am
by me.scotty
I've just spent a number of hours searching the forum and browsing the source, and I'm hoping someone here can give me some up-to-date advice about this topic.

I'm trying to solve an engineering problem:
-Thousands of rigid, concave, elements
-Each element is a trimesh, with potentially thousands of triangles
-The elements are static (non-moving, or alternatively, velocity=0)
-Required output is elements that are touching (within a tolerance), or within a "small" distance, and "area of contact" (again, within a tolerance)
-This doesn't need to be "real time" solution - returning a result in minutes would be great!

The problem sounds a lot like broadphase collision detection...or maybe not.

Currently, we are attempting to perform this task using SWIFT++ (http://gamma.cs.unc.edu/SWIFT++/).
But it's going to be brutal adapting this to a GPU environment...


Thanks,
Scott!

Re: Can BULLET be utilized for Proximity Detection?

Posted: Fri Mar 26, 2010 5:42 pm
by me.scotty
It appears that no one has an answer.

In case someone wants to figure it out, I've posted an offer in the Career Opportunities sub forum.
http://bulletphysics.org/Bullet/phpBB3/ ... =16&t=4898

Thanks for your consideration.

Re: Can BULLET be utilized for Proximity Detection?

Posted: Fri Mar 26, 2010 6:50 pm
by Erwin Coumans
With some small adjustments, Bullet should be able to do this.

Between convex objects, you can compute the closest distance and retrieve contact points, without change.

For concave triangle meshes, you can compute the results for overlapping triangles (closer than a given tolerance). You can use an acceleration structure to reduce the potential number of overlapping pairs (next to the broadphase).
The Bullet btCompoundShape or btGImpact could be used to represent each concave shape.

Thanks,
Erwin

Re: Can BULLET be utilized for Proximity Detection?

Posted: Fri Mar 26, 2010 11:37 pm
by me.scotty
Erwin Coumans wrote:With some small adjustments, Bullet should be able to do this.
I figured it might.
I'm going to delve more deeply into what's involved, and see if I can make it work on my own first.
If not, I'll probably be back asking about those "small adjustments".

Thanks again.