Sto tentando di implementare il teorema degli assi di separazione in C #. Ho una funzione che può calcolare il vettore minimo di traduzione tra due poligoni. Tuttavia, non riesco a creare una funzione che calcola il vettore di traduzione minimo tra un poligono e più altri poligoni. Onestamente, ci sto lavorando da mesi e non sono più vicino a una soluzione e non sono stato in grado di trovare una soluzione online. Ci sono sempre alcuni casi limite che non restituiscono il risultato corretto, portando a bug ad alta priorità nel mio gioco.
Ecco alcuni casi limite comuni che non funzionano correttamente:
Esiste una soluzione ben nota per questo problema? Tutto quello che riesco a trovare è la gente che dice "esegui il SAT su ciascun poligono", ma raramente produce il vettore minimo di traduzione.
Qualsiasi aiuto sarebbe molto apprezzato.