forked from: Force-directed graph layout

