#N canvas 652 25 483 246 10; #X obj 20 12 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 43 12 reset; #X text 323 102 <-- Move masses; #X obj 83 13 nbx 5 14 200 20000 1 0 empty empty empty 0 -6 0 10 -262144 -1 -1 347.56 1000; #X msg 206 45 forceX mob 10; #X msg 206 69 forceX mob -10; #X msg 225 95 forceY mob 10; #X msg 224 119 forceY mob -10; #X msg 238 143 forceZ mob 10; #X msg 237 167 forceZ mob -10; #N canvas 0 22 659 390 creation 0; #X obj 159 5 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 231 60 reset; #X obj 37 10 loadbang; #X text 182 5 reset; #X obj 159 27 t b b b b b; #X msg 213 116 mass fix 0 100 50 50 0; #N canvas 557 309 632 363 masses 0; #X msg 417 145 seed 1; #X msg 342 144 seed 2; #X msg 239 126 seed 3; #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 502 161 random 800; #X obj 491 189 / 100; #X obj 488 209 - 4; #X text 505 107 Z; #X msg 501 141 seed 10; #X obj 211 218 pack f f f f; #X msg 211 239 mass mob 1 \$1 \$2 \$3 \$4; #X obj 235 186 / 4; #X connect 0 0 17 0; #X connect 1 0 16 0; #X connect 2 0 18 0; #X connect 3 0 10 0; #X connect 5 0 2 0; #X connect 5 0 1 0; #X connect 5 0 0 0; #X connect 5 0 28 0; #X connect 9 0 18 0; #X connect 9 1 16 0; #X connect 9 1 17 0; #X connect 9 1 24 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 11 0 9 0; #X connect 12 0 13 0; #X connect 13 0 11 1; #X connect 13 0 14 0; #X connect 14 0 10 1; #X connect 15 0 13 1; #X connect 16 0 19 0; #X connect 17 0 21 0; #X connect 18 0 23 0; #X connect 19 0 20 0; #X connect 20 0 29 1; #X connect 21 0 22 0; #X connect 22 0 29 2; #X connect 23 0 31 0; #X connect 24 0 25 0; #X connect 25 0 26 0; #X connect 26 0 29 3; #X connect 28 0 24 0; #X connect 29 0 30 0; #X connect 30 0 4 0; #X connect 31 0 29 0; #X restore 195 146 pd masses; #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 159 191 pd links; #X msg 177 228 Xmax 4 \, Xmin -4 \, Ymax 4 \, Ymin -4 \, Zmax 4 \, Zmin -4; #X obj 386 54 inlet; #X obj 232 7 inlet; #X obj 159 280 s \$0-msdin; #X connect 0 0 4 0; #X connect 1 0 11 0; #X connect 2 0 4 0; #X connect 4 0 7 0; #X connect 4 1 8 0; #X connect 4 2 6 0; #X connect 4 3 5 0; #X connect 4 4 1 0; #X connect 5 0 11 0; #X connect 6 0 11 0; #X connect 7 0 11 0; #X connect 8 0 11 0; #X connect 9 0 6 1; #X connect 9 0 7 1; #X connect 10 0 4 0; #X restore 20 32 pd creation; #X text 148 11 <-- Number of masses (change and reset); #N canvas 0 22 450 300 compute 0; #X obj 52 50 t b; #N canvas 643 123 617 602 massrender 0; #X obj 127 22 inlet; #X obj 48 203 translateXYZ; #X obj 48 153 gemhead; #X obj 48 177 separator; #X obj 125 136 t b f; #X obj 127 57 unpack f f f f; #X obj 48 229 cube 0.03; #X obj 48 99 loadbang; #X msg 48 127 0; #X connect 0 0 5 0; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 4 0 2 0; #X connect 4 1 1 1; #X connect 5 1 4 0; #X connect 5 2 1 2; #X connect 5 3 1 3; #X connect 7 0 8 0; #X connect 8 0 2 0; #X restore 52 209 pd massrender; #X obj 52 27 gemhead; #X obj 52 188 route massesPos; #X msg 52 84 bang \, get massesPos; #X obj 52 165 msd3D; #X obj 79 132 r \$0-msdin; #X connect 0 0 4 0; #X connect 2 0 0 0; #X connect 3 0 1 0; #X connect 4 0 5 0; #X connect 5 0 3 0; #X connect 6 0 5 0; #X restore 20 53 pd compute; #X obj 206 196 s \$0-msdin; #N canvas 0 22 450 300 gem 0; #X msg 106 118 0 \, destroy; #X obj 86 173 gemhead; #X obj 86 218 world_light; #X msg 86 58 reset \, create \, lighting 1 \, 1; #X obj 86 138 gemwin; #X msg 86 98 view 8 0 0.5 0 0 0 0 0 1; #X obj 86 77 t b; #X obj 86 195 rotateXYZ 30 30 0; #X obj 83 10 inlet; #X obj 85 32 sel 1 0; #X connect 0 0 4 0; #X connect 1 0 7 0; #X connect 3 0 4 0; #X connect 3 0 6 0; #X connect 5 0 4 0; #X connect 6 0 5 0; #X connect 7 0 2 0; #X connect 8 0 9 0; #X connect 9 0 3 0; #X connect 9 1 0 0; #X restore 20 92 pd gem; #X obj 20 74 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #X text 41 73 gem on/off; #X connect 0 0 10 0; #X connect 3 0 10 1; #X connect 4 0 13 0; #X connect 5 0 13 0; #X connect 6 0 13 0; #X connect 7 0 13 0; #X connect 8 0 13 0; #X connect 9 0 13 0; #X connect 15 0 14 0;