Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка на пересечение треугольника и отрезка, На плоскости 
:(
    Опции темы
ChofCh
Дата 27.4.2005, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 27.4.2005
Где: г. Долгопрудный

Репутация: 1
Всего: 2



Как реализовать покрасивее? Сейчас проверяю концы отрезка на принадлежность треугольнику (через векторные произведения). Если ни один из них не лежит в треугольнике, то проверяю каждую из сторон треугольника на пересечение с отрезком. Чувствую, что способ не оптимальный, но вот два дня уже туплю и не могу придумать ничего лучше.
PM MAIL ICQ   Вверх
batigoal
Дата 27.4.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: нет
Всего: 151



А зачем проверять концы отрезка? Пересечения сторон достаточно.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
sh_temp_el
Дата 27.4.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 26.4.2005

Репутация: нет
Всего: нет



ИМХО можно проверять пересечение проекций
PM MAIL   Вверх
ChofCh
Дата 27.4.2005, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 27.4.2005
Где: г. Долгопрудный

Репутация: 1
Всего: 2



Цитата(Lamer @ 27.4.2005, 18:43)
А зачем проверять концы отрезка? Пересечения сторон достаточно.

Слово "пересечение" в данном случае не совсем удачно. Меня интересуют все те случаи, когда хоть какая-то часть отрезка лежит в треугольнике (в том числе, если в нём лежит весь отрезок)
PM MAIL ICQ   Вверх
SoWa
Дата 15.5.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Ты знаешь что такое уравнение прямой, нормаль к прямой, как определять точку внутри выпуклого многоугольника? Если да, то дело техники- вогнал формулу и работай, а если нет, то обращайся...


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
ChofCh
Дата 16.5.2005, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 27.4.2005
Где: г. Долгопрудный

Репутация: 1
Всего: 2



Эххх... Знаю, знаю. Если бы вы внимательно прочитали мой первый пост, то убедились бы в этом. Мне нужно отлавливать как такие:
Код

--------
|       /
|  |   /
|  |  /
|    /
|   /
|  /
| /
|/
,так и такие варианты:
Код

 \
--\-----
|  \    /
|   \  /
|    \/
|    /\
|   /  \
|  /
| /
|/

Во втором случае ни одна из вершин не принадлежит труегольнику, в первом - ни одна сторона треугольника не пересекает отрезок. Вот я и думаю, нельзя ли как-то объединить это в одну проверку?

Это сообщение отредактировал(а) ChofCh - 16.5.2005, 09:57
PM MAIL ICQ   Вверх
SoWa
Дата 16.5.2005, 11:39 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



М-м-м... Объединить-то можно, но сложно. Ты где и на каком курсу учишься? Если знаешь как определять плоскость фигуры и работать с ней, то с небольшим усилием- прочитай что-нить на сайте РАН об этом есть диссертация, то решишь. А без этого делать две проверки.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.