aboutsummaryrefslogtreecommitdiff
path: root/examples/52_pmpd_string.pd
blob: 678ff290e5e285ad9a25193b347afb94709903bb (plain)
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
#N canvas 516 84 620 260 10;
#X declare -lib Gem;
#X obj 24 54 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262131 -1
-1;
#X text 49 54 reset;
#N canvas 0 22 610 333 creation_structure 0;
#X obj 52 15 loadbang;
#X obj 135 20 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262131 -1
-1;
#X msg 193 65 reset;
#X text 173 21 reset;
#N canvas 77 152 608 525 masses 0;
#X obj 109 15 inlet;
#X obj 112 338 outlet;
#X obj 200 343 print;
#X obj 112 64 t b b b b;
#X obj 150 158 until 17;
#X msg 150 184 mass corde 1 50 0;
#X msg 112 276 mass zero 0 1 0;
#X msg 150 134 80;
#X text 232 275 masse nulle pour l'amortissement general;
#X text 302 90 extremite gauche no 0;
#X text 283 184 masses mobiles no 1->80;
#X text 278 220 extremite droite no 81;
#X msg 170 89 mass corde 0 100 0;
#X msg 131 218 mass corde 0 100 0;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 13 0;
#X connect 3 2 7 0;
#X connect 3 3 12 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 4 0;
#X connect 12 0 1 0;
#X connect 13 0 1 0;
#X restore 173 87 pd masses;
#N canvas 579 114 813 597 link 0;
#X obj 157 35 inlet;
#X obj 185 490 outlet;
#X msg 176 320 link souple \$1 \$2 10 10;
#X obj 236 210 + 1;
#X obj 176 293 pack f f;
#X obj 253 493 print;
#X obj 176 241 t f f f;
#X obj 176 212 f 0;
#X obj 157 64 t b b b b;
#X text 305 254 liens entre les masses mobiles;
#X text 384 406 tlink qui fait un amortissement vertical general;
#X obj 386 323 s rigidite;
#X msg 386 300 10;
#X msg 157 403 link D2 zero corde 0 0;
#X msg 266 169 0;
#X obj 203 269 + 1;
#X obj 176 188 until;
#X floatatom 267 251 5 0 0 0 - - -;
#X msg 176 165 81;
#X obj 467 324 s amort;
#X connect 0 0 8 0;
#X connect 2 0 1 0;
#X connect 3 0 7 1;
#X connect 4 0 2 0;
#X connect 6 0 4 0;
#X connect 6 1 15 0;
#X connect 6 2 3 0;
#X connect 7 0 6 0;
#X connect 7 0 17 0;
#X connect 8 0 12 0;
#X connect 8 0 13 0;
#X connect 8 1 18 0;
#X connect 8 2 14 0;
#X connect 12 0 11 0;
#X connect 12 0 19 0;
#X connect 13 0 1 0;
#X connect 14 0 7 1;
#X connect 15 0 4 1;
#X connect 16 0 7 0;
#X connect 18 0 16 0;
#X restore 154 111 pd link;
#X obj 135 42 t b b b b;
#X text 252 82 CREATION : 2 masses fixes (fix) \, 80 mobiles (corde)
\, 80 liens (souple) \, 78 tLink (D2);
#X msg 135 132 Xmax 100 \, Xmin -100;
#X obj 247 23 inlet;
#X obj 121 213 loadbang;
#X obj 121 237 s load;
#X obj 135 160 s \$0-pmpdin;
#X connect 0 0 6 0;
#X connect 1 0 6 0;
#X connect 2 0 12 0;
#X connect 4 0 12 0;
#X connect 5 0 12 0;
#X connect 6 0 8 0;
#X connect 6 1 5 0;
#X connect 6 2 4 0;
#X connect 6 3 2 0;
#X connect 8 0 12 0;
#X connect 9 0 6 0;
#X connect 10 0 11 0;
#X restore 24 76 pd creation_structure;
#N canvas 508 227 516 328 compute 0;
#X obj 27 30 gemhead;
#N canvas 735 244 537 479 corde 0;
#X obj 139 41 inlet;
#X obj 81 333 translateXYZ;
#X obj 139 167 / 12.5;
#X obj 139 190 - 4;
#X obj 81 307 separator;
#X obj 139 238 t b f;
#X obj 81 273 gemhead 45;
#X obj 204 188 / 0.2;
#X obj 139 106 unpack f f;
#X msg 81 238 0;
#X obj 81 213 loadbang;
#X obj 81 369 color 1 1 1;
#X obj 139 139 + 10;
#X obj 81 398 cube 0.02;
#X obj 139 80 route 82;
#X connect 0 0 14 0;
#X connect 1 0 11 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 5 1 1 1;
#X connect 6 0 4 0;
#X connect 7 0 1 2;
#X connect 8 0 12 0;
#X connect 8 1 7 0;
#X connect 9 0 6 0;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 2 0;
#X connect 14 1 8 0;
#X restore 27 252 pd corde;
#N canvas 643 123 605 590 vitesse 0;
#X obj 127 22 inlet;
#X obj 62 333 translateXYZ;
#X obj 129 200 / 12.5;
#X obj 129 223 - 4;
#X obj 62 307 separator;
#X obj 129 250 t b f;
#X obj 62 280 gemhead 45;
#X obj 62 398 cube 0.01;
#X obj 431 25 inlet;
#X obj 236 46 spigot;
#X obj 195 216 + 2;
#X obj 78 81 route 82;
#X obj 129 107 unpack f f;
#X obj 62 232 loadbang;
#X msg 62 256 0;
#X obj 129 172 + 10;
#X obj 195 193 * 200;
#X obj 62 369 color 1 0 0;
#X connect 0 0 9 0;
#X connect 1 0 17 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 5 1 1 1;
#X connect 6 0 4 0;
#X connect 8 0 9 1;
#X connect 9 0 11 0;
#X connect 10 0 1 2;
#X connect 11 1 12 0;
#X connect 12 0 15 0;
#X connect 12 1 16 0;
#X connect 13 0 14 0;
#X connect 14 0 6 0;
#X connect 15 0 2 0;
#X connect 16 0 10 0;
#X connect 17 0 7 0;
#X restore 121 239 pd vitesse;
#X obj 186 219 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 27 53 t b b b b b b b;
#X obj 27 195 route massesPos massesSpeeds massesForces;
#X text 208 240 Afficher les vitesses en haut;
#X text 310 279 Afficher les forces en bas;
#X obj 379 185 inlet;
#X obj 355 119 gemhead;
#X obj 355 142 world_light;
#N canvas 643 123 605 590 forces 0;
#X obj 53 99 inlet;
#X obj 60 377 translateXYZ;
#X obj 139 260 / 12.5;
#X obj 139 283 - 4;
#X obj 204 261 / 12.5;
#X obj 60 351 separator;
#X obj 137 310 t b f;
#X obj 60 325 gemhead 45;
#X obj 60 434 cube 0.02;
#X obj 111 99 inlet;
#X obj 53 129 spigot;
#X obj 60 284 loadbang;
#X msg 60 306 0;
#X obj 139 207 unpack f f;
#X obj 139 232 + 10;
#X obj 204 284 - 2;
#X obj 53 180 route 0 81 82;
#X obj 204 239 * 400;
#X obj 60 405 color 0 1 0;
#X connect 0 0 10 0;
#X connect 1 0 18 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 15 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 6 1 1 1;
#X connect 7 0 5 0;
#X connect 9 0 10 1;
#X connect 10 0 16 0;
#X connect 11 0 12 0;
#X connect 12 0 7 0;
#X connect 13 0 14 0;
#X connect 13 1 17 0;
#X connect 14 0 2 0;
#X connect 15 0 1 2;
#X connect 16 3 13 0;
#X connect 17 0 4 0;
#X connect 18 0 8 0;
#X restore 215 278 pd forces;
#X msg 27 75 bang \, get massesPos \, get massesSpeeds \, get massesForces
;
#X obj 95 100 r \$0-pmpdin;
#X obj 27 136 pmpd --------------------------------;
#X connect 0 0 4 0;
#X connect 3 0 2 1;
#X connect 4 0 12 0;
#X connect 4 1 14 0;
#X connect 4 2 14 0;
#X connect 4 3 14 0;
#X connect 4 4 14 0;
#X connect 4 5 14 0;
#X connect 4 6 14 0;
#X connect 5 0 1 0;
#X connect 5 1 2 0;
#X connect 5 2 11 0;
#X connect 8 0 11 1;
#X connect 8 0 2 1;
#X connect 9 0 10 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 5 0;
#X restore 24 165 pd compute;
#X obj 24 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 328 167 hsl 128 15 0 30 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X obj 331 94 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#N canvas 0 22 450 300 gem 0;
#X obj 179 135 gemwin;
#X msg 198 113 0 \, destroy;
#X msg 179 90 reset \, create \, lighting 1 \, 1;
#X obj 179 39 inlet;
#X obj 179 68 sel 1 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 4 1 1 0;
#X restore 24 118 pd gem;
#X obj 24 99 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X text 44 142 display forces (green) and speeds (red);
#N canvas 0 22 450 300 forces 0;
#X msg 167 134 forceX corde \$1;
#X obj 167 89 inlet;
#X obj 167 112 / 300;
#X obj 167 157 s \$0-pmpdin;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 328 57 pd forces;
#X obj 331 35 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#N canvas 0 22 450 300 general_damping 0;
#X msg 172 143 setD D2 \$1;
#X obj 172 121 / 5;
#X obj 173 100 inlet;
#X obj 172 166 s \$0-pmpdin;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 325 187 pd general_damping;
#X text 324 22 Send forces;
#X text 45 98 gem on/off;
#X text 24 20 1D string model;
#N canvas 873 311 611 439 force2 0;
#X obj 174 147 / 120;
#X obj 171 43 inlet;
#X msg 174 175 41 \$1 \, 42 \$1;
#X obj 191 201 / 1.5;
#X msg 191 225 39 \$1 \, 40 \$1 \, 43 \$1 \, 44 \$1;
#X msg 206 271 36 \$1 \, 37 \$1 \, 38 \$1 \, 45 \$1 \, 46 \$1 \, 47
\$1;
#X obj 206 247 / 3;
#X obj 175 398 s \$0-pmpdin;
#X obj 171 69 t f f;
#X obj 174 100 -;
#X obj 173 124 * 10;
#X msg 174 377 forceX \$1 \$2;
#X obj 177 346 pack f f;
#X obj 176 301 unpack f f;
#X obj 176 325 + 8;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 0 0 6 0;
#X connect 1 0 8 0;
#X connect 2 0 13 0;
#X connect 3 0 4 0;
#X connect 4 0 13 0;
#X connect 5 0 13 0;
#X connect 6 0 5 0;
#X connect 8 0 9 1;
#X connect 8 1 9 0;
#X connect 9 0 10 0;
#X connect 10 0 0 0;
#X connect 11 0 7 0;
#X connect 12 0 11 0;
#X connect 13 0 14 0;
#X connect 13 1 12 1;
#X connect 14 0 12 0;
#X restore 328 117 pd force2;
#X text 324 79 Send forces;
#X text 323 150 global damping;
#X text 23 196 COPYRIGHT : Nicolas Montgermont 2010;
#X obj 178 9 declare -lib Gem;
#X connect 0 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 12 0;
#X connect 6 0 16 0;
#X connect 8 0 7 0;
#X connect 11 0 10 0;