-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в teal

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.04.2006
Записей:
Комментариев:
Написано: 2583


Трещина в голове

+ в цитатник

Cообщение скрыто для удобства комментирования.
Прочитать сообщение


psv   обратиться по имени Среда, 18 Апреля 2007 г. 17:12 (ссылка)
Ха=) Ну так мы этим же почти баяном занимались, когда крыши писали=) Сначала определяешь наверняка является ли граф планарным. Это делается по количеству узлов и рёбер. Потом можно даже двумя путями идти. Например можно отбросить все вершины с одним ребром. А потом начинаем воевать с покрывающими деревьями. Либо по-другому. Взять любой граф, двойственный данному и узлы этого графа будут как раз фрагментами плоскости. их мне ажется размещать будет легче.
Ответить С цитатой В цитатник
teal   обратиться по имени Среда, 18 Апреля 2007 г. 17:25 (ссылка)
Да, с планарным-то просто довольно-таки. Хотя, дуги графически нужно располагать в соответствии с инженерными традициями: не просто так под любым углом, а используя точки перегиба, разрывы и т.д. Есть классный алгоритм Сугиямы, он как раз бы тут подходил, если б не циклы. Тут еще нужно учитывать, что все вершины графа взвешены. Задача -- рисование энергосети. Так что придется помедитировать =)
Ответить С цитатой В цитатник
psv   обратиться по имени Среда, 18 Апреля 2007 г. 17:44 (ссылка)
Тогда вот тебе идея одна. Попробуй разместить вершины как угодно с минимальным возможным кол-вом пересечений рёбер (для планарного графа = 0). А потом запусти итеративнй процесс в ходе которого узлы будут отталкиваться друг от друга с одинаковой силой, зависящей от расстояния, грани будут стремиться удержать максимальные углы, а рёбра среднюю длину. После порогового кол-ва итераций ты получишь преемлемый результат. Кстати, можно визуализировать этот процесс, тогда будет очень симпатично выглядеть устаканивание графа=). Нужно только поварьировать коэффициенты и силы.
Ответить С цитатой В цитатник
teal   обратиться по имени Среда, 18 Апреля 2007 г. 17:54 (ссылка)
Ну прямо прописные истины говоришь. =) Этого не хватает. Даже "пружинный" алгоритм не справляется за приемлимое время. Каждое ребро представляется в виде пружинки, которая растягивается и стягивается, ну а вершины -- это типа атомов что-то, постоянно отталкиваются. Работает довольно быстро и результат дает неплохой, но для это задачи тоже не приемлимо. У нас есть решение, просто нужно найти время его запрограммировать.
Ответить С цитатой В цитатник
teal   обратиться по имени Среда, 18 Апреля 2007 г. 18:12 (ссылка)
Визуально, кстати, действительно прикольно смотрится выравнивание =) Но на графе из десятков, а не сотен вершин... К тому же этого тоже не достаточно, ибо тут куча всяких дополнительных ограничителей -- энергосети состоят из очень разнообразных элементов и у каждого из них своя "традиция" подключения =)
Ответить С цитатой В цитатник
psv   обратиться по имени Среда, 18 Апреля 2007 г. 18:43 (ссылка)
Как сказал сегодня один мудрый человек, любая задача либо неверно поставлена, либо тривиальна, либо состоит из подзадач. Любая подзадача -- это тоже задача. Однако никто не гарантирует, что общее количество таких задач будет меньше количества атомов в программисте.
Ответить С цитатой В цитатник
ferante   обратиться по имени Среда, 18 Апреля 2007 г. 19:52 (ссылка)
....
Ответить С цитатой В цитатник
teal   обратиться по имени Четверг, 19 Апреля 2007 г. 12:34 (ссылка)
psv.
Великолепно! Мои два ограничителя в таких задачках, как в термо-реле: "Бритва Оккама" и закон "Разделяй и влавствуй". Исходя из них, в принципе, и строится теория изобретений и решений любого рода задач.

ferante.
Тоже голова треснула? =)
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку