| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Проверка на пересечение треугольника и отрезка |
| Автор: ChofCh 27.4.2005, 18:29 |
| Как реализовать покрасивее? Сейчас проверяю концы отрезка на принадлежность треугольнику (через векторные произведения). Если ни один из них не лежит в треугольнике, то проверяю каждую из сторон треугольника на пересечение с отрезком. Чувствую, что способ не оптимальный, но вот два дня уже туплю и не могу придумать ничего лучше. |
| Автор: batigoal 27.4.2005, 18:43 |
| А зачем проверять концы отрезка? Пересечения сторон достаточно. |
| Автор: sh_temp_el 27.4.2005, 20:32 |
| ИМХО можно проверять пересечение проекций |
| Автор: ChofCh 27.4.2005, 20:44 | ||
Слово "пересечение" в данном случае не совсем удачно. Меня интересуют все те случаи, когда хоть какая-то часть отрезка лежит в треугольнике (в том числе, если в нём лежит весь отрезок) |
| Автор: SoWa 15.5.2005, 17:12 |
| Ты знаешь что такое уравнение прямой, нормаль к прямой, как определять точку внутри выпуклого многоугольника? Если да, то дело техники- вогнал формулу и работай, а если нет, то обращайся... |
| Автор: ChofCh 16.5.2005, 09:56 | ||||
Эххх... Знаю, знаю. Если бы вы внимательно прочитали мой первый пост, то убедились бы в этом. Мне нужно отлавливать как такие:
Во втором случае ни одна из вершин не принадлежит труегольнику, в первом - ни одна сторона треугольника не пересекает отрезок. Вот я и думаю, нельзя ли как-то объединить это в одну проверку? |
| Автор: SoWa 16.5.2005, 11:39 |
| М-м-м... Объединить-то можно, но сложно. Ты где и на каком курсу учишься? Если знаешь как определять плоскость фигуры и работать с ней, то с небольшим усилием- прочитай что-нить на сайте РАН об этом есть диссертация, то решишь. А без этого делать две проверки. |