#N canvas 524 205 644 487 10;
#X text 72 333 distance between the 2 masses;
#X text 92 309 elongation speed of the link;
#X text 172 258 position of the center of the link;
#X text 157 283 orientation of the link;
#X msg 66 205 position3D $f1 $f2 $f3;
#X msg 65 126 bang;
#X text 229 204 position of mass 2;
#X msg 65 175 position3D $f1 $f2 $f3;
#X obj 66 259 unpack s f f f;
#X obj 27 232 tLink3D;
#X obj 53 284 unpack s f f f;
#X floatatom 40 309 5 0 0 0 - - -;
#X floatatom 27 332 5 0 0 0 - - -;
#N canvas 431 222 749 537 gem 0;
#X floatatom -52 158 5 0 0 0 - - -;
#X floatatom -10 158 5 0 0 0 - - -;
#X floatatom 32 158 5 0 0 0 - - -;
#X obj -10 179 t b f;
#X obj 32 180 t b f;
#X obj -52 212 pack f f f;
#X floatatom 99 158 5 0 0 0 - - -;
#X floatatom 140 158 5 0 0 0 - - -;
#X floatatom 182 158 5 0 0 0 - - -;
#X obj 140 187 t b f;
#X obj 182 185 t b f;
#X obj 99 212 pack f f f;
#X obj -52 237 s pos1;
#X obj 99 236 s pos2;
#X obj 309 208 unpack s f f f;
#X obj 407 208 unpack s f f f;
#X obj 361 139 tLink3D Link;
#X msg 361 58 position3D \$1 \$2 \$3;
#X msg 430 99 position3D \$1 \$2 \$3;
#X obj 297 162 gemhead;
#X obj 297 233 translateXYZ;
#X obj 297 183 colorRGB 1 1 1 1;
#X obj 361 38 r pos1;
#X obj 430 79 r pos2;
#X obj 434 231 atan2;
#X obj 434 271 / 3.14159;
#X obj 434 251 * -180;
#X obj 361 347 / 2;
#X obj 361 387 abs;
#X obj 361 367 - 0.1;
#X obj 297 463 cube;
#X obj 297 443 scaleXYZ 0.2 0.2 0.2;
#X obj 503 319 atan2;
#X obj 503 339 / 3.14159;
#X obj 503 379 + 90;
#X obj 297 307 rotateXYZ 0 0 0;
#X obj 297 424 rotateXYZ;
#X obj 503 234 t f f;
#X obj 503 257 *;
#X obj 547 233 t f f;
#X obj 547 256 *;
#X obj 503 280 +;
#X obj 503 300 sqrt;
#X obj 503 359 * -180;
#X obj -38 84 gemwin;
#X msg -20 29 create \, 1;
#X msg -9 50 destroy;
#X obj 361 100 t b a;
#X obj 430 118 t b a;
#X text -55 314 draw a 3d link in Gem;
#X connect 0 0 5 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 5 1;
#X connect 4 0 5 0;
#X connect 4 1 5 2;
#X connect 5 0 12 0;
#X connect 6 0 11 0;
#X connect 7 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 11 0;
#X connect 9 1 11 1;
#X connect 10 0 11 0;
#X connect 10 1 11 2;
#X connect 11 0 13 0;
#X connect 14 1 20 1;
#X connect 14 2 20 2;
#X connect 14 3 20 3;
#X connect 15 1 24 0;
#X connect 15 1 37 0;
#X connect 15 2 24 1;
#X connect 15 2 39 0;
#X connect 15 3 32 1;
#X connect 16 0 27 0;
#X connect 16 2 15 0;
#X connect 16 3 14 0;
#X connect 17 0 47 0;
#X connect 18 0 48 0;
#X connect 19 0 21 0;
#X connect 20 0 35 0;
#X connect 21 0 20 0;
#X connect 22 0 17 0;
#X connect 23 0 18 0;
#X connect 24 0 26 0;
#X connect 25 0 35 3;
#X connect 26 0 25 0;
#X connect 27 0 29 0;
#X connect 28 0 31 2;
#X connect 29 0 28 0;
#X connect 31 0 30 0;
#X connect 32 0 33 0;
#X connect 33 0 43 0;
#X connect 34 0 36 1;
#X connect 35 0 36 0;
#X connect 36 0 31 0;
#X connect 37 0 38 0;
#X connect 37 1 38 1;
#X connect 38 0 41 0;
#X connect 39 0 40 0;
#X connect 39 1 40 1;
#X connect 40 0 41 1;
#X connect 41 0 42 0;
#X connect 42 0 32 0;
#X connect 43 0 34 0;
#X connect 45 0 44 0;
#X connect 46 0 44 0;
#X connect 47 0 16 0;
#X connect 47 1 16 0;
#X connect 48 0 16 0;
#X connect 48 1 16 1;
#X restore 29 397 pd gem;
#X text 321 7 tests a link;
#X text 231 68 1 : Name;
#X text 229 173 changes position of mass 1;
#X text 230 123 computes and outputs forces according to the last masses
positions.;
#X text 227 31 outputs informations about a tested link.;
#X connect 4 0 9 1;
#X connect 5 0 9 0;
#X connect 7 0 9 0;
#X connect 9 0 12 0;
#X connect 9 1 11 0;
#X connect 9 2 10 0;
#X connect 9 3 8 0;