Subject: CGAL users discussion list
List archive
- From: "Sebastien Loriot (GeometryFactory)" <>
- To:
- Subject: Re: [cgal-discuss] CGAL Mesh(es) intersection/collision
- Date: Tue, 08 Apr 2014 08:35:04 +0200
- Organization: GeometryFactory
Just to mention that CGAL does not provide tools that are optimized if there is no static object (i.e. if you need to recompute the AABB tree
at each iteration and you have a lot of iterations).
You might want to have a look at what they are doing at UNC Chapel Hill:
http://gamma.cs.unc.edu/research/collision/
Sebastien.
On 04/07/2014 11:45 AM, dim_tz wrote:
I would like to have a collision detection module in my tracking pipeline,
detecting when two different meshes collide/interpenetrate or if there is a
self-penetration of an articulated mesh. Based on the depth of the
penetration there should be a penalization that combats this phenomenon. I
should get a list of the colliding faces/vertices in order to do so.
After examining several options, I decided to start working with CGAL.
In this link
<http://stackoverflow.com/questions/7973402/mesh-to-mesh-intersections/7976920#7976920>
there is an interesting answer pointing to some examples. ( this
<http://doc.cgal.org/latest/Box_intersection_d/index.html#title3> and
this <http://doc.cgal.org/latest/Box_intersection_d/index.html#title4> ).
The examples use AABBs (Axis-Aligned Bounding Boxes), which is the proposed
way for non-rigid meshes, since a frequent update of them is needed. The
examples are clear for the self-intersection case, but the following are not
very clear to me:
Apart from creating a B.Box for each triangles, I guess that there is no
tree structure created under the hood to speed up the search process. Is it
so? If yes, any hint to do so?
In case of 2 separate meshes, I guess it's not nice to merge all
triangles/boxes in one vector and follow the examples (though it is
mentioned here
<http://cgal-discuss.949826.n4.nabble.com/How-to-use-AABB-Tree-correctly-td4657967.html>
as a solution, it doesn't sound so elegant). Any hint for a nice practice?
Should one mix <http://doc.cgal.org/latest/AABB_tree/examples.html> these
examples, by creating trees of triangles/boxes? Although for the AABB tree
it is mentioned that:
"Note that this component is not suited to the problem of finding all
intersecting pairs of objects. We refer to the component Intersecting
Sequences of dD Iso-oriented Boxes
<https://doc.cgal.org/4.2/CGAL.CGAL.Intersecting-Sequences-of-dD-Iso-oriented-Boxes/html/index.html#chapterBoxIntersection>
which can find all intersecting pairs of iso-oriented boxes."
--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/CGAL-Mesh-es-intersection-collision-tp4659088.html
Sent from the cgal-discuss mailing list archive at Nabble.com.
- [cgal-discuss] CGAL Mesh(es) intersection/collision, dim_tz, 04/07/2014
- Re: [cgal-discuss] CGAL Mesh(es) intersection/collision, Sebastien Loriot (GeometryFactory), 04/08/2014
- Re: [cgal-discuss] CGAL Mesh(es) intersection/collision, Dimitris Tzionas, 04/08/2014
- Re: [cgal-discuss] CGAL Mesh(es) intersection/collision, Sebastien Loriot (GeometryFactory), 04/08/2014
- Re: [cgal-discuss] CGAL Mesh(es) intersection/collision, Dimitris Tzionas, 04/08/2014
- Re: [cgal-discuss] CGAL Mesh(es) intersection/collision, Sebastien Loriot (GeometryFactory), 04/08/2014
Archive powered by MHonArc 2.6.18.