• Aucun résultat trouvé

Évaluation de la re-projection des rayons

Pour évaluer notre méthode, nous avons premièrement considéré le cas d’une collision entre un objet arbitraire et un sol plan, dans un tel cas la réponse physique devrait être orthogonale au sol. Ce test a été utilisé par Hermann et al. pour évaluer leur méthode de pondération des forces. Nous avons testé trois objets : une sphère discrétisée et deux objets irréguliers (le lapin et le cochon présentés dans la figure3.4). Chaque objet a été testé avec 400 orientations différentes et 20 niveaux de pénétration différents avec le sol (comme illustré dans la figure3.16).

Figure 3.16 – Pour tester la déviation moyenne de la réaction physique entre un objet

et le sol, nous avons réalisé des tests de collision avec différents niveaux de pénétration et avec différentes orientations.

La table 3.3 donne la déviation moyenne définie par le ratio entre les forces tangentielles et les forces normales. En théorie, cette déviation devrait être de zéro. La méthode standard correspond à ne pas modifier ni pondérer les rayons.

Méthode sphère lapin cochon

nombre de sommets 70 453 1085

standard 3.97% 22.0% 27.0%

pondération [Hermann et al., 2008] 2.66% 16.5% 20.6%

Re-projection 0.00% 0.00% 0.00%

Table 3.3 – Déviation moyenne des forces de pénalités pour trois objets.

La déviation est faible avec la sphère, ceci est expliqué par la régularité de la forme. Avec les symétries, les forces tangentielles ont tendance à s’annuler. Avec des

3. Re-projection des rayons

formes irrégulières, les forces tangentielles ne s’annulent pas et la déviation n’est pas négligeable. La méthode de pondération proposée par Hermann et al. réduit les forces tangentielles, mais la réduction n’est environ que de 25% pour les formes irrégulières. Notre méthode de re-projection permet de garantir une déviation de 0% car les forces sont réorientées dans la direction optimale.

Le test entre un objet arbitraire et un sol plan n’étant pas représentatif des situations réelles, nous avons évalué notre méthode de re-projection sur deux scènes tests. Les deux scènes tests sont les scènes utilisées dans la section précédente (cf. Figure3.11). La réponse physique est obtenue en utilisant le solver de contraintes de Bullet Physics qui réduit les points de contacts entre les objets (jusqu’à quatre points de contacts sont conservés) puis applique des impulsions de vitesse. Nous avons exécuté chaque scène avec et sans re-projection des rayons. La table 3.4 donne la somme des longueurs des rayons tout au long des simulations. Cette somme devrait être la plus petite possible car elle mesure la quantité d’inter-pénétrations présentes entre les objets. Cette somme de longueurs n’est pas nulle car le solver utilisé cherche à faire un compromis entre précision et temps de calcul. Les résultats montrent que l’utilisation de la re-projection des rayons diminue jusqu’à 59% la quantité d’interpénétration. Cette réduction montre que la re-projection des rayons permet de fournir à la réponse physique des points de contacts plus adaptés, ceci va se traduire par des simulations comportant moins d’erreurs et plus fidèles à la réalité.

Standard Re-projection Réduction

Scène 1 16 115 10 793 59%

Scène 2 66 094 38 398 42%

Table 3.4 – Comparaison de la somme des longueurs des rayons tout au long de la

simulation avec et sans re-projection des rayons.

3.3 Synthèse

La re-projection des rayons est une méthode simple qui permet d’obtenir une réponse physique correcte. Cette méthode est appliquée après le lancer de rayon et modifie les directions associées aux points de contacts avec un coût de calcul négligeable. Nos tests ont montré que cette méthode est plus performante que la méthode proposée par Hermann et al.

Cette méthode réalise une approximation de la recherche du déplacement le plus court séparant les objets en limitant la recherche au triangle ayant été détecté en collision. Cette approximation correspond à réaliser une recherche locale. Cependant, la méthode de détection de collision que nous utilisons fournit des correspondances sommet/triangles très proches et il est donc fortement probable que le déplacement minimum séparant le sommet détecté avec le second objet se situe sur le triangle détecté. Si ce n’est pas le cas la réponse physique sera tout de même capable de calculer une réponse pour séparer les objets, mais celle-ci ne sera pas toujours réaliste (cf. figure

Figure 3.17 – Exemple où la re-projection des rayons (à gauche) ne fournit pas le

déplacement minimum global (à droite).

4

Détection de collision pour les objets surfaciques

La méthode de détection proposée par [Hermann et al., 2008] permet de réaliser la détection de collision sur des surfaces closes, c’est-à-dire des objets volumiques représentés par leur surface (que nous appellerons par la suite simplement objet volumique). Cependant, certains types d’objets sont difficilement représentables avec ce type de représentation. C’est le cas des objets extrêmement fins et pouvant être représentés par une surface simple tels que des tissus ou de la tôle (que nous appellerons par la suite objet surfacique).

Nous proposons une méthode de détection de collision pour les tissus (et plus généralement les objets surfaciques) pour la narrow-phase qui utilise les méthodes de lancer de rayon pour réaliser des tests de collision entre deux objets. Notre méthode est capable de réaliser la détection de collision discrète entre un tissu et un objet volumique (incluant des objets non-convexes) ainsi que la détection de collision discrète entre deux tissus (en incluant les auto-collisions). Notre méthode est couplée avec une méthode permettant de corriger les artefacts de collision entre des tissus causées par les simulations discrètes. En effet, avec des simulations discrètes, des artéfacts peuvent apparaitre lorsque des objets ont des mouvements avec une amplitude supérieure à leur taille en un seul pas de temps. Ce problème est critique avec des tissus à cause de leur faible épaisseur. Notre méthode détecte ces inversions et les corrige.

Dans cette section, nous commençons par présenter le principe général de notre méthode de détection de collision pour les tissus (cf. Section 4.1). Nous détaillons ensuite les différents cas à traiter (cf. Section4.2). Puis nous évaluons les performances de notre méthode (cf. Section4.3).

Documents relatifs