Inicialmente intenté implementar una intersección rectangular, que funciona bien. Sin embargo, cuando tengo que aplicar el sistema de física, como la velocidad, la aceleración y los vectores direccionales, tendría que encontrar una manera de determinar qué lado de los rectángulos chocan. Ahora, en mi sistema, no hay un rectángulo girado, por lo que esto simplificó el problema. Sin embargo, no pude encontrar una manera fácil de determinar qué lado del rectángulo colisionó. Una vez he lidiado con este problema antes pero fallé miserablemente.
Lo que hice en el pasado es determinar la distancia entre cada lado rectangular paralelo y verificar si la distancia es cercana a 0 (use un rango de distancia inicialmente definido) o sea 0. Sin embargo, para la aritmética de punto flotante, esto resulta inestable porque de tiempo desconocido transcurre. En algún momento, los rectángulos se intersectarían entre sí antes de cumplir con el rango definido.
Por otro lado, estaba pensando en generar múltiples rectángulos, cada rectángulo para cada lado. Sin embargo, después de pensar de nuevo, sería lo mismo que tener un lado paralelo con la verificación del rango de distancia, solo que ese rango de distancia es el ancho de cada mini rectángulo.
Por lo tanto, ¿alguna sugerencia para este problema?