IT-словарь › Программирование › Теорема о разделяющей оси (SAT)

Теорема о разделяющей оси (SAT)

Программирование Svenska → Обновлено: 2026-10-24

Две выпуклые фигуры не пересекаются тогда и только тогда, когда существует ось, на которую их «тени» не перекрываются.

Теорема — частный случай теоремы о разделяющей гиперплоскости из выпуклой геометрии, и благодаря ей проверка столкновений получается удивительно простой. Для двух выпуклых многоугольников достаточно спроецировать оба на конечный набор осей-кандидатов — нормалей к рёбрам — и посмотреть, остаётся ли хотя бы на одной из них зазор между интервалами. Нашли зазор — фигуры не пересекаются, и дальше можно не искать.

SAT лежит в основе значительной части двумерных проверок столкновений в играх именно потому, что его легко написать без ошибок и легко отлаживать: разделяющую ось можно нарисовать на экране. В 3D число осей-кандидатов растёт (пары рёбер добавляют векторные произведения), и многие переходят на GJK. Бонусом метод почти даром сообщает степень перекрытия: наименьшее перекрытие по любой оси и есть глубина проникновения.

← Назад к словарю