Subject: CGAL users discussion list
List archive
- From: dim_tz <>
- To:
- Subject: [cgal-discuss] CGAL Mesh(es) intersection/collision
- Date: Mon, 7 Apr 2014 02:45:40 -0700 (PDT)
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.