background preloader

Collisions

Facebook Twitter

Collisions (OpenGL) Test de collisions 2D et 3D Avec vecteur et Segments en 2D Avec vecteur et Polygones en 3D Cet article explique une méthode de détection de collisions utilisant des vecteurs (pour le mouvement) et des segments/polygones en 2D/3D. Pour faire simple, on va prendre l'exemple d'une collision en 2D en déterminant si un point (symbolisant un objet) a traversé un segment de droite (symbolisant un mûr). Si c'est le cas, nous allons voir comment faire rebondir notre point comme une balle sur un mûr. La méthode est adaptable pour la 3D. La méthode de détection de collision présentée ici, est une méthode parmi d'autres. Elle a des avantages et des inconvénients. Je ne présente ici que la théorie.

Rappel: Equation d'une droite Alpha: Ax + By + D = H Soit Rappel: Un segment est une portion finie d'une droite infinie. Nous allons maintenant procéder par étapes. Le point a-t-il traversé la droite? I. Rappelons d'abord comment on calcul la normale d'un triangle: Retournons à nos segments. II. III. I. II. Glissement d'une forme englobante contre un arbre BSP. Depuis l'arrivée sur la scène open-source de middlewares physiques de qualité, il devient difficile d'appréhender les techniques de collisions de base, pourtant suffisantes dans de nombreux cas. Le glissement d'une forme englobante contre un arbre BSP est sans doute l'une des plus utiles d'entre elles. Il semble donc opportun d'en expliquer, étapes par étapes, le mécanisme. Nous présenterons d'abord les éléments géométriques mis en oeuvre dans ce système, puis nous déterminerons les classes correspondantes. Ensuite, nous détaillerons l'algorithme de détection des collisions.

Enfin, nous détaillerons l'algorithme de glissement utilisant les résultats de la détection. Remarque : les schémas illustrant cet article sont des représentations en 2D (pans de coupe) des mécanismes 3D décrits. II-A. Un arbre BSP (Binary Space Partition) est une structure récursive de partitionnement de l'espace de type arbre binaire. II-B. II-C. II-D.

III-A. III-B. III-C. III-D. L'algorithme est récursif. . (...) Glissement sur collision. Théorie des collisions.