как организовать узлы графа для рисования с помощью java 2d


Я создал программу, которая строит и рисует вложенные циклические графики (с неориентированными ребрами) в JFrame, используя java awt.

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

Я хотел бы реализовать алгоритм перестановки, чтобы лучше распределить узлы, более однородным и чистым способом.

Кто-нибудь может мне помочь?

2 2

2 ответа:

Вы можете посмотреть на GraphViz , которая является программой для выполнения именно этого (визуализации графиков). Он имеет Java API, так что вы можете интегрировать его в свою программу, и это с открытым исходным кодом, так что если вы предпочитаете реализовать решение самостоятельно, возможно, их код может дать некоторое вдохновение (просто не забудьте проверить лицензию!)

Кроме того, на их веб-сайте есть список ресурсов, относящихся к теории рисования графов, который звучит именно так, как вам нужно.

JGraphX является родной Java и включает в себя автоматические параметры компоновки. Отказ от ответственности - я действительно участвую в проекте.