Теорема о разделяющей оси - ограничение и вектор минимального сдвига - PullRequest
1 голос
/ 24 февраля 2011

Мой код для вычисления минимального вектора переноса с использованием теоремы о разделяющей оси работает отлично, за исключением случаев, когда один из многоугольников полностью содержится в другом многоугольнике.Я искал Интернет для решения этой проблемы, и все, кажется, просто игнорируют его (http://www.codezealot.org/archives/55#sat-contain говорит об этом, но не дает полного решения ...)

Картинки нижеСкриншот из моей программы, иллюстрирующий проблему.Полупрозрачный синий треугольник - это положение прямоугольника до применения MTV, а другой треугольник - с применением MTV.

MTV Containment Problem - Screenshot

1 Ответ

0 голосов
/ 24 февраля 2011

Мне кажется, что ссылка, которой вы поделились, дает решение этой проблемы. В ваших расчетах MTV вы должны проверить полную локализацию в проекции и соответственно изменить расчеты. (Псевдокод относится к рисунку 9 на этой странице.) Возможно, если вы опубликуете свой код, мы сможем прокомментировать, почему он не работает.

...