rendered paste bodyfor (int a = 0; a < nodes.length; a++) {
for (int b = a + 1; b < nodes.length; b++) {
Node nodeA = nodes[a];
Node nodeB = nodes[b];
double deltaX = nodeB.getX() - nodeA.getX();
double deltaY = nodeB.getY() - nodeA.getY();
double distanceSquared = deltaX * deltaX + deltaY * deltaY;
if (distanceSquared < 0.01) {
deltaX = Math.random() / 10 + 0.1;
deltaY = Math.random() / 10 + 0.1;
distanceSquared = deltaX * deltaX + deltaY * deltaY;
}
double distance = Math.sqrt(distanceSquared);
if (distance < maxRepulsiveForceDistance) {
double repulsiveForce = (k * k / distance);
nodeB.setFX(nodeB.getFX() + (repulsiveForce * deltaX / distance));
nodeB.setFY(nodeB.getFY() + (repulsiveForce * deltaY / distance));
nodeA.setFX(nodeA.getFX() - (repulsiveForce * deltaX / distance));
nodeA.setFY(nodeA.getFY() - (repulsiveForce * deltaY / distance));
}
}