Поиск:

Ответ в темуСоздание новой темы Создание опроса
> набор линий и точек и расстояние между ними 
:(
    Опции темы
mrgloom
Дата 4.8.2011, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вообщем есть набор отезков.
есть набор точек (контур).
с помощью алгоритма я этот контур накладываю на отрезки.
и мне надо определить какие отрезки не попали на контур (т.е. например на расстоянии L от линии нет ни 1 точки, значит линия не попала на контур)
так вот все отрезки против всех точек смотреть долго.
я использую quadtree для линий, и беру 1 точку и ее квадратную окрестность 2L и проверяю по поиску по дереву какие линии в этой области лежат,а потом ищу расстояние от точки до каждого отрезка. 
может можно как то быстрее и я чего то не учел?



Это сообщение отредактировал(а) mrgloom - 4.8.2011, 13:56
PM MAIL   Вверх
baldina
Дата 4.8.2011, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



для выпуклого многоугольника можно использовать предобработку + двоичный поиск для определения принадлежности точки многоугольнику, O(logN). 
поскольку требуется несколько определений для одного многоугольника, предобработка многоугольника будет оправдана.


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  point_inclusion_handout.pdf 71,92 Kb
PM MAIL   Вверх
mrgloom
Дата 4.8.2011, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



не понял вы про какие многоугольники? которые составляют отрезки? 
(они не обязательно составляют, скажем так это в основном прямоугольники и отрезки)
или вы про "контур" который составляют точки? (так он не обязательно выпуклый и может состоять из нескольких фигур,которые даже не замкнуты)
PM MAIL   Вверх
baldina
Дата 4.8.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



Цитата(mrgloom @  4.8.2011,  13:04 Найти цитируемый пост)
есть набор точек (контур).

про этот
если невупуклый, то либо превратить его в набор выпуклых, либо использовать другой алгоритм, например этот

Добавлено через 1 минуту и 26 секунд
вам ведь 
Цитата(mrgloom @  4.8.2011,  13:04 Найти цитируемый пост)
 надо определить какие отрезки не попали на контур

для этого нужно убедиться, что концы отрезка лежат по разные стороны многоугольника (снаружи и внутри)

PM MAIL   Вверх
mrgloom
Дата 4.8.2011, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(baldina @  4.8.2011,  14:31 Найти цитируемый пост)
 надо определить какие отрезки не попали на контур

для этого нужно убедиться, что концы отрезка лежат по разные стороны многоугольника (снаружи и внутри)


не так.
этот "контур" уже наложен на группу отрезков и мне надо решить 2 задачи:
1.Найти отрезки которые далеко(если близко нету не одной точки контура)

2.посмотреть все ли точки контура хорошо легли на отрезки. 
(для каждой точки контура, посмотреть есть ли на близком расстоянии отрезок)
(хотя тут наверно надо как то сложнее. учитывать направление)


пример для наглядности. зеленый контур, серые отрезки. красные рамки-контур плохо лег.
user posted image


Это сообщение отредактировал(а) mrgloom - 4.8.2011, 15:15
PM MAIL   Вверх
baldina
Дата 4.8.2011, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



на картинке отмечены красным пересечения с контуром... то, о чем я и говорил.
или все-таки другая задача?
PM MAIL   Вверх
mrgloom
Дата 5.8.2011, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



отрезок может "принадлежать" контуру даже если они не пересекаются(и не обязательно содержится внутри контура), если хоть одна точка контура отстоит от отрезка на какое то меньшее минимального растояние.(без разницы внутрь или наружу)

Это сообщение отредактировал(а) mrgloom - 5.8.2011, 09:14
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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