MCPcopy Index your code
hub / github.com/marijnh/Eloquent-JavaScript / forceDirected_skip

Function forceDirected_skip

code/chapter/22_fast.js:109–122  ·  view source on GitHub ↗
(layout, graph)

Source from the content-addressed store, hash-verified

107var skipDistance = 175;
108
109function forceDirected_skip(layout, graph) {
110 for (let a = 0; a < graph.size; a++) {
111 for (let b = a + 1; b < graph.size; b++) {
112 let apart = layout[b].minus(layout[a]);
113 let distance = Math.max(1, apart.length);
114 let connected = graph.neighbors(a).has(b);
115 if (distance > skipDistance && !connected) continue;
116 let size = forceSize(distance, connected);
117 let force = apart.times(1 / distance).times(size);
118 layout[a] = layout[a].plus(force);
119 layout[b] = layout[b].minus(force);
120 }
121 }
122}
123
124function forceDirected_noVector(layout, graph) {
125 for (let a = 0; a < graph.size; a++) {

Callers

nothing calls this directly

Calls 6

forceSizeFunction · 0.85
neighborsMethod · 0.80
timesMethod · 0.80
minusMethod · 0.45
hasMethod · 0.45
plusMethod · 0.45

Tested by

no test coverage detected