Показать сообщение отдельно
Старый 01.12.2013, 06:50   #2
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Столкновение прямоугольного параллелепипеда с шаром

Математика векторов.
Во первых тебе нужно реализовать проверку на пересечение отрезка и линии, далее улучшить это дело чтобы получить данные о пересечении - перпендикуляр, ближайшая точка пересечения и т.п.
Далее почти всё готово - проверяй разанее на AABB - если прямоугольники описывающие два объекта пересекаются или нет. Потом тебе нужно попробовать вычислить если окружность в центре прямоугольника - это весьма просто, нужно повернуть все данные на вектор поворота прямоугольника, и затем просто сравнить x,y координаты сторон прямоугольника и центра окружности. Т.к. всё будет уже повёрнуто это просто < > сравнение.
И только затем, если AABB == true и окружность не в центре, делать вычисления по принципу описанному вначале.

Или не париться и взять физический движёк, зависит от инструмента, но тот же Box2D есть на кучу платформ и языков.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Devilox (01.12.2013)