#N canvas 590 22 847 803 10; #X obj 167 221 t a; #X obj 167 33 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 239 84 reset; #X obj 52 15 loadbang; #X text 205 34 reset; #X msg 300 402 forceX mob 100; #X obj 167 55 t b b b b b; #X obj 52 583 msd2D --------------------------------; #X msg 460 409 0 \, destroy; #X obj 481 320 gemhead; #X obj 481 343 world_light; #X msg 460 386 reset \, create \, lighting 1 \, 1; #X obj 52 301 t b; #N canvas 643 123 311 308 massrender 0; #X obj 24 196 translateXYZ; #X obj 24 222 sphere 0.1; #X obj 24 170 separator; #X obj 24 144 gemhead 45; #X obj 103 17 inlet; #X obj 103 55 unpack f f f; #X obj 109 83 t b f; #X obj 24 56 loadbang; #X msg 24 80 0; #X connect 0 0 1 0; #X connect 2 0 0 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 5 1 6 0; #X connect 5 2 0 2; #X connect 6 0 3 0; #X connect 6 1 0 1; #X connect 7 0 8 0; #X connect 8 0 3 0; #X restore 133 635 pd massrender; #N canvas 284 227 394 269 linkrender 0; #X obj 121 20 inlet; #X obj 57 175 separator; #X obj 57 220 curve 2; #X obj 43 130 gemhead 45; #X msg 213 69 \$4 \$5 0; #X msg 141 65 \$2 \$3 0; #X obj 140 94 t b a; #X obj 44 46 loadbang; #X msg 44 75 0; #X connect 0 0 4 0; #X connect 0 0 5 0; #X connect 1 0 2 0; #X connect 3 0 1 0; #X connect 4 0 2 2; #X connect 5 0 6 0; #X connect 6 0 3 0; #X connect 6 1 2 1; #X connect 7 0 8 0; #X connect 8 0 3 0; #X restore 52 656 pd linkrender; #X obj 52 278 gemhead; #X obj 460 458 gemwin; #X msg 52 335 bang \, get massesPos \, get linksPos; #X obj 52 606 route linksPos massesPos; #X msg 460 433 view 0 0 4 0 0 0 0 1 0; #X msg 300 425 forceX mob -100; #X obj 441 55 f; #X obj 91 421 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 91 442 metro 10; #X floatatom 141 421 5 0 0 0 - - -; #X text 501 28 change number of mass to test performance; #X text 501 41 (and reset afterwards); #X obj 441 34 nbx 5 14 1 20000 1 1 empty empty empty 0 -6 0 10 -262144 -1 -1 381.385 256; #X text 76 390 instead of GEM doing the timing; #X msg 221 104 mass fix 0 100 0 0; #N canvas 731 296 454 304 gemmouse 0; #X obj 189 77 gemmouse; #X obj 189 184 pack f f; #X obj 189 218 spigot; #X obj 109 243 outlet; #X obj 109 36 inlet; #X obj 109 98 t b; #X obj 238 131 + 4; #X msg 57 182 posX fix \$1; #X msg 57 203 posY fix \$2; #X obj 189 108 / 62.5; #X obj 237 107 / -62.5; #X obj 189 131 - 4; #X obj 109 125 list 0 0; #X connect 0 0 9 0; #X connect 0 1 10 0; #X connect 0 2 2 1; #X connect 1 0 2 0; #X connect 2 0 12 1; #X connect 4 0 5 0; #X connect 5 0 12 0; #X connect 6 0 1 1; #X connect 7 0 3 0; #X connect 8 0 3 0; #X connect 9 0 11 0; #X connect 10 0 6 0; #X connect 11 0 1 0; #X connect 12 0 7 0; #X connect 12 0 8 0; #X restore 372 536 pd gemmouse; #X obj 372 515 gemhead; #N canvas 0 22 450 300 links 0; #X obj 136 72 t b; #X obj 136 116 + 1; #X obj 130 191 f; #X obj 92 171 t f b; #X obj 91 211 pack f f; #X msg 91 233 link souple \$1 \$2 10 0.5; #X obj 136 23 inlet; #X obj 91 260 outlet; #X obj 136 48 until; #X obj 202 112 sel 0; #X obj 184 154 mod 29; #X obj 136 93 f 0; #X obj 311 32 inlet; #X connect 0 0 11 0; #X connect 1 0 10 0; #X connect 1 0 2 1; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 3 1 2 0; #X connect 4 0 5 0; #X connect 5 0 7 0; #X connect 6 0 8 0; #X connect 8 0 0 0; #X connect 9 0 8 1; #X connect 10 0 9 0; #X connect 10 0 11 1; #X connect 11 0 1 0; #X connect 11 0 3 0; #X connect 12 0 10 1; #X restore 167 194 pd links; #N canvas 557 309 487 357 masses 0; #X msg 211 239 mass mob 1 \$1 \$2 \$3; #X msg 417 145 seed 1; #X msg 342 144 seed 2; #X msg 239 126 seed 3; #X obj 211 218 pack f f f; #X obj 42 14 inlet; #X obj 212 307 outlet; #X obj 268 47 loadbang; #X text 284 101 M; #X text 356 106 X; #X text 437 106 Y; #X obj 223 68 t b b; #X obj 42 45 until; #X obj 42 78 f; #X obj 72 78 + 1; #X obj 72 100 mod 30; #X obj 90 45 sel 0; #X obj 164 15 inlet; #X obj 342 165 random 800; #X obj 418 165 random 800; #X obj 239 146 random 800; #X obj 342 186 / 100; #X obj 339 206 - 4; #X obj 407 193 / 100; #X obj 404 213 - 4; #X obj 239 166 + 800; #X obj 235 186 / 8; #X connect 0 0 6 0; #X connect 1 0 19 0; #X connect 2 0 18 0; #X connect 3 0 20 0; #X connect 4 0 0 0; #X connect 5 0 12 0; #X connect 7 0 3 0; #X connect 7 0 2 0; #X connect 7 0 1 0; #X connect 11 0 20 0; #X connect 11 1 18 0; #X connect 11 1 19 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 0 11 0; #X connect 14 0 15 0; #X connect 15 0 13 1; #X connect 15 0 16 0; #X connect 16 0 12 1; #X connect 17 0 15 1; #X connect 18 0 21 0; #X connect 19 0 23 0; #X connect 20 0 25 0; #X connect 21 0 22 0; #X connect 22 0 4 1; #X connect 23 0 24 0; #X connect 24 0 4 2; #X connect 25 0 26 0; #X connect 26 0 4 0; #X restore 203 129 pd masses; #X msg 185 155 Xmax 4 \, Xmin -4 \, Ymax 4 \, Ymin -4; #X connect 0 0 7 0; #X connect 1 0 6 0; #X connect 2 0 0 0; #X connect 3 0 6 0; #X connect 5 0 7 0; #X connect 6 0 32 0; #X connect 6 1 34 0; #X connect 6 2 33 0; #X connect 6 3 29 0; #X connect 6 4 2 0; #X connect 7 0 18 0; #X connect 8 0 16 0; #X connect 9 0 10 0; #X connect 11 0 16 0; #X connect 12 0 17 0; #X connect 15 0 12 0; #X connect 17 0 7 0; #X connect 18 0 14 0; #X connect 18 1 13 0; #X connect 19 0 16 0; #X connect 20 0 7 0; #X connect 21 0 32 1; #X connect 21 0 33 1; #X connect 22 0 23 0; #X connect 23 0 7 0; #X connect 24 0 23 1; #X connect 27 0 21 0; #X connect 29 0 0 0; #X connect 30 0 7 0; #X connect 31 0 30 0; #X connect 32 0 0 0; #X connect 33 0 0 0; #X connect 34 0 0 0;