| 122 | } |
| 123 | |
| 124 | function forceDirected_noVector(layout, graph) { |
| 125 | for (let a = 0; a < graph.size; a++) { |
| 126 | let posA = layout[a]; |
| 127 | for (let b = a + 1; b < graph.size; b++) { |
| 128 | let posB = layout[b]; |
| 129 | let apartX = posB.x - posA.x |
| 130 | let apartY = posB.y - posA.y; |
| 131 | let distance = Math.sqrt(apartX * apartX + |
| 132 | apartY * apartY); |
| 133 | let connected = graph.neighbors(a).has(b); |
| 134 | if (distance > skipDistance && !connected) continue; |
| 135 | let size = forceSize(distance, connected); |
| 136 | let forceX = (apartX / distance) * size; |
| 137 | let forceY = (apartY / distance) * size; |
| 138 | posA.x += forceX; |
| 139 | posA.y += forceY; |
| 140 | posB.x -= forceX; |
| 141 | posB.y -= forceY; |
| 142 | } |
| 143 | } |
| 144 | } |