Главная причина в том, что большинство других обнаружений столкновений не нуждаются в реакции. Например, столкновение точки с воздушным шаром по всей вероятности повлечет анимацию лопающегося воздушного шара, не запрограммированную реакцию. Пересечение между двумя линиями обычно используется для определения чего-то большего, вроде столкновения между шаром и линией, так что мы не пытаемся программировать какую-либо реакцию для двух пересекающихся линий.
Другая причина, почему мы рассматриваем лишь несколько типов обнаружения столкновения и реакций состоит в том, что часто хорошей идеей является использование простых форм. Если в вашей игре используется бросание бейсбольного мяча по арбузу, то вместо разработки специальных методов обнаружения столкновения окружности с эллипсом, было бы скорее принять, что арбуз является окружностью (или даже прямоугольником). Обнаружение столкновения будет достаточно хорошим, и скрипт будет работать быстрее, чем если бы вы обнаруживали более сложную фигуру. Эта техника отсечения углов используется в большинстве популярных компьютерных игр на рынке. Например, в Tomb Raider (Томб райдер – Расхитительница гробниц), главный персонаж предполагается цилиндром, нежели персоной со сложными пропорциями. (Betcha(Беша) не знал этого, не так ли?) Эта геометрическая аппроксимация делает обнаружение столкновения более простым без больших жертв.
Отскакивание от стен
Стеной является любой объект, который не может перемещаться в результате столкновения, но с которым может происходить столкновение. Например, если вы бросаете теннисный мяч в стену, стена не двигается, но она определенно испытывает удар! По этому определению, даже ракетки в простой игре типа тенниса рассматриваются как стены. В этом случае они представляют собой стены, которые могут двигаться, но их движение не является результатом столкновения. В данном разделе мы рассмотрим столкновения со стенами и столкновения с линиями под любым углом, которые часто используются как стены