Estoy intentando implementar el teorema del eje de separación en C #. Tengo una función que puede calcular el vector de traducción mínimo entre dos polígonos. Sin embargo, parece que no puedo crear una función que calcule el vector de traducción mínimo entre un polígono y varios otros polígonos. Honestamente, he estado trabajando en esto durante meses y no estoy más cerca de una solución y no he podido encontrar una solución en línea. Siempre hay algunos casos extremos que no devuelven el resultado correcto, lo que genera errores de alta prioridad en mi juego.
Aquí hay casos extremos comunes que no funcionan correctamente:
¿Existe una solución bien conocida para este problema? Todo lo que puedo encontrar es gente que dice "solo realiza el SAT en cada polígono", pero esto rara vez produce el vector de traducción mínimo .
Cualquier ayuda sería muy apreciada.