1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
#N canvas 417 69 863 802 10;
#X obj 32 13 loadbang;
#X obj 294 522 print msd;
#X obj 642 647 gemwin;
#X msg 642 625 0 \, destroy;
#X obj 532 707 gemhead;
#X obj 532 730 world_light;
#X msg 642 562 reset \, create \, lighting 1 \, 1;
#X obj 102 13 cnv 15 500 270 empty empty empty 20 12 0 14 -262131 -66577
0;
#X obj 115 259 t a;
#X obj 115 18 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262131 -1
-1;
#X msg 187 69 reset;
#X text 153 19 reset;
#X obj 115 40 t b b b b b;
#X msg 133 158 50 50;
#X obj 30 290 cnv 15 572 80 empty empty empty 20 12 0 14 -261689 -66577
0;
#X obj 33 298 gemhead;
#X obj 33 321 t b;
#X msg 33 343 bang \, get massesPos \, get linksPos;
#X text 393 85 CREATION : 3 MASSES \, 2 LINKS;
#X text 272 311 COMPUTE AND GET ALL MASSES AND LINKS POSITIONS;
#X obj 30 374 cnv 15 572 110 empty empty empty 20 12 0 14 -262131 -66577
0;
#X msg 65 381 setD souple 0.01;
#X msg 196 382 setK souple 1;
#X msg 65 401 setD souple 1;
#X msg 196 402 setK souple 2;
#X text 331 394 SET RIGIDITY AND VISCOSITY OF LINKS;
#X text 347 440 ADD FORCE ON ALL MOBILE MASSES;
#X obj 27 545 cnv 15 400 200 empty empty empty 20 12 0 14 -261689 -66577
0;
#N canvas 643 123 605 590 massrender 0;
#X obj 127 22 inlet;
#X obj 48 203 translateXYZ;
#X obj 48 229 sphere 0.1;
#X obj 127 86 / 12.5;
#X obj 127 109 - 4;
#X obj 192 87 / 12.5;
#X obj 192 110 - 4;
#X obj 48 177 separator;
#X obj 48 153 any;
#X obj 125 136 t b f;
#X obj 244 87 / 12.5;
#X obj 244 110 - 4;
#X obj 127 57 unpack f f f f;
#X obj 64 114 gemhead 45;
#X connect 0 0 12 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 9 0;
#X connect 5 0 6 0;
#X connect 6 0 1 2;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 9 1 1 1;
#X connect 10 0 11 0;
#X connect 11 0 1 3;
#X connect 12 1 3 0;
#X connect 12 2 5 0;
#X connect 12 3 10 0;
#X connect 13 0 8 1;
#X restore 114 589 pd massrender;
#N canvas 284 227 587 558 linkrender 0;
#X obj 93 25 inlet;
#X obj 93 117 / 12.5;
#X obj 93 140 - 4;
#X obj 147 118 / 12.5;
#X obj 147 141 - 4;
#X obj 44 222 separator;
#X obj 44 192 any;
#X obj 93 164 t b f;
#X obj 44 265 curve 2;
#X obj 266 117 / 12.5;
#X obj 266 140 - 4;
#X obj 320 118 / 12.5;
#X obj 320 141 - 4;
#X obj 197 117 / 12.5;
#X obj 197 142 - 4;
#X obj 123 194 pack f f f;
#X msg 123 217 \$1 \$2 \$3;
#X obj 371 118 / 12.5;
#X obj 371 141 - 4;
#X obj 266 189 pack f f f;
#X msg 266 212 \$1 \$2 \$3;
#X obj 93 69 unpack f f f f f f f;
#X obj 35 133 gemhead 45;
#X connect 0 0 21 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 3 0 4 0;
#X connect 4 0 15 1;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
#X connect 7 1 15 0;
#X connect 9 0 10 0;
#X connect 10 0 19 0;
#X connect 11 0 12 0;
#X connect 12 0 19 1;
#X connect 13 0 14 0;
#X connect 14 0 15 2;
#X connect 15 0 16 0;
#X connect 16 0 8 1;
#X connect 17 0 18 0;
#X connect 18 0 19 2;
#X connect 19 0 20 0;
#X connect 20 0 8 2;
#X connect 21 1 1 0;
#X connect 21 2 3 0;
#X connect 21 3 13 0;
#X connect 21 4 9 0;
#X connect 21 5 11 0;
#X connect 21 6 17 0;
#X connect 22 0 6 1;
#X restore 33 610 pd linkrender;
#X obj 33 560 route linksPos massesPos;
#X text 241 570 DISPLAY MASSES AND LINKS;
#X text 289 592 WITH GEM;
#X text 445 561 1 CREATE WINDOW -->;
#X text 444 624 3 AND DESTROY IT! -->;
#X text 444 592 2 DRAG THE STRUCTURE WITH THE MOUSE;
#N canvas 731 296 450 300 gemmouse 0;
#X obj 189 77 gemmouse;
#X obj 189 184 pack f f;
#X obj 189 218 spigot;
#X obj 103 244 outlet;
#X obj 189 131 - 0;
#X obj 216 131 + 100;
#X obj 189 108 / 5;
#X obj 216 108 / -5;
#X obj 79 51 inlet;
#X obj 140 75 inlet;
#X obj 141 120 l;
#X obj 109 98 t b;
#X connect 0 0 6 0;
#X connect 0 1 7 0;
#X connect 0 2 2 1;
#X connect 1 0 2 0;
#X connect 2 0 10 1;
#X connect 4 0 1 0;
#X connect 5 0 1 1;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 11 0;
#X connect 9 0 10 1;
#X connect 10 0 3 0;
#X connect 11 0 10 0;
#X restore 33 672 pd gemmouse;
#X obj 33 651 gemhead;
#X msg 33 693 posX fix \$1;
#X msg 33 714 posY fix \$2;
#X text 184 675 SET FIXED MASS TO MOUSE POSITION;
#X obj 33 497 msd3D --------------------------------;
#X msg 62 440 forceZ mob 200;
#X msg 188 441 forceZ mob -200;
#X msg 151 138 mass mob 1 \$1 \$2 \$3 \$4;
#X msg 133 179 Xmax 100 \, Xmin 0 \, Ymax 100 \, Ymin 0 \, Zmax 70
\, Zmin 0;
#X msg 169 89 mass fix 0 100 50 50 50;
#X msg 115 232 link souple \$1 \$2 5 10;
#X msg 115 211 0 1 \, 1 2;
#X msg 151 114 100 20 10 20 \, 200 20 25 0;
#X connect 0 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 6 0 2 0;
#X connect 8 0 41 0;
#X connect 9 0 12 0;
#X connect 10 0 8 0;
#X connect 12 0 48 0;
#X connect 12 1 13 0;
#X connect 12 1 45 0;
#X connect 12 2 49 0;
#X connect 12 3 46 0;
#X connect 12 4 10 0;
#X connect 13 0 36 1;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 41 0;
#X connect 21 0 41 0;
#X connect 22 0 41 0;
#X connect 23 0 41 0;
#X connect 24 0 41 0;
#X connect 30 0 29 0;
#X connect 30 1 28 0;
#X connect 30 2 1 0;
#X connect 36 0 38 0;
#X connect 36 0 39 0;
#X connect 37 0 36 0;
#X connect 38 0 41 0;
#X connect 39 0 41 0;
#X connect 41 0 30 0;
#X connect 41 1 1 0;
#X connect 42 0 41 0;
#X connect 43 0 41 0;
#X connect 44 0 8 0;
#X connect 45 0 8 0;
#X connect 46 0 8 0;
#X connect 47 0 8 0;
#X connect 48 0 47 0;
#X connect 49 0 44 0;
|