Проверка пересечения треугольника и прямоугольника
Простая задача. Нужно определить есть ли пересечение треугольника с прямоугольником.
В сети все советы сводятся к одному алгоритму: 1) Проверка принадлежности точек треугольника прямоугольнику. 2) Проверка пересечения сторон если первое действие не дало результатов. Но тут у возник вопрос - а нет ли более упрощенного и менее затратного по вычислениям способа? Само собой не обязательно исключать первый пункт, но можно ли обойтись без поиска пересечений по всем 12 отрезкам? Вопрос скорее по оптимизации. Первый вариант алгоритма я уже решил. Но перед тем как делать лучше узнать о более простых способах. |
Ответ: Проверка пересечения треугольника и прямоугольника
если проекции фигур вдоль всех сторон пересекаются - есть пересечение.
|
Ответ: Проверка пересечения треугольника и прямоугольника
Хотя удобнее фигуры проецировать на нормали к сторонам.
|
Ответ: Проверка пересечения треугольника и прямоугольника
Цитата:
Что-то из этого способа я нашел здесь. Хотя как мне кажется способ ничуть не менее затратный. |
Ответ: Проверка пересечения треугольника и прямоугольника
Способ вообще не затратный.
Сразу проверяй твои фигуры по Bounding box'ам. Очевидно, что если коллизии там не будет, то фигуры не касаются друг друга. В противном случае, юзай SAT( то, что ты нашел на сайте). А если на это дело ещё натянуть какой-нибудь quadtree, работать будет моментально. |
Часовой пояс GMT +4, время: 10:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot