aboutsummaryrefslogtreecommitdiff
path: root/bezier.pd
blob: 480bcd79a73e892769525b2a776871884d686f15 (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
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
#N canvas 0 0 620 725 10;
#X obj 227 20 inlet;
#N canvas 782 318 534 370 inside 0;
#X obj 30 42 inlet;
#X obj 230 252 s \$0-bezier-a;
#X obj 230 182 sel 0;
#N canvas 0 0 450 300 element 0;
#X obj 52 46 struct \$0-bez-c float x float y;
#X restore 16 242 pd element;
#N canvas 113 250 606 425 array 0;
#X obj 58 96 route change click;
#X obj 78 130 unpack p f;
#X obj 58 24 struct \$0-bez-array float x float y array \$0-bez-c-arr
\$0-bez-c float p0x float p0y float p0x. float p0y. float p1x float
p1y float p1x. float p1y. float p2x float p2y float p2x. float p2y.
float p3x float p3y float p3x. float p3y.;
#X obj 31 312 filledpolygon 0 0 1 p1x p1y p1x. p1y p1x. p1y. p1x p1y.
p1x p1y;
#X obj 31 345 filledpolygon 0 0 1 p2x p2y p2x. p2y p2x. p2y. p2x p2y.
p2x p2y;
#X obj 78 150 t b p;
#X obj 78 210 outlet;
#X obj 105 170 s \$0-arrpoint;
#X obj 78 190 speedlim 150;
#X text 40 254 4 control points \, 2 extremos nao saem da caixa;
#X obj 213 160 drawpolygon 0 1 0 0 0 100 100 100 100 0 0 0;
#X obj 31 378 filledpolygon 0 0 1 p3x(-2:98)(-2:98) p3y(-2:98)(-2:98)
p3x. p3y p3x. p3y. p3x p3y. p3x p3y;
#X obj 31 279 filledpolygon 0 0 1 p0x(-2:98)(-2:98) p0y(-2:98)(-2:98)
p0x. p0y p0x. p0y. p0x p0y. p0x p0y;
#X obj 213 130 plot \$0-bez-c-arr 9 2 0 0;
#X connect 0 0 1 0;
#X connect 0 1 1 0;
#X connect 1 0 5 0;
#X connect 2 0 0 0;
#X connect 5 0 8 0;
#X connect 5 1 7 0;
#X connect 8 0 6 0;
#X restore 16 262 pd array;
#N canvas 604 353 469 520 calculate 0;
#X obj 27 42 inlet;
#X obj 27 112 until;
#X obj 27 132 f+ 0;
#X obj 27 92 101;
#X obj 27 172 * 0.01;
#X obj 27 262 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1
\, 2) + (3*$f3-3*$f2)*$f1 + $f2;
#X obj 46 335 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1
\, 2) + (3*$f3-3*$f2)*$f1 + $f2;
#X obj 27 242 pack f f f f f;
#X obj 46 315 pack f f f f f;
#X obj 228 378 r \$0-arrpoint;
#X obj 108 408 element \$0-bez-array \$0-bez-c-arr;
#X obj 46 468 set \$0-bez-c y;
#X obj 27 448 set \$0-bez-c x;
#X obj 108 428 t p p;
#X obj 27 152 t f f f;
#X obj 46 192 * 0.01;
#X text 142 11 array com 100 pontos. fazer 200? \; e necessario estar
a escalonar tudo? talvez nao;
#X obj 121 120 get \$0-bez-array p0x;
#X obj 291 120 get \$0-bez-array p0y;
#X obj 321 180 get \$0-bez-array p3y;
#X obj 151 180 get \$0-bez-array p3x;
#X obj 141 160 get \$0-bez-array p2x;
#X obj 311 160 get \$0-bez-array p2y;
#X obj 300 140 get \$0-bez-array p1y;
#X obj 131 140 get \$0-bez-array p1x;
#X obj 27 72 t b b;
#X obj 121 200 + 2;
#X obj 151 200 + 2;
#X obj 321 200 + 2;
#X obj 291 200 + 2;
#X obj 77 32 inlet;
#X obj 121 50 r \$0-arrpoint;
#X obj 121 80 pointer;
#X obj 77 52 t b b;
#X connect 0 0 25 0;
#X connect 1 0 2 0;
#X connect 2 0 14 0;
#X connect 3 0 1 0;
#X connect 4 0 7 0;
#X connect 5 0 12 0;
#X connect 6 0 11 0;
#X connect 7 0 5 0;
#X connect 8 0 6 0;
#X connect 9 0 10 1;
#X connect 10 0 13 0;
#X connect 13 0 12 1;
#X connect 13 1 11 1;
#X connect 14 0 4 0;
#X connect 14 1 15 0;
#X connect 14 2 10 0;
#X connect 15 0 8 0;
#X connect 17 0 26 0;
#X connect 18 0 29 0;
#X connect 19 0 28 0;
#X connect 20 0 27 0;
#X connect 21 0 7 3;
#X connect 22 0 8 3;
#X connect 23 0 8 2;
#X connect 24 0 7 2;
#X connect 25 0 3 0;
#X connect 25 1 2 1;
#X connect 26 0 7 1;
#X connect 27 0 7 4;
#X connect 28 0 8 4;
#X connect 29 0 8 1;
#X connect 30 0 33 0;
#X connect 31 0 32 0;
#X connect 32 0 17 0;
#X connect 32 0 18 0;
#X connect 32 0 23 0;
#X connect 32 0 22 0;
#X connect 32 0 19 0;
#X connect 32 0 24 0;
#X connect 32 0 21 0;
#X connect 32 0 20 0;
#X connect 33 0 25 0;
#X connect 33 1 32 0;
#X restore 16 282 pd calculate;
#X obj 75 122 outlet;
#X text 68 140 escalonar 0-1;
#X obj 289 92 pointer;
#X obj 289 52 symbol \$0-bezier-a;
#X obj 240 162 \$1;
#X obj 240 12 loadbang;
#X obj 289 172 s \$0-arrpoint;
#X obj 230 202 100;
#X msg 230 232 donecanvasdialog 1 -1 2 -10 110 110 -10 \$1 \$1 0 0
;
#N canvas 0 0 450 300 index 0;
#X obj 65 258 outlet;
#X obj 185 88 r \$0-arrpoint;
#X obj 65 138 get \$0-bez-c y;
#X obj 65 118 element \$0-bez-array \$0-bez-c-arr;
#X obj 80 218 inv;
#X obj 65 238 *;
#X obj 80 158 r \$0-arrpoint;
#X obj 80 178 getsize \$0-bez-array \$0-bez-c-arr;
#X obj 80 198 - 1;
#X obj 65 98 inlet;
#X connect 1 0 3 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 5 1;
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 4 0;
#X connect 9 0 3 0;
#X restore 75 102 pd index;
#N canvas 0 0 450 300 size 0;
#X obj 99 149 inlet;
#X obj 294 149 r \$0-arrpoint;
#X obj 99 169 setsize \$0-bez-array \$0-bez-c-arr;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X restore 26 102 pd size;
#X obj 289 152 append \$0-bez-array x y;
#X msg 289 132 0 0;
#N canvas 174 133 668 593 point-befehle 0;
#X obj 228 58 route p0 p1 p2 p3;
#X obj 189 18 inlet;
#X obj 60 166 unpack;
#X obj 150 86 r \$0-arrpoint;
#X obj 150 116 t p p p p;
#X obj 60 236 set \$0-bez-array p0x;
#X obj 60 256 set \$0-bez-array p0y;
#X obj 200 236 set \$0-bez-array p1x;
#X obj 200 256 set \$0-bez-array p1y;
#X obj 340 236 set \$0-bez-array p2x;
#X obj 480 236 set \$0-bez-array p3x;
#X obj 480 256 set \$0-bez-array p3y;
#X obj 340 256 set \$0-bez-array p2y;
#X obj 47 116 pointer;
#X obj 47 362 get \$0-bez-array p0x;
#X obj 57 402 set \$0-bez-array p0x.;
#X obj 77 432 get \$0-bez-array p0y;
#X obj 57 472 set \$0-bez-array p0y.;
#X obj 47 332 t p p p p;
#X obj 47 292 t p p p p;
#X obj 197 332 t p p p p;
#X obj 347 332 t p p p p;
#X obj 496 332 t p p p p;
#X obj 197 362 get \$0-bez-array p1x;
#X obj 207 402 set \$0-bez-array p1x.;
#X obj 227 432 get \$0-bez-array p1y;
#X obj 207 472 set \$0-bez-array p1y.;
#X obj 347 362 get \$0-bez-array p2x;
#X obj 357 402 set \$0-bez-array p2x.;
#X obj 377 432 get \$0-bez-array p2y;
#X obj 357 472 set \$0-bez-array p2y.;
#X obj 496 362 get \$0-bez-array p3x;
#X obj 506 402 set \$0-bez-array p3x.;
#X obj 526 432 get \$0-bez-array p3y;
#X obj 506 472 set \$0-bez-array p3y.;
#X obj 47 382 + 5;
#X obj 77 452 + 5;
#X obj 200 166 unpack;
#X obj 340 166 unpack;
#X obj 480 166 unpack;
#X obj 23 82 outlet;
#X obj 189 38 t b b a;
#X obj 197 382 + 5;
#X obj 227 452 + 5;
#X obj 377 452 + 5;
#X obj 347 382 + 5;
#X obj 496 382 + 5;
#X obj 526 452 + 5;
#X obj 150 216 t p p;
#X obj 291 216 t p p;
#X obj 430 216 t p p;
#X obj 570 216 t p p;
#X obj 303 568 outlet;
#N canvas 118 276 450 300 convert 0;
#X obj 192 68 inlet;
#X obj 164 188 outlet;
#X obj 192 108 - 5;
#X obj 192 128 * 0.01;
#X obj 192 88 + 2;
#X obj 242 68 inlet;
#X obj 242 108 - 5;
#X obj 242 128 * 0.01;
#X obj 242 88 + 2;
#X obj 164 158 pack f f f;
#X obj 99 121 r \$0-dump;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 9 1;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 9 2;
#X connect 8 0 6 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X restore 497 502 pd convert;
#X msg 497 522 p3 \$2 \$3;
#N canvas 118 276 450 300 convert 0;
#X obj 192 68 inlet;
#X obj 164 188 outlet;
#X obj 192 108 - 5;
#X obj 192 128 * 0.01;
#X obj 192 88 + 2;
#X obj 242 68 inlet;
#X obj 242 108 - 5;
#X obj 242 128 * 0.01;
#X obj 242 88 + 2;
#X obj 99 121 r \$0-dump;
#X obj 164 158 pack f f f;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 10 1;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 10 2;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 1 0;
#X restore 347 502 pd convert;
#N canvas 118 276 450 300 convert 0;
#X obj 192 68 inlet;
#X obj 164 188 outlet;
#X obj 192 108 - 5;
#X obj 192 128 * 0.01;
#X obj 192 88 + 2;
#X obj 242 68 inlet;
#X obj 242 108 - 5;
#X obj 242 128 * 0.01;
#X obj 242 88 + 2;
#X obj 164 158 pack f f f;
#X obj 99 121 r \$0-dump;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 9 1;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 9 2;
#X connect 8 0 6 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X restore 197 502 pd convert;
#N canvas 118 276 450 300 convert 0;
#X obj 192 68 inlet;
#X obj 164 188 outlet;
#X obj 192 108 - 5;
#X obj 192 128 * 0.01;
#X obj 192 88 + 2;
#X obj 242 68 inlet;
#X obj 242 108 - 5;
#X obj 242 128 * 0.01;
#X obj 242 88 + 2;
#X obj 164 158 pack f f f;
#X obj 99 121 r \$0-dump;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 9 1;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 7 0 9 2;
#X connect 8 0 6 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X restore 47 502 pd convert;
#X msg 347 522 p2 \$2 \$3;
#X msg 197 522 p1 \$2 \$3;
#X msg 47 522 p0 \$2 \$3;
#X obj 233 186 * 100;
#X obj 93 186 * 100;
#X obj 373 186 * 100;
#X obj 513 186 * 100;
#X obj 513 206 - 2;
#X obj 373 206 - 2;
#X obj 233 206 - 2;
#X obj 93 206 - 2;
#X obj 60 206 - 2;
#X obj 200 206 - 2;
#X obj 340 206 - 2;
#X obj 480 206 - 2;
#X obj 480 186 * 100;
#X obj 340 186 * 100;
#X obj 200 186 * 100;
#X obj 60 186 * 100;
#X connect 0 0 2 0;
#X connect 0 1 37 0;
#X connect 0 2 38 0;
#X connect 0 3 39 0;
#X connect 1 0 41 0;
#X connect 2 0 76 0;
#X connect 2 1 62 0;
#X connect 3 0 4 0;
#X connect 3 0 13 0;
#X connect 4 0 48 0;
#X connect 4 1 49 0;
#X connect 4 2 50 0;
#X connect 4 3 51 0;
#X connect 13 0 19 0;
#X connect 14 0 35 0;
#X connect 16 0 36 0;
#X connect 18 0 14 0;
#X connect 18 1 15 1;
#X connect 18 2 16 0;
#X connect 18 3 17 1;
#X connect 19 0 18 0;
#X connect 19 1 20 0;
#X connect 19 2 21 0;
#X connect 19 3 22 0;
#X connect 20 0 23 0;
#X connect 20 1 24 1;
#X connect 20 2 25 0;
#X connect 20 3 26 1;
#X connect 21 0 27 0;
#X connect 21 1 28 1;
#X connect 21 2 29 0;
#X connect 21 3 30 1;
#X connect 22 0 31 0;
#X connect 22 1 32 1;
#X connect 22 2 33 0;
#X connect 22 3 34 1;
#X connect 23 0 42 0;
#X connect 25 0 43 0;
#X connect 27 0 45 0;
#X connect 29 0 44 0;
#X connect 31 0 46 0;
#X connect 33 0 47 0;
#X connect 35 0 15 0;
#X connect 35 0 57 0;
#X connect 36 0 17 0;
#X connect 36 0 57 1;
#X connect 37 0 75 0;
#X connect 37 1 61 0;
#X connect 38 0 74 0;
#X connect 38 1 63 0;
#X connect 39 0 73 0;
#X connect 39 1 64 0;
#X connect 41 0 40 0;
#X connect 41 1 13 0;
#X connect 41 2 0 0;
#X connect 42 0 24 0;
#X connect 42 0 56 0;
#X connect 43 0 26 0;
#X connect 43 0 56 1;
#X connect 44 0 30 0;
#X connect 44 0 55 1;
#X connect 45 0 28 0;
#X connect 45 0 55 0;
#X connect 46 0 32 0;
#X connect 46 0 53 0;
#X connect 47 0 34 0;
#X connect 47 0 53 1;
#X connect 48 0 6 1;
#X connect 48 1 5 1;
#X connect 49 0 8 1;
#X connect 49 1 7 1;
#X connect 50 0 12 1;
#X connect 50 1 9 1;
#X connect 51 0 11 1;
#X connect 51 1 10 1;
#X connect 53 0 54 0;
#X connect 54 0 52 0;
#X connect 55 0 58 0;
#X connect 56 0 59 0;
#X connect 57 0 60 0;
#X connect 58 0 52 0;
#X connect 59 0 52 0;
#X connect 60 0 52 0;
#X connect 61 0 67 0;
#X connect 62 0 68 0;
#X connect 63 0 66 0;
#X connect 64 0 65 0;
#X connect 65 0 11 0;
#X connect 66 0 12 0;
#X connect 67 0 8 0;
#X connect 68 0 6 0;
#X connect 69 0 5 0;
#X connect 70 0 7 0;
#X connect 71 0 9 0;
#X connect 72 0 10 0;
#X connect 73 0 72 0;
#X connect 74 0 71 0;
#X connect 75 0 70 0;
#X connect 76 0 69 0;
#X restore 85 262 pd point-befehle;
#X msg 289 72 traverse \$1 \, bang;
#X obj 289 112 t b p;
#X obj 250 32 t b b b;
#X obj 259 62 101;
#X msg 105 312 p0 0 0 \, p1 0.2 0.4 \, p2 0.8 0.6 \, p3 1 1;
#X obj 178 282 outlet;
#X obj 30 62 route size float canvas dump;
#X obj 153 122 s \$0-dump;
#X obj 153 102 0;
#X connect 0 0 26 0;
#X connect 2 0 13 0;
#X connect 2 1 14 0;
#X connect 4 0 5 0;
#X connect 8 0 21 0;
#X connect 9 0 20 0;
#X connect 10 0 2 0;
#X connect 11 0 10 0;
#X connect 11 0 22 0;
#X connect 13 0 14 0;
#X connect 14 0 1 0;
#X connect 15 0 6 0;
#X connect 17 0 12 0;
#X connect 18 0 17 0;
#X connect 19 0 5 1;
#X connect 19 1 25 0;
#X connect 20 0 8 0;
#X connect 21 0 18 0;
#X connect 21 1 17 2;
#X connect 22 0 24 0;
#X connect 22 1 23 0;
#X connect 22 2 9 0;
#X connect 23 0 16 0;
#X connect 24 0 19 0;
#X connect 26 0 16 0;
#X connect 26 1 15 0;
#X connect 26 2 2 0;
#X connect 26 3 28 0;
#X connect 26 4 19 0;
#X connect 28 0 27 0;
#X restore 227 40 pd inside;
#X obj 297 20 namecanvas \$0-bezier-a;
#X obj 227 60 outlet;
#X obj 278 60 outlet;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 4 0;
#X coords -10 110 110 -10 100 100 2 0 0;