Сообщения

Сообщения за октябрь, 2010

2D Физика для игр - Separate Axis Theorem - Вектор сдвига

Изображение
Как и обещал продолжаю перевод серии статей про игровую физику. Сегодня я напишу как получить вектор сдвига и разьединить 2 столкнувшихся многоугольника. Как было точно подмечено анонимным комментатором метод отделяющей оси работает только для выпуклых многоугольников. Итак, дано: 2 столкнувшихся многоугольника Задача: Разьединить 2 многоугольника, причём минимальным сдвигом. В прошлом посте я писал как узнать пересекаются ли 2 многоугольника, это полезная информация, однако мы можем узнать больше. В случае если 2 многоугольника пересекаются хотелось бы сдвинуть их от друг друга, чтобы они не пересекались.

2D Физика для игр - Separate Axis Theorem

Изображение
Нашёл в интернете очень интересную подборку статей и кода, которая описывает написание физики для игр. Я подумал что было бы полезно перевести серию тех статей и портировать код на XNA. Как для себя, так и для интересующихся игровой физикой. Первая статья будет посвящена Separete Axis Theorem  ( теорема о разделяющей оси )- методу проверки столкновений между многоугольниками. Данный метод является наиболее быстрым на данный момент и используется повсеместно во всех 2D физических библиотеках. Итак, задача : Нам даны два многугольника в виде массива координат вершин. Необходимо проверить их на пересечение.