Best choice for making a Graph Layout like this

I’ve found this nice graph layout made using Python link ! and i’m thinking of making something similar, but using the language i already know ( Java ).

What 2D engine do you think is appropriate for this ?
Any other suggestion is welcome.

For drawing circles and lines, any 2D toolkit should be more than sufficient.

I’ve done it, except for the physics part.

I need to make the edges to act like springs; and all nodes to move along a certain direction if a node is dragged.
In a word, realistic movement of the nodes and edges.

Any suggestion for a tutorial or book where i could find the knowledge to realise this ?

Force the selected node’s position and the rest follows.

As well as springs for edges you might consider using a force to gently repel all nodes from each other (I have some stuff that is similar, unfortunately not in the form of an open source library that I can point you to just now).

EDIT: also, you might look at http://gephi.org

I’ve resumed the work on this project.

I’ve done some basic 1 D integration, but i can’t wrap my head around things and apply it to my graph layout.
So, consider the picture below:

  • if i drag the red node to the right, i’m forcing his position to my mouse position
  • the other nodes will “follow” him, but how ?

For Verlet, to compute the newPosition, i need the acceleration for every node and the currentPosition.
That is what i don’t understand.

How to i compute the acceleration and the currentPosition ?

The currentPosition will be the position of the RedNode ? If yes, doesn’t that means that they will all overlap ?