J'essaie d'implémenter le théorème de l'axe de séparation en C #. J'ai une fonction qui peut calculer le vecteur de translation minimum entre deux polygones. Cependant, je n'arrive pas à créer une fonction qui calcule le vecteur de translation minimum entre un polygone et plusieurs autres polygones. Honnêtement, j'y travaille depuis des mois et je ne suis pas plus proche d'une solution et je n'ai pas pu trouver de solution en ligne. Il y a toujours quelques cas marginaux qui ne renvoient pas le bon résultat, ce qui entraîne des bogues de haute priorité dans mon jeu.
Voici des cas courants qui ne fonctionnent pas correctement:
Existe-t-il une solution bien connue à ce problème? Tout ce que je peux trouver, ce sont des gens qui disent "il suffit d'exécuter le SAT sur chaque polygone" mais cela produit rarement le vecteur de translation minimum .
Toute aide serait très appréciée.