commit:2017:08_16
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| commit:2017:08_16 [2017/08/16 13:33] – [Boundary Volume Hierarchy] wautelet | commit:2017:08_16 [2017/08/16 18:20] (current) – [Fichiers ajoutés/supprimés] wautelet | ||
|---|---|---|---|
| Line 12: | Line 12: | ||
| Pour améliorer l' | Pour améliorer l' | ||
| - | |||
| Je vous fournis aussi les références utilisées pour l' | Je vous fournis aussi les références utilisées pour l' | ||
| + | * Bin Yang, Tod A. Laursen : A contact searching algorithm including bounding volume trees applied to finite sliding mortar formulations [2006] | ||
| + | * T. L. Kay & J. T. Kajiya, Ray tracing complex scenes [1986] (Spatial median splits) | ||
| + | * Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs, J. T. Klosowski et al. [1998] (k-DOPs) | ||
| - | + | Par exemple, le cas de l' | |
| - | === Implémentation === | + | |
| - | Les routines de parcours | + | {{: |
| + | {{: | ||
| + | |||
| + | === Détails d' | ||
| + | |||
| + | Les routines de manipulation | ||
| L' | L' | ||
| Line 26: | Line 32: | ||
| La construction de l' | La construction de l' | ||
| - | Chaque nœud de l' | + | Chaque nœud de l' |
| - | | + | Finalement, les classes liées à la gestion d'un arbre des volumes d' |
| === Cas Test === | === Cas Test === | ||
| Le système de recherche sous forme d' | Le système de recherche sous forme d' | ||
| + | |||
| + | < | ||
| + | ci1 = RdContactInteraction(1) | ||
| + | ci1.push(wireset(1)) | ||
| + | ci1.setTool(wireset(2)) | ||
| + | ci1.setUseBVH(parameters[' | ||
| + | interactionset.add(ci1) | ||
| + | </ | ||
| Je vous indique ici les différentes performances observées avec quelques cas-tests de la batterie : | Je vous indique ici les différentes performances observées avec quelques cas-tests de la batterie : | ||
| + | |Cas test | CPU sans BVH (sec) | CPU avec BVH (sec) | Différence (sec) | | ||
| + | |apps.imp.ddrawingBVH| 169.672 | 168.859 | 0.813 (0.5 %) | | ||
| + | |meca0464.tests.threeRingsContactTest| 36.6406 | 28.2344 | 8.4062 (23 %) | | ||
| + | |meca0464.tests.twoRingsContactTest| 12.6406 | 11.9375 | 0.703 (5.5 %) | | ||
| + | |mtContact.tests.threePlatesCylinderContactTest| 922.141 | 558.453 | 363.688 (39 %) | | ||
| + | |mtContact.tests.threeBeamsRingContactTest| 332.547 | 182.609 | 149.938 (45 %) | | ||
| + | |mtContact.tests.torusCylinderContactTest| 622.391 | 329.219 | 293.172 (47 %) | | ||
| + | |mtContact.tests.twoToriContactTest| 251.141 | 173.453 | 77.688 (31 %) | | ||
| + | Finalement, il est très recommandé d' | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | === Visualisation Graphique === | ||
| + | |||
| + | J'ai ajouté la possibilité de voir les arbres dans Metafor. Je vous fournis ici quelques captures d' | ||
| + | |||
| + | {{: | ||
| === Extensions possibles === | === Extensions possibles === | ||
| Line 45: | Line 76: | ||
| * Parcourir/ | * Parcourir/ | ||
| * Utiliser des volumes d' | * Utiliser des volumes d' | ||
| - | * Mettre à jour l' | + | * Mettre à jour l' |
| + | |||
| + | Finalement, une autre manière d' | ||
| + | === Intégration numérique === | ||
| + | Afin de calculer une surface, une longueur, ainsi qu'un centre de gravité aisément, j'ai implémenté une quadrature automatique du type Clenshaw-Curtis (Stratégie de sous-division locale). Également afin de conserver une certaine généralité, | ||
| + | Références : | ||
| + | * Computational Integration de Arnold R. Krommer et Christoph W. Ueberhuber, p 427 | ||
| + | * A self-adaptive Clenshaw-Curtis quadrature scheme for efficient integration over parametric CAD surfaces, R.N. Simpson, Z. Liu, University of Glasgow | ||
| + | * Is Gauss quadrature better than Clenshaw-Curtis ?, Lloyd N. Trefethen, 2008 | ||
| ===== Fichiers ajoutés/ | ===== Fichiers ajoutés/ | ||
| < | < | ||
| - | [a]: | + | [a]:oo_meta\mtDrawables\BVHTreeDrawer.cpp |
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| [r]: | [r]: | ||
| </ | </ | ||
| Line 61: | Line 147: | ||
| < | < | ||
| - | [a]: | + | [a]:oo_nda/ |
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| + | [a]: | ||
| [r]: | [r]: | ||
| </ | </ | ||
commit/2017/08_16.1502883222.txt.gz · Last modified: by wautelet
