aboutsummaryrefslogtreecommitdiff
path: root/examples/64_distordable_object.pd
blob: 707d1ad279d690bf829ebe7cfdc187561a67c5ce (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
#N canvas 385 163 669 579 10;
#X declare -lib Gem -path ../;
#X obj 52 300 pmpd2d;
#X obj 52 78 loadbang;
#X obj 64 101 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 163 153 1137 609 creation 0;
#X obj 256 -12 inlet;
#X obj 266 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 257 49 t b b b b b b b b b b b;
#X msg 824 175 reset;
#X obj 504 540 outlet;
#X obj 637 147 until;
#X obj 637 179 f;
#X obj 709 231 + 1;
#X msg 679 147 0;
#X obj 637 305 pack f f;
#X msg 637 330 mass net 1 1 \$1 \$2;
#X msg 746 512 print;
#X obj 672 257 % 20;
#X obj 637 258 / 20;
#X obj 637 279 i;
#X obj 637 226 t f f f f;
#X obj 448 339 until;
#X obj 448 371 f;
#X obj 520 423 + 1;
#X obj 448 418 t f f f f;
#X obj 449 448 + 1;
#X obj 447 476 pack f f;
#X msg 448 317 19;
#X obj 463 179 until;
#X obj 463 211 f;
#X msg 505 179 0;
#X obj 524 242 + 1;
#X obj 488 313 * 20;
#X msg 463 157 20;
#X msg 637 125 400;
#X obj 314 297 until;
#X obj 314 329 f;
#X obj 386 381 + 1;
#X obj 314 376 t f f f f;
#X obj 313 434 pack f f;
#X obj 329 137 until;
#X obj 329 169 f;
#X msg 371 137 0;
#X obj 406 212 + 1;
#X obj 354 271 * 20;
#X msg 314 275 20;
#X msg 329 115 19;
#X obj 315 406 + 20;
#X obj 148 299 until;
#X obj 148 331 f;
#X obj 220 383 + 1;
#X obj 148 378 t f f f f;
#X obj 147 436 pack f f;
#X obj 163 139 until;
#X obj 163 171 f;
#X msg 205 139 0;
#X obj 248 219 + 1;
#X obj 188 273 * 20;
#X msg 163 117 19;
#X msg 148 277 19;
#X obj 149 408 + 21;
#X obj 0 290 until;
#X obj 0 322 f;
#X obj 72 374 + 1;
#X obj 0 369 t f f f f;
#X obj -1 427 pack f f;
#X obj 15 130 until;
#X obj 15 162 f;
#X msg 57 130 0;
#X obj 73 213 + 1;
#X obj 40 264 * 20;
#X msg 15 108 19;
#X msg 0 268 19;
#X obj 56 407 + 1;
#X obj 14 237 t b f f;
#X obj 162 246 t b f f;
#X obj 328 244 t b f f;
#X obj 462 286 t b f f;
#X obj 2 399 + 20;
#X msg 846 276 min -9 -9 \, max 29 29;
#X msg 1 455 link mesh \$1 \$2 0.03 0.1;
#X msg 152 463 link mesh \$1 \$2 0.03 0.1;
#X msg 316 462 link mesh \$1 \$2 0.03 0.1;
#X msg 448 501 link mesh \$1 \$2 0.03 0.1;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 2 74 0;
#X connect 2 4 66 0;
#X connect 2 6 53 0;
#X connect 2 7 41 0;
#X connect 2 8 28 0;
#X connect 2 9 29 0;
#X connect 2 10 3 0;
#X connect 2 10 8 0;
#X connect 2 10 25 0;
#X connect 2 10 37 0;
#X connect 2 10 50 0;
#X connect 2 10 63 0;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X connect 12 0 9 1;
#X connect 13 0 14 0;
#X connect 14 0 9 0;
#X connect 15 0 13 0;
#X connect 15 1 12 0;
#X connect 15 2 7 0;
#X connect 16 0 17 0;
#X connect 17 0 19 0;
#X connect 18 0 17 1;
#X connect 19 0 20 0;
#X connect 19 1 21 1;
#X connect 19 2 18 0;
#X connect 20 0 21 0;
#X connect 21 0 78 0;
#X connect 22 0 16 0;
#X connect 23 0 24 0;
#X connect 24 0 72 0;
#X connect 25 0 24 1;
#X connect 26 0 24 1;
#X connect 27 0 17 1;
#X connect 28 0 23 0;
#X connect 29 0 5 0;
#X connect 30 0 31 0;
#X connect 31 0 33 0;
#X connect 32 0 31 1;
#X connect 33 0 42 0;
#X connect 33 1 34 1;
#X connect 33 2 32 0;
#X connect 34 0 77 0;
#X connect 35 0 36 0;
#X connect 36 0 71 0;
#X connect 37 0 36 1;
#X connect 38 0 36 1;
#X connect 39 0 31 1;
#X connect 40 0 30 0;
#X connect 41 0 35 0;
#X connect 42 0 34 0;
#X connect 43 0 44 0;
#X connect 44 0 46 0;
#X connect 45 0 44 1;
#X connect 46 0 55 0;
#X connect 46 1 47 1;
#X connect 46 2 45 0;
#X connect 47 0 76 0;
#X connect 48 0 49 0;
#X connect 49 0 70 0;
#X connect 50 0 49 1;
#X connect 51 0 49 1;
#X connect 52 0 44 1;
#X connect 53 0 48 0;
#X connect 54 0 43 0;
#X connect 55 0 47 0;
#X connect 56 0 57 0;
#X connect 57 0 59 0;
#X connect 58 0 57 1;
#X connect 59 0 73 0;
#X connect 59 1 68 0;
#X connect 59 2 58 0;
#X connect 60 0 75 0;
#X connect 61 0 62 0;
#X connect 62 0 69 0;
#X connect 63 0 62 1;
#X connect 64 0 62 1;
#X connect 65 0 57 1;
#X connect 66 0 61 0;
#X connect 67 0 56 0;
#X connect 68 0 60 1;
#X connect 69 0 67 0;
#X connect 69 1 65 0;
#X connect 69 2 64 0;
#X connect 70 0 54 0;
#X connect 70 1 52 0;
#X connect 70 2 51 0;
#X connect 71 0 40 0;
#X connect 71 1 39 0;
#X connect 71 2 38 0;
#X connect 72 0 22 0;
#X connect 72 1 27 0;
#X connect 72 2 26 0;
#X connect 73 0 60 0;
#X connect 74 0 4 0;
#X connect 75 0 4 0;
#X connect 76 0 4 0;
#X connect 77 0 4 0;
#X connect 78 0 4 0;
#X restore 52 126 pd creation;
#X obj 69 224 gemhead;
#X obj 69 247 t b;
#X obj 54 45 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
;
#N canvas 485 216 591 562 linkrender 0;
#X obj 146 9 inlet;
#X obj 67 285 separator;
#X obj 150 148 t b f;
#X obj 67 368 curve 2;
#X obj 177 178 pack f f;
#X msg 177 201 \$1 \$2 0;
#X obj 261 177 pack f f;
#X msg 261 200 \$1 \$2 0;
#X obj 146 97 unpack f f f f f;
#X obj 67 224 gemhead 45;
#X obj 67 116 loadbang;
#X msg 67 174 0;
#X msg 77 337 res 2;
#X obj 77 311 loadbang;
#X obj 67 265 translateXYZ -10 -10 0;
#X obj 67 246 scaleXYZ 0.2 0.2 0.2;
#X obj 146 53 route mesh;
#X connect 0 0 16 0;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 1 4 0;
#X connect 4 0 5 0;
#X connect 5 0 3 1;
#X connect 6 0 7 0;
#X connect 7 0 3 2;
#X connect 8 1 2 0;
#X connect 8 2 4 1;
#X connect 8 3 6 0;
#X connect 8 4 6 1;
#X connect 9 0 15 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 3 0;
#X connect 13 0 12 0;
#X connect 14 0 1 0;
#X connect 15 0 14 0;
#X connect 16 0 8 0;
#X restore 52 345 pd linkrender;
#N canvas 266 267 304 262 create_gem 0;
#X msg 137 179 0 \, destroy;
#X obj 118 104 inlet;
#X obj 118 129 sel 1 0;
#X msg 118 156 reset \, create \, 1;
#X obj 118 200 gemwin;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 0 0;
#X connect 3 0 4 0;
#X restore 75 45 pd create_gem;
#X obj 239 119 pack f f;
#X obj 239 143 spigot 0;
#X obj 255 47 gemmouse 40 -40;
#X obj 239 97 - 10;
#X obj 281 98 + 30;
#X obj 240 73 f;
#X obj 207 -13 gemhead;
#X obj 207 10 t b;
#X obj 207 53 until;
#X obj 52 323 route linkEnd testLink;
#X msg 151 366 setInactive \$1 \, setLinkId \$1 broken;
#X obj 480 70 gemhead 45;
#X obj 480 113 translateXYZ -10 -10 0;
#X obj 480 92 scaleXYZ 0.2 0.2 0.2;
#X obj 503 -1 gemmouse 40 -40;
#X obj 503 34 - 10;
#X obj 536 34 + 30;
#X obj 480 134 translateXYZ;
#X obj 480 155 circle 2;
#X obj 151 345 route break plastic;
#X msg 207 197 bang \, forceY net -1e-05 \,;
#X msg 451 38 0;
#X obj 451 14 loadbang;
#X msg 239 169 iCircle net \$1 \$2 1 -0.1 1 0 0 0 1;
#X msg 207 32 20;
#X obj 26 -19 declare -lib Gem -path ../;
#X text 62 452 Click and drag the mouse cursor over the object : you
can interact with it. If forces in the links are superior to 0.002
\, the connection lenght will adapt a bit (plastic deformation). If
forces are even bigger (> 0.03) \, the link will break.;
#X text 239 7 simulation speed x20;
#X text 378 367 link with forces > 0.03 breaks;
#X text 350 398 link with forces > 0.002 adpats 1% of their length
;
#X text 186 280 ask pmpd to test the forces of each links;
#X msg 69 268 linkEnd mesh;
#X msg 185 245 testLink break Id mesh forceSup 0.03 \, testLink plastic
Id mesh forceSup 0.002;
#X msg 206 396 setLCurrent mesh 0.01;
#X connect 0 0 18 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 40 0;
#X connect 6 0 8 0;
#X connect 9 0 10 0;
#X connect 10 0 32 0;
#X connect 11 0 14 1;
#X connect 11 1 13 0;
#X connect 11 2 10 1;
#X connect 12 0 9 0;
#X connect 13 0 9 1;
#X connect 14 0 12 0;
#X connect 15 0 16 0;
#X connect 16 0 33 0;
#X connect 17 0 29 0;
#X connect 17 0 14 0;
#X connect 17 0 41 0;
#X connect 18 0 7 0;
#X connect 18 1 28 0;
#X connect 19 0 0 0;
#X connect 20 0 22 0;
#X connect 21 0 26 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 23 1 25 0;
#X connect 23 2 20 0;
#X connect 24 0 26 1;
#X connect 25 0 26 2;
#X connect 26 0 27 0;
#X connect 28 0 19 0;
#X connect 28 1 42 0;
#X connect 29 0 0 0;
#X connect 30 0 20 0;
#X connect 31 0 30 0;
#X connect 32 0 0 0;
#X connect 33 0 17 0;
#X connect 40 0 0 0;
#X connect 41 0 0 0;
#X connect 42 0 0 0;