IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Граф на плоскости, (надо получить циклы)
сообщение
Сообщение #1


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Значицца появился у меня вопросик.

Есть граф. Каждая вершина у него имеет координаты на плоскости (x y).
Нужно просто получить ячейки (полигоны), образованные рёбрами в графе. (Как в витраже)

Если можете, подскажите алгоритм. Уж с кодом я справлюсь.


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
Нужно просто получить ячейки (полигоны), образованные рёбрами в графе. (Как в витраже)

не ясна цель.
Пример входных и выходных данных.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Нету входных данных.
Просто есть граф. У каждой вершины - координаты на плоскости.
Вершины соединены рёбрами. Рёбра не пересекаются.

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

Сообщение отредактировано: hardcase -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


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


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Ты знаешь, на Винограде (в разделе Паскаль) по-моему поднималась эта (или очень похожая) проблема, где-то в середине - конце июня прошлого года; насколько я помню, автор темы как раз говорил, что алгоритм у него есть, и ему нужна была реализация... Попробую найти ссылку, если что - свяжись с автором, может он реализовал, или хотя-бы алгоритм возьмешь...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


А я и не прошу программы.
Мне нужет только алгоритм. Программку, при наличии алгоритма, набить - без проблем.

Буду очень признателен за помощь.


Я тут подумал. здесь нужно не триангулировать, а как-то хитро обойти вершины.

Сообщение отредактировано: hardcase -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Вот эта тема:
поиск минимальной траектории (хотя, возможно, это не совсем твой случай...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Цитата
Если это евклидов граф, т.е. вершины являются точками на плоскости, а ребра - отрезками, то это получается алгоритм построения минимальных полигонов.
Примерно так: начинаем с крайне-левой (например) вершины, в каждом узле выбираем ближайшее (по или против часовой стрелки) ребро, пока не замкнем цикл. Переходим к следущей вершине. И т.д. Ребра по дороге помечаем - каждое ребро можно пройти не более чем дважды.
Однако, это для ненаправленного графа. Для направленного тоже, наверно, как то можно приспособить, но не знаю, как получить все полигоны.

Примерно к такому же алгоритму я и пришёл. Только что-то мне не понавилось в нём.
Ладно с утреца разберусь. Ато щас соображалка туго варит.


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 20:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name