|
|
|
Визуализация графов10.02.2013, 19:55. Показов 31032. Ответов 38
Метки нет (Все метки)
В общем есть такой пакет http://ru.wikipedia.org/wiki/Graphviz
С помощью него можно вводить граф ввиде dot файла и получать её визуализацию ( вершины графа располагаются оптимальным образом ) Описание утилит на русском тут http://rus-linux.net/nlib.php?... 10-16.html Оф. сайт http://www.graphviz.org/ Тут же можно скачать и установить, причем как пакет с утилитами и dll -ками, инклюдами так и сами соры. Сама библиотека написана на Си. Никак не могу понять как использовать эту либу в своих программах. Пытаюсь скомпилить примеры из доки но без успешно то ли программа завершается крахом то ли требует несуществующие dll. Возможно кто-то имел дело с этой библиотекой и знает как её использовать?
2
|
|
| 10.02.2013, 19:55 | |
|
Ответы с готовыми решениями:
38
Теорие графов. Композиция двух неор. графов. Представление графов С++ Представление графов С++ |
|
|
|||
| 18.02.2013, 22:51 [ТС] | |||
|
Qt класс или обвертка Qt над тем же GraphViz ? Добавлено через 1 минуту Тут вопрос прикрутки либы ... думаю использовать было бы не проблема...
0
|
|||
|
|
|
| 20.02.2013, 22:52 [ТС] | |
|
Хорошо если нельзя получить координаты напрямую с помощью прикрутки либы к С++ программе то как ?
Вызывать dot.exe и парсить dot - файл который получается на выходе вытаскивая координаты ? Или возможно есть готовый редактор который позволяет редактировать и передвигать узлы ?
0
|
|
|
|
|
| 24.02.2013, 18:10 [ТС] | |
|
Для того что бы попробовать реализовать алгоритм визуализации самому создал новую тему Визуализация графа (реализация алгоритма)
0
|
|
|
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
|
||
| 13.05.2013, 15:38 | ||
|
0
|
||
|
|
|||
| 13.05.2013, 15:44 [ТС] | |||
|
Читай тему сначала ...
0
|
|||
|
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
|
|||
| 13.05.2013, 16:31 | |||
|
0
|
|||
|
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
|
|||
| 13.05.2013, 17:02 | |||
|
0
|
|||
|
|
||
| 13.05.2013, 17:07 [ТС] | ||
|
Вопрос в том что под Ubuntu все работает без проблем ... Да и сами утилиты как-то работают же ? Насчет готовых парсеров не слышал вообще, в любом это через десятую дорогу.
0
|
||
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 13.05.2013, 17:43 | |
|
Avazart, Хочу напомнить вам, вдруг вы забыли, что в 3D граф куда легче отобразить, да и там вообще можно всегда без пересечений сделать, тем более 3-х мерная проволочная проекция крайне проста в реализации.
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 13.05.2013, 17:50 | |
|
Avazart, это будет крайне наглядно и очень удобно. Лично моё мнение, так как сам уже делал.
Добавлено через 1 минуту Avazart, http://www.youtube.com/watch?v=FjY3EPR369o
0
|
|
|
|
|
| 13.05.2013, 17:55 [ТС] | |
|
Ну и где тут наглядность ? Красиво да, но явно не наглядно...
К тому же с реализацией тоже придется попотеть ибо тоже как то надо расставлять вершины, тоже нужно считать... Ко всем проблемам добавляется еще и 3D графика ... Да и то что делает graphviz тоже можно реализовать только это затраты и время, при том что уже это реализовано и работает по крайней мере в Linux
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
||
| 13.05.2013, 18:00 | ||
|
Такая работа с нуля пишется за час.
0
|
||
|
|
|
| 13.05.2013, 18:03 [ТС] | |
|
Ага а кто вершины расставлять будет в 3d проекции ?
Насколько это будет наглядным если необходимо буде отображать надпись возле каждой вершины,ребра ? Как дать возможность двигать элементы пользователю в 3D ?
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
||
| 13.05.2013, 18:19 | ||
|
"наглядность" заключается в равномерности распределения, с учётом min расстояния между парой вершин графа. Алгоритмом Флойда вам в помощь, тут O(N^3). Добавлено через 5 минут Можно придумать и быстрее, возможно, хотя и сомнительно, но вам нужна простота. Добавлено через 1 минуту Avazart, Вообще, вы правы, раскидать вершины в пространстве, будет посложнее чем 3д написать, но времени не займёт много всё равно. Я, вообще, упругими связями их раскидывал, прибегнув к физической модели, алгоритм ооочень простой, но не max "наглядно"
0
|
||
|
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
|
|
| 25.06.2014, 20:47 | |
|
Работая в программах на С++ с графами я тоже сталкивался с проблемой визуализации. Она решалась мной примерно так. Характеристики граaа (вершины и списки инцидентности или матрица смежности в подобных задачах удобно хранить в файле или БД MS Access. Но кроме характеристик вершин храните дополнительно и ее пару координат.Функцию отрисовки графа в Delphi или C++ Builder не так сложно написать. (единственное усложнение -отрисовка связей со стрелками в случае орграфа). Для каждой вершины создается при работе в VCL визуальный объект - лучше всего TStaticText , сойдет и TButton - правда нет управления цветом и переносом текста.
При их создании закладывают возможность передвижения их юзером с помощью мышки по экрану. Другими словами, граф 1-й раз как-то загружается. Юзер распутывает клубок расставляя вершины по своему усмотрению. И следующее сохранение в файл и следующая загрузка уже будут с "хорошими" координатами.
0
|
|
| 25.06.2014, 21:22 [ТС] | |
|
0
|
|
| 25.06.2014, 21:22 | |
|
Программирование графов Теория графов Реализация графов Визуализация Визуализация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|