Какой хороший, простой, 2D алгоритм обнаружения столкновений только для прямоугольников?
Я разрабатываю учебное пособие по обнаружению столкновений для молодых людей, поэтому хочу, чтобы это было как можно проще, чтобы было легче объяснить.
Требования очень просты. Мир 2D и содержит только прямоугольники (произвольных размеров). BSP и даже quadtree кажутся излишними (опять же, акцент делается на простоте), но я бы хотел что-то более эффективное, чем грубое форсирование всех n (n-1) / 2 возможных столкновений.
2D, только прямоугольники и простые.
Кто-нибудь может указать на алгоритм, который я могу посмотреть? Является ли алгоритм Quadtree, что я ищу?
РЕДАКТИРОВАТЬ: Кроме того, прямоугольники никогда не будут вращаться (я держу это просто). И чтобы дать вам представление о том, в каком масштабе я работаю, на вашем обычном пользовательском ноутбуке (менее 5 лет) будет реализовано порядка нескольких сотен прямоугольников, реализованных в Python с Pygame.