как организовать узлы графа для рисования с помощью java 2d
Я создал программу, которая строит и рисует вложенные циклические графики (с неориентированными ребрами) в JFrame, используя java awt.
Проблема заключается в том, что если положение узлов не задано явно или создано случайным образом, граф становится очень беспорядочным, с пересечением ребер и столкновением вершин.
Я хотел бы реализовать алгоритм перестановки, чтобы лучше распределить узлы, более однородным и чистым способом.
Кто-нибудь может мне помочь?
2 ответа:
Вы можете посмотреть на GraphViz , которая является программой для выполнения именно этого (визуализации графиков). Он имеет Java API, так что вы можете интегрировать его в свою программу, и это с открытым исходным кодом, так что если вы предпочитаете реализовать решение самостоятельно, возможно, их код может дать некоторое вдохновение (просто не забудьте проверить лицензию!)
Кроме того, на их веб-сайте есть список ресурсов, относящихся к теории рисования графов, который звучит именно так, как вам нужно.
JGraphX является родной Java и включает в себя автоматические параметры компоновки. Отказ от ответственности - я действительно участвую в проекте.