Реакции на столкновения
ЭТО ГЛАВА, В КОТОРОЙ ОТДЕЛЬНЫЕ ДЕТАЛИ ДЕЙСТВИТЕЛЬНО НАЧИНАЮТ СОБИРАТЬСЯ ВМЕСТЕ. Вы будете применять многие идеи, которые изучили в предыдущих главах. В Главе 4, «Основы физики», вы изучили общие принципы и уравнения, необходимы для перемещения клипов по экрану. С добавлением концепций гравитации и трения вы были в состоянии добавить еще больше реализма к запрограммированной системе. В Главе 5, «Обнаружение столкновений», вы изучили, как обнаруживать столкновения между многими типами объектов – иногда движущихся, иногда нет. Логика следующего шага состоит в изучении физики и уравнений, использованных в создании реакции объектов (клипов) на столкновения физически реалистичным путем. В этой главе мы рассмотрим несколько полезных примеров реакций на столкновения. Для некоторых из них, мы также будем изучать (и применять) законы сохранения момента и энергии. К концу этой главы вы будете способны программировать столкновения бильярдных шаров, отскакивание ящика или шара от пола или стены, и даже отскакивание шара от наклонной линии! Неожиданно игры вроде пинбола, бильярда и хоккея уже не будут казаться такими таинственными.
Я разделил типы столкновений, которые мы будем рассматривать в этой главе на четыре тесно связанные категории:
Реакции на столкновения объект-стена. Этот тип реакции должен происходить, когда объект вроде окружности или прямоугольника сталкивается со стеной или полом.
Реакции на столкновения окружность-линия. Этот тип реакции возникает когда окружность сталкивается с наклонной линией (например, в физике пинбола).
Реакции на столкновения прямоугольник-прямоугольник. Этот тип реакции происходит, когда два прямоугольных объекта сталкиваются по прямой (без вращения).
Реакции на столкновения окружность-окружность. Этот тип реакции возникает, когда две окружности (например, бильярдные шары) сталкиваются под некоторым углом.
Мы остановились на этих реакциях на столкновения по нескольким причинам