forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   Столкновение прямоугольного параллелепипеда с шаром (http://forum.boolean.name/showthread.php?t=18754)

Devilox 30.11.2013 18:48

Столкновение прямоугольного параллелепипеда с шаром
 
Не думал, что мне придётся задавать такой вопрос, но оказалось, всё не так просто: мне нужно проверить столкновение шара(известны координаты центра и радиус) и прямоугольного параллелепипеда(известны три вектора, перпендикулярные противоположным сторонам, и координаты центра масс, размеры). Как это реализовать?

moka 01.12.2013 06:50

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

Или не париться и взять физический движёк, зависит от инструмента, но тот же Box2D есть на кучу платформ и языков.


Часовой пояс GMT +4, время: 21:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot