Алгоритмы отображения графов
graphviz?
Ожидаемое количество кода 3000 строк или 100Кб.
Если есть владельцы книжек
http://www.cs.brown.edu/people/rt/gdbook.html
или
Н.В. Касьянов, В.А. Евтигнеев "Графы в Программировании:обработка, визуализация и применение." BHV 2003.
буду весьма признателен.
Ссылки:
http://rain.ifmo.ru/cat/view.php/vis/graph-coloring-layout/planar-layout-2003 - планарная укладка (Java applet)
http://www.yandex.ru/yandsearch?text=%EF%EB%E0%ED%E0%F0%ED%EE%F1%F2%FC+%E3%F0%E0%F4%E0&stype=www так следует искать
каков порядок количества вершин, ребер?
Кол-во вершин - <1000.
Хочу реализацию алгоритма в своей системе.
Отображение блок-схем программ.Стандартное решения для этого - graphviz. Зачем изобретать велосипед?
Знаю работы, где красивость определялалсь через функциональность -
например, если граф двудольный -то он и выглядит как двудольный, если планарный -
то и выводится как планарный. Все априорные способы отображения графа обычно идут боком -
т.к. не рассчитаны на сложные графы
Оставить комментарий
yolki
Граф задан логически - вершины, рёбра (связи граф ориентирован.Требуется: на картинке отобразить более-менее красиво, т.е. что-нибудь более-менее интелектуальное.
Вершины имеют размер (скажем, MxN пикселей).
Есть две задачи в этом направлении, условно называемые "расстановка" и "трассировка".
"Расстановка" - это как расставить вершины, чтобы получилось наглядно.
"Трассировка" - это как соединить вершины так, чтобы рёбра (это не обязательно прямые) огибали вершины.
В общем случае расположить граф на плоскости так, чтобы рёбра не пересекались нельзя. Но можно к этому стремиться.
Синим отмечены весьма субъективные термины.
Сходные идеи могут применяться при проектировании печатных плат.
Может, у кого есть готовые реализации?