Hello Winfried,
It's really easy to simulate this problem.
Benjamin Wesch send me a patch off list. I added it to mine, so here are 4
different way to go. (using mass2d, pmpd2d, pmpd2d~ and pmpd3d~)
The biggest challenge is finding initial conditions that did not result in a
very fast divergence of the masses.
cheers
C
Le 12/05/2024 à 21:32, Winfried Ritsch a écrit :
[1] https://en.wikipedia.org/wiki/Three-body_problem
mfG winfried
PS.:just curious... wanted it for a demonstration.
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
#N canvas 299 370 555 521 10;
#X msg 164 135 reset;
#X msg 164 251 outPosX 0 0 1 \, outPosY 1 0 1 \, outPosZ 2 0 1 \, outPosX 3 1 1 \, outPosY 4 1 1 \, outPosZ 5 1 1 \, outPosX 6 2 1 \, outPosY 7 2 1 \, outPosZ 8 2 1, f 44;
#X obj 113 83 t a b b b;
#X obj 57 370 gemhead;
#X obj 57 433 scopeXYZ~ 8192;
#X obj 167 433 scopeXYZ~ 8192;
#X obj 277 433 scopeXYZ~ 8192;
#X obj 113 60 loadbang;
#X obj 88 59 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000;
#X msg 396 55 create \, 1;
#X msg 406 80 0 \, destroy;
#X obj 396 112 gemwin 60;
#X obj 123 330 pmpd3d~ 1 9 4, f 36;
#X msg 164 159 mass 1e+09 -1.3 0.8 -0.2 \, mass 1e+09 -1.5 -1.5 0.2 \, mass 1e+09 1.2 2.1 0.1, f 26;
#X msg 164 205 NLlink 0 1 1 1 -2 0 0.0001 1e+07 \, NLlink 0 2 1 1 -2 0 0.0001 1e+07 \, NLlink 1 2 1 1 -2 0 0.0001 1e+07, f 37;
#X obj 483 111 s pd;
#X msg 483 79 dsp 1;
#X obj 397 19 bng 18 250 50 0 empty empty empty 0 -9 0 10 #fcfcfc #000000 #000000;
#X connect 0 0 12 0;
#X connect 1 0 12 0;
#X connect 2 0 1 0;
#X connect 2 1 14 0;
#X connect 2 2 13 0;
#X connect 2 3 0 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 0 6 0;
#X connect 7 0 2 0;
#X connect 8 0 2 0;
#X connect 9 0 11 0;
#X connect 10 0 11 0;
#X connect 12 0 4 1;
#X connect 12 1 4 2;
#X connect 12 2 4 3;
#X connect 12 3 5 1;
#X connect 12 4 5 2;
#X connect 12 5 5 3;
#X connect 12 6 6 1;
#X connect 12 7 6 2;
#X connect 12 8 6 3;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 9 0;
#X connect 17 0 16 0;
#N canvas 529 372 973 523 12;
#X msg 163 353 setX \$1 \, setY \$2;
#X obj 51 350 gemhead;
#X obj 51 407 translateXYZ;
#X obj 51 437 circle 0.1;
#X obj 78 377 unpack s f f;
#X msg 478 355 setX \$1 \, setY \$2;
#X obj 366 352 gemhead;
#X obj 366 409 translateXYZ;
#X obj 366 439 circle 0.1;
#X obj 393 379 unpack s f f;
#X msg 758 352 setX \$1 \, setY \$2;
#X obj 646 349 gemhead;
#X obj 646 406 translateXYZ;
#X obj 646 436 circle 0.1;
#X obj 673 376 unpack s f f;
#X obj 424 82 metro 10;
#X obj 424 52 tgl 20 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 424 110 t b b;
#X obj 456 135 s M;
#X obj 181 407 r icircle;
#X obj 501 407 r icircle;
#X obj 781 407 r icircle;
#X obj 673 167 s icircle;
#X obj 424 165 s icircle;
#X obj 163 437 iCircle2D M 0 0 0 100;
#X obj 478 439 iCircle2D M 0 0 0 100;
#X obj 758 436 iCircle2D M 0 0 0 100;
#X msg 533 80 reset;
#X obj 78 289 mass2D M 100 -1 1.5;
#X obj 673 107 loadbang;
#X msg 673 136 setG -0.01;
#X obj 393 291 mass2D M 100 1.6 1.7;
#X obj 673 288 mass2D M 100 0.1 -1.1;
#X obj 91 144 gemwin 60;
#X msg 91 75 create \, 1;
#X msg 119 111 destroy;
#X text 454 51 <------;
#X connect 0 0 24 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 4 1 2 1;
#X connect 4 2 2 2;
#X connect 5 0 25 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 9 1 7 1;
#X connect 9 2 7 2;
#X connect 10 0 26 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 14 1 12 1;
#X connect 14 2 12 2;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 17 0 23 0;
#X connect 17 1 18 0;
#X connect 19 0 24 0;
#X connect 20 0 25 0;
#X connect 21 0 26 0;
#X connect 27 0 18 0;
#X connect 28 0 0 0;
#X connect 28 0 4 0;
#X connect 29 0 30 0;
#X connect 30 0 22 0;
#X connect 31 0 5 0;
#X connect 31 0 9 0;
#X connect 32 0 10 0;
#X connect 32 0 14 0;
#X connect 34 0 33 0;
#X connect 35 0 33 0;
#N canvas 1106 146 667 747 10;
#X obj 84 404 gemhead;
#X obj 291 154 loadbang;
#X msg 132 69 create \, 1;
#X msg 142 94 0 \, destroy;
#X obj 132 126 gemwin 60;
#X obj 305 334 pmpd2d, f 36;
#X obj 346 241 gemhead;
#X obj 346 264 t b;
#X obj 304 357 route massPos;
#X obj 304 401 route 0 1 2;
#X obj 304 377 route M;
#X obj 304 429 unpack f f;
#X obj 324 479 unpack f f;
#X obj 344 519 unpack f f;
#X obj 124 459 separator;
#X obj 124 484 translateXYZ;
#X obj 124 539 separator;
#X obj 124 564 translateXYZ;
#X obj 124 619 separator;
#X msg 346 289 bang \, massPos M;
#X obj 124 644 translateXYZ;
#X obj 84 427 t a;
#X obj 124 508 circle 0.1;
#X obj 124 588 circle 0.1;
#X obj 124 668 circle 0.1;
#X msg 291 190 reset \, mass M 1 1 1.3 -1 \, mass M 1 1 -3.1 0.1 \, mass M 1 1 -0.1 3.2 \, link L M M 0.001 0 -2 0 \, setL L 0, f 52;
#X connect 0 0 21 0;
#X connect 1 0 25 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 19 0;
#X connect 8 0 10 0;
#X connect 9 0 11 0;
#X connect 9 1 12 0;
#X connect 9 2 13 0;
#X connect 10 0 9 0;
#X connect 11 0 15 1;
#X connect 11 1 15 2;
#X connect 12 0 17 1;
#X connect 12 1 17 2;
#X connect 13 0 20 1;
#X connect 13 1 20 2;
#X connect 14 0 15 0;
#X connect 15 0 22 0;
#X connect 16 0 17 0;
#X connect 17 0 23 0;
#X connect 18 0 20 0;
#X connect 19 0 5 0;
#X connect 20 0 24 0;
#X connect 21 0 18 0;
#X connect 21 0 14 0;
#X connect 21 0 16 0;
#X connect 25 0 5 0;
#N canvas 857 264 553 594 10;
#X msg 164 135 reset;
#X obj 113 83 t a b b b;
#X obj 57 370 gemhead;
#X obj 57 433 scopeXYZ~ 8192;
#X obj 57 476 scopeXYZ~ 8192;
#X obj 57 515 scopeXYZ~ 8192;
#X obj 113 60 loadbang;
#X obj 88 59 bng 16 250 50 0 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000;
#X msg 336 50 create \, 1;
#X msg 346 75 0 \, destroy;
#X obj 336 107 gemwin 60;
#X obj 57 403 scaleXYZ 3 3 3;
#X obj 435 111 s pd;
#X msg 435 79 dsp 1;
#X obj 343 10 bng 18 250 50 0 empty empty empty 0 -9 0 10 #fcfcfc #000000 #000000;
#X msg 164 205 NLlink 0 1 0.01 0 -2 0 0.0001 1e+07 \, NLlink 0 2 0.01 0 -2 0 0.0001 1e+07 \, NLlink 1 2 0.01 0 -2 0 0.0001 1e+07, f 37;
#X msg 164 251 outPosX 0 0 1 \, outPosY 1 0 1 \, outPosX 2 1 1 \, outPosY 3 1 1 \, outPosX 4 2 1 \, outPosY 5 2 1, f 31;
#X obj 123 330 pmpd2d~ 1 6, f 24;
#X msg 164 158 mass 1e+08 0.5 0 \, mass 1e+08 -0.2 0 \, mass 1e+08 0 0.3, f 19;
#X connect 0 0 17 0;
#X connect 1 0 16 0;
#X connect 1 1 15 0;
#X connect 1 2 18 0;
#X connect 1 3 0 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 1 0;
#X connect 7 0 1 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
#X connect 11 0 3 0;
#X connect 13 0 12 0;
#X connect 14 0 8 0;
#X connect 14 0 13 0;
#X connect 15 0 17 0;
#X connect 16 0 17 0;
#X connect 17 0 3 1;
#X connect 17 1 3 2;
#X connect 17 2 4 1;
#X connect 17 3 4 2;
#X connect 17 4 5 1;
#X connect 17 5 5 2;
#X connect 18 0 17 0;
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list