Необходимо нарисовать граф (ориентированный ациклический граф или дерево) на плоскости. Интересуют бесплатные библиотеки на С++, которые работают по принципу: получить матрицу инцидентности или список смежности, а вернуть координаты вершин графа. Если существуют похожие библиотеки, то где их найти?
NewBayes wrote:
> Необходимо нарисовать граф (ориентированный ациклический граф или > дерево) на плоскости. Интересуют бесплатные библиотеки на С++, которые > работают по принципу: получить матрицу инцидентности или список > смежности, а вернуть координаты вершин графа. Если существуют похожие > библиотеки, то где их найти? http://www.graphviz.org/Gallery.php
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, NewBayes, Вы писали:
NB>Необходимо нарисовать граф (ориентированный ациклический граф или дерево) на плоскости. Интересуют бесплатные библиотеки на С++, которые работают по принципу: получить матрицу инцидентности или список смежности, а вернуть координаты вершин графа. Если существуют похожие библиотеки, то где их найти?
Про graphviz как средство визуализации уже сказали. С точки зрения интеграции со своей программой еще может заинтересовать бесплатная библиотека boost.graph, где есть генератор и парсер описания графов в формате graphviz.
It's kind of fun to do the impossible (Walt Disney)
Здравствуйте, NewBayes, Вы писали:
NB>Необходимо нарисовать граф (ориентированный ациклический граф или дерево) на плоскости. Интересуют бесплатные библиотеки на С++, которые работают по принципу: получить матрицу инцидентности или список смежности, а вернуть координаты вершин графа. Если существуют похожие библиотеки, то где их найти?
Для ориентированного ациклического графа проще всего использовать Sugiyama algorithm (в гугле много ссылок). Его смысл состоит в разбиении всех вершин по уровням + последующая прокладка ребер. Его несложно написать самому (у меня где-то порядка 1000 строк получилось)
Здравствуйте, NewBayes, Вы писали:
NB>Необходимо нарисовать граф (ориентированный ациклический граф или дерево) на плоскости. Интересуют бесплатные библиотеки на С++, которые работают по принципу: получить матрицу инцидентности или список смежности, а вернуть координаты вершин графа. Если существуют похожие библиотеки, то где их найти?