Алгоритм построения не выпуклых полигонов

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Алгоритм построения не выпуклых полигонов

Сообщение Григорий Степанов » 13 апр 2011, 10:52

Во время разработки утилит для автоматизации оцифровки топографических карт столкнулся со следующей задачей:

- существуют большие полигоны растительности ограниченные точечными линиями и естественными границами;
- в границах этих полигонов хаотично разбросаны различные точечные символы растительности;
- для групп, от двух и более однотипных символов, расстояние между которыми менее 10 мм (на бумаге) следует построить полигональные объекты по границам изображений крайних символов группы.

Проблема в том, что итоговый полигон не обязательно будет выпуклый.

Вопрос: Как построить гладкий НЕ ВЫПУКЛЫЙ полигон?

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Алгоритм построения не выпуклых полигонов

Сообщение Григорий Степанов » 13 апр 2011, 10:54

Извиняюсь, только после написания поста обратил внимание на раздел "Геоконкурс:Пожары". Видимо следует писать не сюда, но буквально заворожила тема "Алгоритмы"...

gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Алгоритм построения не выпуклых полигонов

Сообщение gamm » 13 апр 2011, 11:14

Григорий Степанов писал(а):Во время разработки утилит для автоматизации оцифровки топографических карт столкнулся со следующей задачей:

- существуют большие полигоны растительности ограниченные точечными линиями и естественными границами;
- в границах этих полигонов хаотично разбросаны различные точечные символы растительности;
- для групп, от двух и более однотипных символов, расстояние между которыми менее 10 мм (на бумаге) следует построить полигональные объекты по границам изображений крайних символов группы.

Проблема в том, что итоговый полигон не обязательно будет выпуклый.

Вопрос: Как построить гладкий НЕ ВЫПУКЛЫЙ полигон?
нужно сначала определить, каким должен быть результат (что такое гладкий, и т.д.), и строить :-)

навскидку пара идей:

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

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

gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Алгоритм построения не выпуклых полигонов

Сообщение gamm » 13 апр 2011, 11:16

Григорий Степанов писал(а):Извиняюсь, только после написания поста обратил внимание на раздел "Геоконкурс:Пожары". Видимо следует писать не сюда, но буквально заворожила тема "Алгоритмы"...
кстати, и сюда можно писать - идейка вполне годится для генерализаци пикселей, признанных пожарищем, с построением границ пожара :-)

Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

Re: Алгоритм построения не выпуклых полигонов

Сообщение Григорий Степанов » 15 апр 2011, 13:58

Вариант с обработкой результатов триангуляции Делоне похоже вполне жизнеспособен. Спасибо за идею!

gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Алгоритм построения не выпуклых полигонов

Сообщение gamm » 15 апр 2011, 20:51

Григорий Степанов писал(а):Вариант с обработкой результатов триангуляции Делоне похоже вполне жизнеспособен. Спасибо за идею!
обращайтесь :-)

всегда рад помочь старым знакомым.

Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: Amazon [Bot] и 2 гостя