3d - CGAL Mesh(es) intersection/collision -


i have collision detection module in tracking pipeline, detecting when 2 different meshes collide/interpenetrate or if there self-penetration of articulated mesh. based on depth of penetration there should penalization combats phenomenon. should list of colliding faces/vertices in order so.

after examining several options, decided start working cgal.

in this link there interesting answer pointing examples. (this , this). examples use aabbs (axis-aligned bounding boxes), proposed way non-rigid meshes, since frequent update of them needed. examples clear self-intersection case, following not clear me:

  • apart creating b.box each triangles, guess there no tree structure created under hood speed search process. so? if yes, hint so?
  • in case of 2 separate meshes, guess it's not nice merge triangles/boxes in 1 vector , follow examples (though mentioned here solution, doesn't sound elegant). hint nice practice? should 1 mix these examples, creating trees of triangles/boxes? although aabb tree mentioned that:

note component not suited problem of finding intersecting pairs of objects. refer component intersecting sequences of dd iso-oriented boxes can find intersecting pairs of iso-oriented boxes.

  1. the function cgal::box_intersection_d creates segment trees on fly, speed computation of pairs of intersecting aa-bounding boxes.
  2. as far know, recommended way merge 2 surfaces in 1 vector of custom boxes, boxes have field indicate identifier of surface triangle belongs to. helps discard pairs of boxes same surface.

Comments

Popular posts from this blog

Change the color of an oval at click in Java AWT -

c# - Unity IoC Lifetime per HttpRequest for UserStore -

I am trying to solve the error message 'incompatible ranks 0 and 1 in assignment' in a fortran 95 program. -