Force-directed algorithm