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

PHPMotion implementation - URL based videos (Hosted on separate location) -

javascript - Using Windows Media Player as video fallback for video tag -

c# - Unity IoC Lifetime per HttpRequest for UserStore -