#N canvas 386 22 491 156 10;
#X obj 18 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 39 18 reset;
#N canvas 0 22 450 300 gem_stuff 0;
#X msg 30 89 0 \, destroy;
#X obj 30 185 gemhead;
#X obj 30 238 world_light;
#X obj 30 148 gemwin;
#X msg 30 66 reset \, dimen 800 800 \, create \, lighting 1 \, 1;
#X obj 30 212 rotateXYZ 30 20 0;
#X obj 32 10 inlet;
#X obj 32 37 sel 1 0;
#X connect 0 0 3 0;
#X connect 1 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X connect 7 1 0 0;
#X restore 18 87 pd gem_stuff;
#X obj 18 69 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#N canvas 0 22 804 395 creation 0;
#X obj 42 28 bng 20 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
-1;
#X msg 239 84 reset;
#X obj 245 32 loadbang;
#X text 68 30 reset;
#X obj 167 55 t b b b b b;
#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 1681.79 256;
#X msg 185 241 Xmax 4 \, Xmin -4 \, Ymax 4 \, Ymin -4;
#X msg 167 215 setL sun 0;
#X msg 221 107 mass fix 0 100 0 0;
#X text 409 270 0.2 : rigidity \, 0 : damping \, -2 : power \, 0.4
: Lmin;
#X text 363 109 Sun;
#X text 288 181 Initial speed;
#N canvas 309 104 769 663 masses 0;
#X obj 151 16 inlet;
#X obj 232 28 inlet;
#X obj 151 616 outlet;
#X msg 151 551 mass mob 1 \$1 \$2 \$3;
#X msg 151 307 seed 3;
#X obj 151 519 pack f f f;
#X obj 151 228 t b b b;
#X msg 243 306 seed 20;
#X msg 331 308 seed 10;
#X obj 151 327 random 10000;
#X obj 243 371 - 1;
#X obj 331 370 - 1;
#X obj 151 47 t b;
#X obj 333 52 loadbang;
#X text 263 277 X;
#X text 166 276 M;
#X text 372 278 Y;
#X obj 151 67 until;
#X obj 151 86 f;
#X obj 177 87 + 1;
#X obj 177 118 mod 1000;
#X obj 206 87 sel 0;
#X obj 243 327 random 1000;
#X obj 331 328 random 1000;
#X obj 243 348 / 50000;
#X obj 331 349 / 50000;
#X obj 151 349 / 250;
#X obj 151 371 + 185;
#X connect 0 0 12 0;
#X connect 1 0 20 1;
#X connect 3 0 2 0;
#X connect 4 0 9 0;
#X connect 5 0 3 0;
#X connect 6 0 9 0;
#X connect 6 1 22 0;
#X connect 6 2 23 0;
#X connect 7 0 22 0;
#X connect 8 0 23 0;
#X connect 9 0 26 0;
#X connect 10 0 5 1;
#X connect 11 0 5 2;
#X connect 12 0 17 0;
#X connect 13 0 7 0;
#X connect 13 0 8 0;
#X connect 13 0 4 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 18 0 6 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 20 0 18 1;
#X connect 21 0 17 1;
#X connect 22 0 24 0;
#X connect 23 0 25 0;
#X connect 24 0 10 0;
#X connect 25 0 11 0;
#X connect 26 0 27 0;
#X connect 27 0 5 0;
#X restore 203 144 pd masses;
#X text 410 289 The power of the link is -2 to simulate a gravity field
in 1/R^2;
#X text 292 146 Particules;
#X msg 185 268 link sun fix mob 0.2 0 -2 0.4;
#X msg 167 178 forceX mob 5.9;
#X obj 167 310 s \$0-msdin;
#X obj 166 25 inlet;
#X connect 0 0 4 0;
#X connect 1 0 19 0;
#X connect 2 0 4 0;
#X connect 4 0 9 0;
#X connect 4 0 18 0;
#X connect 4 1 8 0;
#X connect 4 1 17 0;
#X connect 4 2 14 0;
#X connect 4 3 10 0;
#X connect 4 4 1 0;
#X connect 7 0 14 1;
#X connect 8 0 19 0;
#X connect 9 0 19 0;
#X connect 10 0 19 0;
#X connect 14 0 19 0;
#X connect 17 0 19 0;
#X connect 18 0 19 0;
#X connect 20 0 4 0;
#X restore 18 43 pd creation;
#X text 116 58 gravity field simulation;
#X text 115 72 if you have cpu problem \, you can reduce the mass number
in "creation";
#N canvas 0 22 450 300 compute 0;
#X obj 52 182 msd2D --------------------------------;
#X obj 52 64 t b;
#X obj 52 41 gemhead;
#X msg 197 123 forceX mob 0.051;
#X msg 197 149 forceY mob 0.1;
#X msg 52 98 bang \, bang \, get massesPos;
#N canvas 587 210 609 429 massrender 0;
#X obj 124 5 inlet;
#X obj 317 249 translateXYZ;
#X obj 319 223 separator;
#X obj 292 63 unpack f f f;
#X obj 59 262 translateXYZ;
#X obj 123 31 route 0 1;
#X obj 290 93 t b;
#X obj 64 71 unpack f f;
#X obj 60 155 t b f;
#X obj 194 266 translateXYZ;
#X obj 175 76 unpack f f;
#X obj 191 154 t b f;
#X obj 195 294 color 1 0 0;
#X obj 318 323 square 0.015;
#X obj 194 324 square 0.04;
#X text 63 356 Sun;
#X text 195 359 Red particule;
#X text 333 359 Particule;
#X obj 58 320 sphere 0.3 30;
#X obj 59 294 color 0.3 0.3 0.3;
#X obj 318 295 color 0.3 0.3 0.3;
#X obj 314 193 gemlist;
#X obj 362 170 gemhead 45;
#X obj 102 177 gemhead 45;
#X obj 191 197 gemlist;
#X obj 60 202 gemlist;
#X obj 238 172 gemhead 40;
#X obj 191 231 separator;
#X obj 58 232 separator;
#X connect 0 0 5 0;
#X connect 1 0 20 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 3 1 1 1;
#X connect 3 2 1 2;
#X connect 4 0 19 0;
#X connect 5 0 7 0;
#X connect 5 1 10 0;
#X connect 5 2 3 0;
#X connect 6 0 21 0;
#X connect 7 0 8 0;
#X connect 7 1 4 2;
#X connect 8 0 25 0;
#X connect 8 1 4 1;
#X connect 9 0 12 0;
#X connect 10 0 11 0;
#X connect 10 1 9 2;
#X connect 11 0 24 0;
#X connect 11 1 9 1;
#X connect 12 0 14 0;
#X connect 19 0 18 0;
#X connect 20 0 13 0;
#X connect 21 0 2 0;
#X connect 22 0 21 1;
#X connect 23 0 25 1;
#X connect 24 0 27 0;
#X connect 25 0 28 0;
#X connect 26 0 24 1;
#X connect 27 0 9 0;
#X connect 28 0 4 0;
#X restore 52 239 pd massrender;
#X obj 52 212 route massesPos;
#X obj 63 147 r \$0-msdin;
#X connect 0 0 7 0;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 0 0;
#X restore 18 107 pd compute;
#X connect 0 0 4 0;
#X connect 3 0 2 0;