Je fabrique donc un moteur physique qui n'utilise que des rectangles (boîtes de délimitation alignées sur les axes) comme des formes. J'ai implémenté une méthode du livre de christer ericsons qui retourne le temps de collision et la normale de deux aabbs en mouvement. J'ai aussi fait une autre méthode qui prend deux vitesses, positions et une normale qui réagit à la collision et donne de nouvelles vitesses aux aabbs. Le problème réel est maintenant que je ne sais pas comment la boucle, qui vérifie les collisions entre tous les aabbs et y répond, devrait ressembler. Simplement, je ne comprends pas comment commander les collisions au moment de l'impact et à quelle collision je devrais répondre.Détection de collision - Commande - Quelle est la première collision?
Une boucle écrite en pseudo code qui montre comment commander toutes les collisions serait vraiment utile.
Une autre chose que j'ai mentionnée est qu'il est possible qu'une boîte mobile puisse rebondir entre deux boîtes statiques des centaines de fois dans une seule image si sa vélocité est vraiment élevée, comment gérez-vous cela?
Puisqu'il n'y a pas beaucoup de programmeurs sur le thème de la détection de collision, puis-je vous demander si vous avez quelque chose comme skype ou facebook où je peux vous atteindre plus comme dans une conversation? J'écris du code en javascript donc psuedo me rend un peu confus. Que signifie la fonction de mise en file d'attente par exemple? – super
Ce n'est pas vraiment du "pseudocode" (peu importe ce que cela signifie), c'est plutôt du code "générique C++/java-esque". La file d'attente est une structure de données premier entré, premier sorti. La file d'attente dont vous auriez besoin ici est une file d'attente qui permet d'insérer des éléments par priorité. Les 'enqueue' et' dequeue' sont les opérations de base supportées par une structure de données 'queue'. Je ne suis ni expert en physique-moteurs, ni en javascript. Cependant, vous voudrez peut-être poser une version plus étendue de votre question, peut-être avec un code exécutable (peut-être l'héberger sur github?), De sorte que quelqu'un ait quelque chose à faire, peut-être que quelqu'un verra de plus près. –