#N canvas 533 109 692 690 10; #X obj 177 369 t a; #X obj 159 5 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 231 146 reset; #X obj 37 10 loadbang; #X text 197 96 reset; #X obj 159 27 t b b b b b; #X obj 313 605 print msd; #X msg 456 528 0 \, destroy; #X obj 456 583 gemhead; #X obj 456 606 world_light; #X msg 213 177 mass fix 0 100 50 50; #X msg 456 468 reset \, create \, lighting 1 \, 1; #X obj 52 391 t b; #N canvas 643 123 605 590 massrender 0; #X obj 127 22 inlet; #X obj 48 203 translateXYZ; #X obj 127 86 / 12.5; #X obj 127 109 - 4; #X obj 192 87 / 12.5; #X obj 192 110 - 4; #X obj 64 114 gemhead; #X obj 48 177 separator; #X obj 48 153 any; #X obj 125 136 t b f; #X obj 127 57 unpack f f f; #X obj 247 86 / 12.5; #X obj 247 109 - 4; #X obj 48 229 sphere 0.07; #X connect 0 0 10 0; #X connect 1 0 13 0; #X connect 2 0 3 0; #X connect 3 0 9 0; #X connect 4 0 5 0; #X connect 5 0 1 2; #X connect 6 0 8 1; #X connect 7 0 1 0; #X connect 8 0 7 0; #X connect 9 0 8 0; #X connect 9 1 1 1; #X connect 10 0 2 0; #X connect 10 1 4 0; #X connect 10 2 11 0; #X connect 11 0 12 0; #X connect 12 0 1 3; #X restore 52 625 pd massrender; #X obj 425 254 random 100; #X msg 425 233 seed 1; #X obj 349 254 random 100; #X obj 274 233 random 100; #X msg 349 233 seed 2; #X msg 274 212 seed 3; #X obj 274 254 + 100; #X obj 586 145 t b; #X obj 586 189 + 1; #X obj 616 230 f; #X obj 632 179 + 1; #X obj 586 210 t f b; #X msg 632 155 -1; #X obj 586 166 f -1; #X obj 586 255 pack f f; #X msg 177 339 link souple \$1 \$2 100 0.5 0.5; #X obj 52 368 gemhead; #X obj 456 548 gemwin; #X obj 52 583 msd3D --------------------------------; #X obj 376 105 t b b b b; #X obj 505 254 random 100; #X msg 505 233 seed 4; #X obj 177 271 pack f f f f; #X msg 177 293 mass mob 1 \$1 \$2 \$3 \$4; #X msg 177 316 Xmax 100 \, Xmin 0 \, Ymax 100 \, Ymin 0 \, Zmax 100 \, Zmin 0; #X msg 456 508 view 8 0 0.5 0 0 0 0 0 1; #X obj 376 83 repeat 300; #X obj 586 123 repeat 300; #X text 501 21 <-- Number of masses; #X obj 456 487 t b; #X obj 52 604 route massesPos; #X msg 52 425 bang \, get massesPos; #X text 265 487 <-- Move masses; #X msg 143 479 forceX mob 100; #X msg 143 503 forceX mob -100; #X msg 459 20 900; #X connect 0 0 32 0; #X connect 1 0 5 0; #X connect 2 0 0 0; #X connect 3 0 5 0; #X connect 5 0 41 0; #X connect 5 1 38 0; #X connect 5 2 40 0; #X connect 5 3 10 0; #X connect 5 4 2 0; #X connect 5 4 26 0; #X connect 5 4 19 0; #X connect 5 4 15 0; #X connect 5 4 18 0; #X connect 5 4 35 0; #X connect 7 0 31 0; #X connect 8 0 9 0; #X connect 10 0 0 0; #X connect 11 0 31 0; #X connect 11 0 43 0; #X connect 12 0 45 0; #X connect 14 0 36 2; #X connect 15 0 14 0; #X connect 16 0 36 1; #X connect 17 0 20 0; #X connect 18 0 16 0; #X connect 19 0 17 0; #X connect 20 0 36 0; #X connect 21 0 27 0; #X connect 22 0 24 0; #X connect 22 0 25 0; #X connect 22 0 27 1; #X connect 23 0 28 1; #X connect 24 0 23 1; #X connect 25 0 28 0; #X connect 25 1 23 0; #X connect 26 0 27 1; #X connect 27 0 22 0; #X connect 28 0 29 0; #X connect 29 0 0 0; #X connect 30 0 12 0; #X connect 32 0 44 0; #X connect 32 1 6 0; #X connect 33 0 17 0; #X connect 33 1 16 0; #X connect 33 1 34 0; #X connect 33 2 14 0; #X connect 34 0 36 3; #X connect 35 0 34 0; #X connect 36 0 37 0; #X connect 37 0 0 0; #X connect 38 0 0 0; #X connect 39 0 31 0; #X connect 40 0 33 0; #X connect 41 0 21 0; #X connect 43 0 39 0; #X connect 44 0 13 0; #X connect 45 0 32 0; #X connect 47 0 32 0; #X connect 48 0 32 0; #X connect 49 0 40 1; #X connect 49 0 41 1;