Генерация рисунка / графика графика - PullRequest
3 голосов
/ 17 ноября 2008

Работая над алгоритмом кратчайшего пути в сети, я хотел бы создать картину сети. Я хотел бы представить узлы (круги), ссылки (линии), стоимость перехода по ссылке (число в середине линии ссылки) и пропускную способность ссылки (число в строке ссылки рядом с узлом, который он представляет) на картинке. Есть ли какая-нибудь библиотека / программное обеспечение, которое помогло бы автоматизировать создание этой картины?

Я могу сделать это вручную в Visio или с помощью какого-либо графического приложения, но я бы хотел сгенерировать их из кода при изменении / настройке сети.

Ответы [ 5 ]

7 голосов
/ 17 ноября 2008

Похоже на работу для GraphViz , она генерирует графики из файла краткого текстового описания. Я использовал его для создания графиков связанных узлов, и я считаю, что можно добавлять метки ссылок, как вам требуется.

4 голосов
/ 17 ноября 2008

Если вы используете python, Nodebox рисует симпатичные графики.

1 голос
/ 17 ноября 2008

Одна из больших проблем при отображении сетей, подобных этой, заключается в том, чтобы выяснить, где разместить узлы на экране дисплея. Если расположение узлов логически просто с учетом вашей сети, то готовый продукт, вероятно, удовлетворит ваши потребности.

Если договоренности намного сложнее, вам, возможно, придется принять определенное количество ручного вмешательства, чтобы заставить его работать с готовыми вещами, или поставить байты и запрограммировать все это самостоятельно.

.NET - один из вариантов, и как только вы овладеете классом Graphics, его легко использовать, и вы быстро справитесь с чем-то подобным. Тем не менее, есть, вероятно, лучшие языки / платформы, чем .NET для чего-то вроде графики.

Обновление : .NET намного лучше для 2D-графики, чем я знал. Ключом является нахождение быстрого обходного пути к очень медленным методам GetPixel () и SetPixel () в классе Bitmap. Как только вы сможете легко и быстро читать и писать отдельные пиксели, вы можете делать все, что захотите, как программист.

0 голосов
/ 17 ноября 2008

Вы случайно не узнали язык программирования R? Я не уверен, но я верю, что вы можете создавать изображения и тому подобное из графиков. r-project.org

0 голосов
/ 17 ноября 2008

Здесь есть множество визуализаций различных алгоритмов: Алгоритмическая мастерская анимации

...