#N canvas 78 32 1011 625 10; #X declare -lib Gem -path ../; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 123 446 pd mass; #X obj 54 214 s link; #X obj 27 239 s mass; #X obj 439 287 s mass; #X msg 164 199 setK \$1; #X msg 339 149 setM \$1; #X obj 164 231 s link; #X obj 339 177 s mass; #X obj 164 173 / 10; #X obj 164 147 + 1; #X obj 439 175 gemwin; #X msg 446 146 0 \, destroy; #X floatatom 164 125 5 10 100 0 - - -; #X floatatom 205 127 5 0 3 0 - - -; #X floatatom 339 126 5 20 500 0 - - -; #X msg 453 257 force2D 2000 0; #X obj 27 163 metro 10; #X obj 27 187 t b b; #X msg 440 324 force2D 0 5000; #X msg 164 101 50; #X msg 205 101 1; #X msg 339 102 200; #X obj 791 95 world_light; #X obj 791 36 gemhead; #X obj 791 66 rotateXYZ; #X msg 439 229 force2D 0 1000; #X msg 205 150 setD \$1; #X obj 27 9 loadbang; #X msg 108 99 reset; #X obj 108 126 s mass; #X obj 27 40 t b b b b; #X msg 44 100 resetF; #X obj 44 127 s link; #X floatatom 271 127 5 0 3 0 - - -; #X msg 271 101 1; #X msg 271 150 setD2 \$1; #N canvas 306 123 570 357 mass 0; #X obj 24 99 outlet; #X obj 145 98 gemhead; #X obj 137 134 unpack s f f; #X obj 143 190 translateXYZ 0 0 0; #X obj 144 224 sphere 0.3; #X obj 185 160 / 100; #X obj 228 161 / 100; #X obj 25 70 mass2D mass2 10 -300 0; #X connect 1 0 3 0; #X connect 2 1 5 0; #X connect 2 2 6 0; #X connect 3 0 4 0; #X connect 5 0 3 1; #X connect 6 0 3 2; #X connect 7 0 0 0; #X connect 7 0 2 0; #X restore 11 383 pd mass; #X msg 440 355 force2D 5000 0; #X text 564 324 <- send Y force to 2 masss; #X text 566 353 <- send X force to 1 masss; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 245 446 pd mass; #X obj 11 409 link2D link 30 1 1; #X obj 133 409 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 368 446 pd mass; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 490 446 pd mass; #X obj 255 409 link2D link 30 1 1; #X obj 377 409 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 611 446 pd mass; #X obj 499 409 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 736 446 pd mass; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 858 446 pd mass; #X obj 621 409 link2D link 30 1 1; #X obj 743 409 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 130 564 pd mass; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 250 564 pd mass; #X obj 14 525 link2D link 30 1 1; #X obj 137 525 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 372 563 pd mass; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 494 563 pd mass; #X obj 259 525 link2D link 30 1 1; #X obj 382 525 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 617 563 pd mass; #X obj 505 525 link2D link 30 1 1; #N canvas 306 123 261 242 mass 0; #X obj 24 23 inlet; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass 10; #X connect 0 0 8 0; #X connect 2 0 4 0; #X connect 3 1 6 0; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 6 0 4 1; #X connect 7 0 4 2; #X connect 8 0 1 0; #X connect 8 0 3 0; #X restore 742 562 pd mass; #N canvas 306 123 265 246 mass 0; #X obj 24 83 outlet; #X obj 83 138 gemhead; #X obj 84 85 unpack s f f; #X obj 83 169 translateXYZ 0 0 0; #X obj 83 197 sphere 0.3; #X obj 129 111 / 100; #X obj 175 112 / 100; #X obj 24 55 mass2D mass2 10 300; #X connect 1 0 3 0; #X connect 2 1 5 0; #X connect 2 2 6 0; #X connect 3 0 4 0; #X connect 5 0 3 1; #X connect 6 0 3 2; #X connect 7 0 0 0; #X connect 7 0 2 0; #X restore 854 498 pd mass; #X obj 627 525 link2D link 30 1 1; #X obj 749 525 link2D link 30 1 1; #X msg 439 119 reset \, lighting 1 \, create \, 1; #X obj 112 15 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 624 118 <- 1; #X obj 791 13 declare -lib Gem -path ../; #X text 133 15 reset; #X text 436 37 Each mass is connected to the one on the left and the one on the right. The extrem left and right masses are fixed: they do not receive forces \, they are needed for the model to be linked to fixed points on the screen; #X text 436 7 2D string : masses are linked together like an elastic string.; #X text 564 229 <- send Y force to all masses; #X text 564 258 <- send X force to all masses; #X connect 0 0 41 1; #X connect 0 0 42 0; #X connect 4 0 6 0; #X connect 5 0 7 0; #X connect 8 0 4 0; #X connect 9 0 8 0; #X connect 11 0 10 0; #X connect 12 0 9 0; #X connect 13 0 26 0; #X connect 14 0 5 0; #X connect 15 0 3 0; #X connect 16 0 17 0; #X connect 17 0 2 0; #X connect 17 1 1 0; #X connect 18 0 0 0; #X connect 18 0 40 0; #X connect 19 0 12 0; #X connect 20 0 13 0; #X connect 21 0 14 0; #X connect 23 0 24 0; #X connect 24 0 22 0; #X connect 25 0 3 0; #X connect 26 0 6 0; #X connect 27 0 30 0; #X connect 28 0 29 0; #X connect 30 0 16 0; #X connect 30 1 31 0; #X connect 30 2 28 0; #X connect 30 3 19 0; #X connect 30 3 20 0; #X connect 30 3 21 0; #X connect 30 3 34 0; #X connect 31 0 32 0; #X connect 33 0 35 0; #X connect 34 0 33 0; #X connect 35 0 6 0; #X connect 36 0 41 0; #X connect 37 0 43 0; #X connect 40 0 42 1; #X connect 40 0 45 0; #X connect 41 1 0 0; #X connect 42 0 0 0; #X connect 42 1 40 0; #X connect 43 0 45 1; #X connect 43 0 46 0; #X connect 44 0 46 1; #X connect 44 0 48 0; #X connect 45 0 40 0; #X connect 45 1 43 0; #X connect 46 0 43 0; #X connect 46 1 44 0; #X connect 47 0 48 1; #X connect 47 0 51 0; #X connect 48 0 44 0; #X connect 48 1 47 0; #X connect 49 0 51 1; #X connect 49 0 52 0; #X connect 50 0 52 1; #X connect 50 0 55 0; #X connect 51 0 47 0; #X connect 51 1 49 0; #X connect 52 0 49 0; #X connect 52 1 50 0; #X connect 53 0 55 1; #X connect 53 0 56 0; #X connect 54 0 56 1; #X connect 54 0 59 0; #X connect 55 0 50 0; #X connect 55 1 53 0; #X connect 56 0 53 0; #X connect 56 1 54 0; #X connect 57 0 59 1; #X connect 57 0 60 0; #X connect 58 0 60 1; #X connect 58 0 62 0; #X connect 59 0 54 0; #X connect 59 1 57 0; #X connect 60 0 57 0; #X connect 60 1 58 0; #X connect 61 0 62 1; #X connect 61 0 65 0; #X connect 62 0 58 0; #X connect 62 1 61 0; #X connect 63 0 65 1; #X connect 63 0 66 0; #X connect 64 0 66 1; #X connect 65 0 61 0; #X connect 65 1 63 0; #X connect 66 0 63 0; #X connect 67 0 10 0; #X connect 68 0 30 0;