Je travaille sur un moteur physique purement continu , et je dois choisir des algorithmes pour la détection de collision de phase large et étroite. "Purement continu" signifie que je ne fais jamais de tests d'intersection, mais que je veux plutôt trouver des moyens d'attraper chaque collision avant qu'elle ne se produise, et de les placer dans une pile de "collisions planifiées" commandée par TOI.
Phase large La seule méthode continue à phase large à laquelle je peux penser consiste à enfermer chaque corps dans un cercle et à tester si chaque cercle se chevauchera jamais. Cependant, cela semble horriblement inefficace et ne fait l'objet d'aucune élimination.
Je n'ai aucune idée des analogies continues qui pourraient exister pour les méthodes d'élimination des collisions discrètes d'aujourd'hui telles que les quadruples. Comment pourrais-je éviter les tests larges inappropriés et inutiles comme le fait un moteur discret? J'aimerais également pouvoir voir les collisions à plus d'une image.
Phase étroite
J'ai réussi à adapter le SAT étroit à une vérification continue plutôt que discrète, mais je suis sûr qu'il existe d'autres meilleurs algorithmes dans les documents ou les sites que vous avez pu rencontrer.
Quels différents algorithmes rapides ou précis proposez-vous que j'utilise et quels sont les avantages / inconvénients de chacun?
Note finale:
je dis des techniques et non algorithmes car je n'ai pas encore décidé comment je vais stocker différents polygones qui pourraient être concaves, convexes, ronds ou même avoir des trous. Je prévois de prendre une décision à ce sujet en fonction de ce que l'algorithme nécessite (par exemple, si je choisis un algorithme qui décompose un polygone en triangles ou en formes convexes, je vais simplement stocker les données du polygone sous cette forme).