private void adjustNodePairs() {
for (SubGraph subGraph1 : subGraphs){
for (NodeMovement node1Movement : subGraph1.getNodeMovements()){
for (SubGraph subGraph2 : subGraphs){
for (NodeMovement node2Movement : subGraph2.getNodeMovements()){
Node node1 = node1Movement.getNode();
Node node2 = node2Movement.getNode();
if (node1 != node2) {
double factor = 100.0 * node1.getRepulsion() * node2.getRepulsion() * rigidity;
double dx = 0;
double dy = 0;
double deltaX = node1.getX() - node2.getX();
double deltaY = node1.getY() - node2.getY();
double currentLengthSquared = deltaX * deltaX + deltaY * deltaY;
boolean sameSubGraph = node1Movement.getSubGraph().contains(node2Movement);
if (Math.abs(currentLengthSquared) < 0.1) {
dx = Math.random();