#N struct xy-curve float x float y float w array z xy-point; #N struct xy-point float x float y; #N struct seg float x float y float dx float dy float w; #N struct l-curve-arrow float x float y float z float z2 float z3 float h; #N struct circle2 float x float y float h float h2 float mh float mh2 ; #N struct vaxis float x float y float h float h-3; #N struct xy-plot float x float y float w array z xy-point; #N struct d-curve-arrow float x float y float z float z2 float z3 float h; #N struct circle float x float y float color float h float h2; #N struct u-curve-arrow float x float y float z float z2 float z3 float h; #N struct r-curve-arrow float x float y float z float z2 float z3 float h; #N struct r-arrow float x float y float z; #N struct l-arrow float x float y float z; #N struct u-arrow float x float y float z; #N struct d-arrow float x float y float z; #N struct v-seg float x float y float z float w; #N struct h-seg float x float y float z float w; #N struct rect float x float y float w float h; #N struct haxis float x float y float w float w-3; #N struct frame float x float y float w float h; #N struct y-plot float x float y float w array z y-point; #N struct y-point float y; #N struct thickcircle float x float y float color float h float h2 ; #N canvas 383 94 365 370 10; #N canvas 462 58 544 370 haxis 0; #X obj 68 101 drawpolygon 0 1 0 0 w 0; #X obj 68 77 struct haxis float x float y float w float w-3; #X obj 69 147 drawpolygon 0 1 w 0 w-3 3 w 0 w-3 -3; #X obj 166 222 pointer; #X obj 52 255 append haxis x y w w-3; #X msg 166 198 traverse pd-test \, bang; #X msg 52 222 50 50 50 47; #X obj 69 124 drawpolygon 0 1 0 0 3 3 0 0 3 -3; #X obj 450 212 r this-ptr; #X obj 364 243 append haxis x y w w-3; #X obj 365 268 s this-ptr; #X obj 362 213 r add-haxis; #X connect 3 0 4 4; #X connect 5 0 3 0; #X connect 6 0 4 0; #X connect 8 0 9 4; #X connect 9 0 10 0; #X connect 11 0 9 0; #X restore 25 45 pd haxis; #N canvas 666 118 501 383 test 0; #X scalar xy-curve 256 139 1 \; -1.95774 -12.3607 \; -0.492465 -6.25737 \; 0 0 \; -0.492465 6.25737 \; -1.95774 12.3607 \; \;; #X scalar xy-curve 320 140 1 \; -78.0422 12.3608 \; -79.5075 6.25747 \; -80 0.000101407 \; -79.5076 -6.25727 \; -78.0423 -12.3606 \; \; ; #X scalar xy-curve 202 98 1 \; -3.91547 -24.7213 \; -0.984931 -12.5147 \; 0 0 \; -0.984931 12.5147 \; -3.91547 24.7213 \; \;; #X scalar xy-curve 334 101 1 \; -156.084 24.7215 \; -159.015 12.5149 \; -160 0.000202815 \; -159.015 -12.5145 \; -156.085 -24.7211 \; \; ; #X scalar xy-curve 439 304 1 \; -234.127 37.0823 \; -238.523 18.7724 \; -240 0.000304222 \; -238.523 -18.7718 \; -234.127 -37.0817 \; \; ; #X scalar xy-curve 221 306 1 \; -5.87321 -37.082 \; -1.4774 -18.7721 \; 0 0 \; -1.4774 18.7721 \; -5.87321 37.082 \; \;; #X scalar seg 105 157 20 50 1 \;; #X scalar l-curve-arrow 414 150 20 40 60 8 \;; #X scalar circle2 66 330 50 35 -50 -35 \;; #X scalar vaxis 329 151 150 147 \;; #X scalar xy-curve 142 40 1 \; 0 0 \; -0.492465 6.25737 \; -1.95774 12.3607 \; -4.35973 18.1596 \; -7.63931 23.5114 \; -11.7157 28.2843 \; \;; #X scalar xy-curve 51 89 1 \; 0 0 \; 2 10 \; 4 20 \; 13 18 \; 2 12 \; 11 10 \; 0 4 \; \;; #X scalar xy-curve 43 112 1 \; 0 -14 \; 0 -14 \; -9 0 \; -9 -18 \; 0 -4 \; \;; #X scalar xy-plot 24 220 1 \; 0 0 \; 21 -8 \; -4 16 \; 6 26 \; 16 16 \; \;; #X scalar d-curve-arrow 474 214 20 40 59 -21 \;; #X scalar circle 323 80 999 20 -20 \;; #X scalar circle 301 49 999 3 -3 \;; #X scalar circle 336 49 0 3 -3 \;; #X scalar u-curve-arrow 447 226 -28 -37 -60 -24 \;; #X scalar r-curve-arrow 402 149 -36 -46 -81 -23 \;; #X scalar r-arrow 251 203 -20 \;; #X scalar l-arrow 162 213 50 \;; #X scalar u-arrow 342 286 -50 \;; #X scalar d-arrow 344 181 40 \;; #X scalar v-seg 220 139 50 1 \;; #X scalar h-seg 304 49 29 1 \;; #X scalar rect 227 139 2 50 \;; #X scalar vaxis 315 211 50 47 \;; #X scalar haxis 141 244 150 147 \;; #X scalar frame 259 151 50 20 \;; #X scalar r-arrow 270 214 -40 \;; #X scalar h-seg 162 146 50 1 \;; #X scalar y-plot 76 270 1 \; 0 \; 3.53413 \; 5 \; 3.53975 \; 0.00796274 \; -3.52849 \; -4.99999 \; -3.54537 \; -0.0159255 \; 3.52284 \; 4.99996 \; 3.55098 \; 0.0238893 \; -3.51719 \; -4.99992 \; -3.55658 \; -0.0318508 \; 3.51152 \; 4.99987 \; 3.56218 \; 0.0398121 \; -3.50585 \; -4.99981 \; -3.56776 \; -0.0477781 \; 3.50017 \; 4.99973 \; 3.57333 \; 0.0557345 \; -3.49448 \; -4.99964 \; -3.5789 \; -0.0637002 \; 3.48878 \; 4.99954 \; 3.58446 \; 0.0716658 \; -3.48307 \; -4.99943 \; -3.59 \; -0.0796217 \; 3.47735 \; 4.9993 \; 3.59554 \; 0.0875869 \; -3.47163 \; -4.99916 \; -3.60107 \; -0.0955519 \; 3.46589 \; \;; #X scalar u-curve-arrow 410 217 -12 -8 -18 -6 \;; #X text 180 330 comment; #X scalar h-seg 161 136 50 3 \;; #X scalar d-curve-arrow 449 173 11 23 27 17 \;; #X scalar xy-plot 407 47 1 \; 2 3 \; 2 6 \; -2 9 \; -15 9 \; -19 15 \; -23 9 \; -32 9 \; -38 6 \; -38 3 \; \;; #X scalar xy-plot 427 119 1 \; 1 2 \; 6 2 \; 9 -2 \; 9 -15 \; 22 -19 \; 10 -23 \; 10 -32 \; 7 -38 \; 3 -38 \; \;; #X scalar xy-plot 407 43 1 \; 2 -3 \; 2 -6 \; -2 -9 \; -15 -9 \; -19 -15 \; -23 -9 \; -32 -9 \; -38 -6 \; -38 -3 \; \;; #X scalar haxis 189 231 53 50 \;; #X scalar xy-curve 38 74 1 \; 0 -2 \; 2 0 \; 4 2 \; 6 0 \; 8 -2 \; 10 0 \; 12 2 \; \;; #X scalar v-seg 41 67 7 1 \;; #X scalar v-seg 46 67 5 1 \;; #X scalar h-seg 22 42 7 1 \;; #X scalar xy-curve 26 52 1 \; 0 -2 \; 2 0 \; 4 2 \; 6 0 \; 8 -2 \; 10 0 \; 12 2 \; \;; #X scalar v-seg 41 43 7 1 \;; #X scalar xy-plot 403 118 1 \; -1 0 \; -6 0 \; -9 -4 \; -9 -17 \; -22 -21 \; -10 -25 \; -10 -34 \; -7 -40 \; -3 -40 \; \;; #X scalar xy-curve 48 166 1 \; -2 -2 \; -6 -7 \; -3 -10 \; 4 -10 \; 3 0 \; 2 -10 \; 14 -10 \; 10 0 \; \;; #X scalar xy-curve 29 197 1 \; -1.33 -1.33 \; -4 -4.66 \; -2 -6.66 \; 2.66 -6.66 \; 2 0 \; 1.33 -6.66 \; 9.33 -6.66 \; 6.66 0 \; \;; #X scalar xy-plot 426 65 1 \; 0.5 1 \; 3 1 \; 4.5 -1 \; 4.5 -7.5 \; 11 -9.5 \; 5 -11.5 \; 5 -16 \; 3.5 -19 \; 1.5 -19 \; \;; #X scalar xy-plot 460 119 1 \; 1 6 \; 6 6 \; 9 -6 \; 9 -45 \; 22 -57 \; 10 -69 \; 10 -96 \; 7 -114 \; 3 -114 \; \;; #X scalar xy-plot 240 88 1 \; 0 0 \; 7 7 \; 14 0 \; \;; #X scalar xy-plot 280 23 1 \; 1 1 \; 1 3 \; -1 5 \; -7.5 5 \; -9.5 11 \; -11.5 5 \; -16 5 \; -19 3 \; -19 1 \; \;; #X scalar seg 96 105 7 7 2 \;; #X scalar seg 96 112 7 -7 2 \;; #X scalar circle 325 338 999 6 -6 \;; #X scalar thickcircle 119 105 999 5 -5 \;; #X coords 0 383 1 382 0 0 0; #X restore 124 8 pd test; #N canvas 544 312 591 287 vaxis 0; #X obj 244 227 pointer; #X msg 246 198 traverse pd-test \, bang; #X msg 130 227 50 50 50 47; #X obj 68 76 struct vaxis float x float y float h float h-3; #X obj 64 98 drawpolygon 0 1 0 0 0 h; #X obj 71 125 drawpolygon 0 1 0 0 3 3 0 0 -3 3; #X obj 69 147 drawpolygon 0 1 0 h 3 h-3 0 h -3 h-3; #X obj 130 260 append vaxis x y h h-3; #X obj 506 196 r this-ptr; #X obj 421 252 s this-ptr; #X obj 418 197 r add-vaxis; #X obj 420 227 append vaxis x y h h-3; #X msg 405 22 \; start pd-test \; add-vaxis 50 50 150 147; #X connect 0 0 7 4; #X connect 1 0 0 0; #X connect 2 0 7 0; #X connect 8 0 11 4; #X connect 10 0 11 0; #X connect 11 0 9 0; #X restore 25 65 pd vaxis; #N canvas 108 533 578 290 rect 0; #X obj 44 76 filledpolygon 0 0 0 0 0 0 h w h w 0 0 0; #X obj 43 53 struct rect float x float y float w float h; #X obj 465 99 r this-ptr; #X obj 380 155 s this-ptr; #X obj 377 100 r add-rect; #X obj 379 130 append rect x y w h; #X msg 378 42 \; start pd-test \; add-rect 50 50 20 30; #X connect 2 0 5 4; #X connect 4 0 5 0; #X connect 5 0 3 0; #X restore 25 85 pd rect; #N canvas 604 293 450 300 control 0; #X obj 127 36 r start; #X obj 125 121 pointer; #X obj 128 66 symbol; #X obj 127 145 s this-ptr; #X msg 126 94 traverse \$1 \, bang; #X connect 0 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 4 0 1 0; #X restore 125 41 pd control; #N canvas 457 224 643 316 frame 0; #X obj 134 219 pointer; #X msg 134 188 traverse pd-test \, bang; #X obj 432 201 r this-ptr; #X obj 347 257 s this-ptr; #X obj 69 76 struct frame float x float y float w float h; #X obj 344 202 r add-frame; #X obj 346 232 append frame x y w h; #X msg 46 219 50 50 50 20; #X obj 46 253 append frame x y w h; #X obj 69 99 drawpolygon 0 1 0 0 0 h w h w 0 0 0; #X connect 0 0 8 4; #X connect 1 0 0 0; #X connect 2 0 6 4; #X connect 5 0 6 0; #X connect 6 0 3 0; #X connect 7 0 8 0; #X restore 23 127 pd frame; #N canvas 457 224 465 196 y-point 0; #X obj 69 76 struct y-point float y; #X restore 100 147 pd y-point; #N canvas 278 388 735 439 y-plot 0; #X obj 338 182 r this-ptr; #X obj 232 284 s this-ptr; #X obj 72 62 struct y-plot float x float y float w array z y-point ; #X obj 73 85 plot z 0 1 0 0 w; #X obj 232 230 t p p; #X obj 564 179 r this-ptr; #X obj 454 174 unpack; #X obj 493 207 element y-plot z; #X obj 454 203 swap; #X obj 240 118 r add-y-plot; #X obj 454 150 r y-plot-point; #X obj 241 207 append y-plot x y w; #X obj 236 143 unpack 0 0 0 0; #X text 237 99 add-y-plot size x y w; #X floatatom 147 226 5 0 0 0 - - -; #X obj 202 256 setsize y-plot z; #X obj 454 232 set y-point y; #X msg 418 301 \; add-y-plot 200 30 30 1; #X text 441 118 y-plot-point index y; #X connect 0 0 11 3; #X connect 4 0 1 0; #X connect 4 1 15 1; #X connect 5 0 7 1; #X connect 6 0 8 0; #X connect 6 1 8 1; #X connect 7 0 16 1; #X connect 8 0 16 0; #X connect 8 1 7 0; #X connect 9 0 12 0; #X connect 10 0 6 0; #X connect 11 0 4 0; #X connect 12 0 15 0; #X connect 12 1 11 0; #X connect 12 2 11 1; #X connect 12 3 11 2; #X connect 14 0 15 0; #X restore 23 147 pd y-plot; #N canvas 605 207 544 370 d-arrow 0; #X obj 166 222 pointer; #X msg 166 198 traverse pd-test \, bang; #X obj 459 213 r this-ptr; #X obj 365 268 s this-ptr; #X msg 52 222 50 50 50; #X obj 362 213 r add-d-arrow; #X obj 364 242 append d-arrow x y z; #X obj 52 255 append d-arrow x y z; #X obj 68 77 struct d-arrow float x float y float z; #X obj 70 102 drawpolygon 0 1 0 0 0 z; #X obj 69 124 drawpolygon 0 1 0 0 3 3 0 0 -3 3; #X connect 0 0 7 3; #X connect 1 0 0 0; #X connect 2 0 6 3; #X connect 4 0 7 0; #X connect 5 0 6 0; #X connect 6 0 3 0; #X restore 23 250 pd d-arrow; #N canvas 198 371 544 370 l-arrow 0; #X obj 166 222 pointer; #X msg 166 198 traverse pd-test \, bang; #X obj 69 124 drawpolygon 0 1 0 0 3 3 0 0 3 -3; #X obj 459 213 r this-ptr; #X obj 365 268 s this-ptr; #X msg 52 222 50 50 50; #X obj 68 101 drawpolygon 0 1 0 0 z 0; #X obj 68 77 struct l-arrow float x float y float z; #X obj 52 255 append l-arrow x y z; #X obj 362 213 r add-l-arrow; #X obj 364 242 append l-arrow x y z; #X msg 325 157 \; add-l-arrow 100 100 50; #X connect 0 0 8 3; #X connect 1 0 0 0; #X connect 3 0 10 3; #X connect 5 0 8 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 23 210 pd l-arrow; #N canvas 101 508 757 424 osc-icon 0; #X obj 178 159 until; #X obj 180 134 t b b; #X obj 190 204 f; #X msg 227 131 0; #X obj 264 204 + 1; #X obj 264 231 sel 50; #X obj 48 257 print; #X obj 188 243 t f f; #X obj 188 293 pack; #X msg 184 323 \; y-plot-point \$1 \$2 \;; #X obj 210 271 expr 25 * sin($f1*4*3.14/50); #X obj 180 107 r add-pts1; #X text 221 386 sinusoid; #X obj 421 169 until; #X obj 423 144 t b b; #X obj 433 214 f; #X msg 470 141 0; #X obj 507 214 + 1; #X obj 507 241 sel 50; #X obj 431 253 t f f; #X obj 431 303 pack; #X msg 427 333 \; y-plot-point \$1 \$2 \;; #X obj 423 117 r add-pts2; #X text 464 396 sawtooth; #X obj 444 276 expr 45 * ($f1/20 - int($f1/20)); #X msg 31 22 \; pd-tmp clear; #X msg 177 9 \; start pd-tmp \; add-frame 30 30 60 60 \; add-y-plot 50 35 60 1 \; add-pts1 bang; #X msg 420 19 \; start pd-tmp \; add-frame 30 30 60 60 \; add-y-plot 50 35 35 1 \; add-pts2 bang; #X msg 20 73 \; start pd-tmp \; add-d-arrow 70 40 40; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 1 1 3 0; #X connect 2 0 4 0; #X connect 2 0 7 0; #X connect 3 0 2 1; #X connect 4 0 5 0; #X connect 4 0 2 1; #X connect 5 0 0 1; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 11 0 1 0; #X connect 13 0 15 0; #X connect 14 0 13 0; #X connect 14 1 16 0; #X connect 15 0 17 0; #X connect 15 0 19 0; #X connect 16 0 15 1; #X connect 17 0 18 0; #X connect 17 0 15 1; #X connect 18 0 13 1; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 22 0 14 0; #X restore 271 19 pd osc-icon; #N canvas 46 348 1234 484 table-icon 0; #X obj 26 210 until; #X obj 28 185 t b b; #X obj 52 239 f; #X msg 75 182 0; #X obj 107 238 + 1; #X obj 275 28 print; #X obj 54 282 t f f; #X obj 54 360 pack; #X obj 92 336 expr 25 * $f1*$f1*$f1*$f1; #X obj 54 337 + 32; #X obj 54 306 * 3; #X obj 107 265 sel 15; #X obj 92 312 / 14; #X obj 28 161 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 261 210 until; #X obj 263 185 t b b; #X obj 287 239 f; #X msg 310 182 0; #X obj 342 238 + 1; #X obj 289 282 t f f; #X obj 289 360 pack; #X obj 289 337 + 32; #X obj 289 306 * 3; #X obj 263 161 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 342 265 sel 22; #X obj 332 304 / 22; #X obj 332 328 expr 25 * cos($f1*10); #X text 69 424 fig 1.06 -- fourth power; #X text 299 424 fig 2.01 -- sine wave; #X obj 485 202 until; #X obj 511 231 f; #X msg 534 174 0; #X obj 566 230 + 1; #X obj 513 274 t f f; #X obj 511 366 pack; #X obj 511 343 + 32; #X obj 513 298 * 3; #X obj 494 99 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 566 257 sel 22; #X obj 494 123 t b b b; #X text 522 425 fig 2.03 -- whatever wavetable; #X obj 556 296 / 6; #X obj 485 322 expr 10 * (cos($f1) + cos($f1*2+34) + cos($f1*3.7+56)) ; #X msg 54 385 \; add-rect \$1 35 1 \$2 \;; #X msg 289 385 \; add-rect \$1 60 1 \$2 \;; #X msg 511 391 \; add-rect \$1 60 1 \$2 \;; #X obj 870 198 until; #X obj 896 227 f; #X msg 919 170 0; #X obj 951 226 + 1; #X obj 898 270 t f f; #X obj 896 362 pack; #X obj 896 339 + 32; #X obj 898 294 * 3; #X obj 879 95 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 951 253 sel 22; #X obj 879 119 t b b b; #X obj 941 292 / 6; #X msg 896 387 \; add-rect \$1 60 1 \$2 \;; #X obj 870 318 expr 10 * (cos($f1) + cos($f1*3+34) + cos($f1*5+56)) ; #X text 907 420 fig 2.04 -- another wavetable; #X msg 43 6 \; start pd-tmp \; add-d-arrow 70 40 40; #X msg 24 69 \; pd-tmp clear; #X msg 25 107 \; start pd-tmp \; add-frame 30 30 60 60; #X msg 257 101 \; start pd-tmp \; add-frame 30 30 80 60; #X msg 560 121 \; start pd-tmp \; add-frame 25 30 80 60; #X msg 945 117 \; start pd-tmp \; add-frame 25 30 80 60; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 1 1 3 0; #X connect 2 0 4 0; #X connect 2 0 6 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 4 0 11 0; #X connect 6 0 10 0; #X connect 6 1 12 0; #X connect 7 0 43 0; #X connect 9 0 7 0; #X connect 10 0 9 0; #X connect 11 0 0 1; #X connect 13 0 1 0; #X connect 14 0 16 0; #X connect 15 0 14 0; #X connect 15 1 17 0; #X connect 16 0 18 0; #X connect 16 0 19 0; #X connect 17 0 16 1; #X connect 18 0 16 1; #X connect 18 0 24 0; #X connect 19 0 22 0; #X connect 19 1 25 0; #X connect 20 0 44 0; #X connect 21 0 20 0; #X connect 22 0 21 0; #X connect 23 0 15 0; #X connect 24 0 14 1; #X connect 29 0 30 0; #X connect 30 0 32 0; #X connect 30 0 33 0; #X connect 31 0 30 1; #X connect 32 0 30 1; #X connect 32 0 38 0; #X connect 33 0 36 0; #X connect 33 1 41 0; #X connect 34 0 45 0; #X connect 35 0 34 0; #X connect 36 0 35 0; #X connect 37 0 39 0; #X connect 38 0 29 1; #X connect 39 0 29 0; #X connect 39 1 31 0; #X connect 39 2 65 0; #X connect 46 0 47 0; #X connect 47 0 49 0; #X connect 47 0 50 0; #X connect 48 0 47 1; #X connect 49 0 47 1; #X connect 49 0 55 0; #X connect 50 0 53 0; #X connect 50 1 57 0; #X connect 51 0 58 0; #X connect 52 0 51 0; #X connect 53 0 52 0; #X connect 54 0 56 0; #X connect 55 0 46 1; #X connect 56 0 46 0; #X connect 56 1 48 0; #X connect 56 2 66 0; #X restore 263 42 pd table-icon; #N canvas 495 181 438 203 envelope-icon 0; #X msg 168 19 \; start pd-fig \; add-frame 30 30 60 60 \; add-xy-plot 5 35 60 1 \; xy-plot-point 0 0 0 \; xy-plot-point 1 10 5 \; xy-plot-point 2 20 0 \; xy-plot-point 3 30 5 \; xy-plot-point 4 40 0 \;; #X restore 242 88 pd envelope-icon; #N canvas 473 104 761 324 xy-plot 0; #X obj 216 196 r this-ptr; #X obj 110 298 s this-ptr; #X obj 23 49 plot z 0 1 0 0 w; #X obj 110 244 t p p; #X obj 442 208 r this-ptr; #X obj 332 225 swap; #X obj 114 157 unpack 0 0 0 0; #X floatatom 25 240 5 0 0 0 - - -; #X obj 22 19 struct xy-plot float x float y float w array z xy-point ; #X obj 118 132 r add-xy-plot; #X obj 119 221 append xy-plot x y w; #X obj 80 270 setsize xy-plot z; #X obj 332 179 r xy-plot-point; #X obj 402 269 element xy-plot z; #X text 114 113 add-xy-plot size x y w; #X obj 332 203 unpack 0 0 0; #X obj 329 294 set xy-point x y; #X text 345 157 xy-plot-point n x y; #X msg 553 22 \; add-xy-plot 5 40 40 1 \; xy-plot-point 0 0 0 \; xy-plot-point 1 10 10 \; xy-plot-point 2 20 0 \; xy-plot-point 3 30 10 \; xy-plot-point 4 40 0 \;; #X text 563 4 brace; #X text 563 139 simple; #X msg 553 157 \; add-xy-plot 3 40 40 1 \; xy-plot-point 0 0 0 \; xy-plot-point 1 10 10 \; xy-plot-point 2 20 0 \;; #X msg 443 18 \; start pd-test \;; #X connect 0 0 10 3; #X connect 3 0 1 0; #X connect 3 1 11 1; #X connect 4 0 13 1; #X connect 5 0 16 0; #X connect 5 1 13 0; #X connect 6 0 11 0; #X connect 6 1 10 0; #X connect 6 2 10 1; #X connect 6 3 10 2; #X connect 7 0 11 0; #X connect 9 0 6 0; #X connect 10 0 3 0; #X connect 12 0 15 0; #X connect 13 0 16 2; #X connect 15 0 5 0; #X connect 15 1 5 1; #X connect 15 2 16 1; #X restore 23 167 pd xy-plot; #N canvas 583 51 544 370 h-seg 0; #X obj 166 222 pointer; #X msg 166 198 traverse pd-test \, bang; #X obj 459 213 r this-ptr; #X obj 365 268 s this-ptr; #X obj 362 213 r add-h-seg; #X obj 68 77 struct h-seg float x float y float z float w; #X obj 71 101 drawpolygon 0 w 0 0 z 0; #X msg 52 222 50 50 50 1; #X obj 364 242 append h-seg x y z w; #X obj 52 254 append h-seg x y z w; #X connect 0 0 9 4; #X connect 1 0 0 0; #X connect 2 0 8 4; #X connect 4 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X restore 25 5 pd h-seg; #N canvas 583 51 544 370 v-seg 0; #X obj 166 222 pointer; #X msg 166 198 traverse pd-test \, bang; #X obj 459 213 r this-ptr; #X obj 365 268 s this-ptr; #X obj 68 77 struct v-seg float x float y float z float w; #X obj 68 101 drawpolygon 0 w 0 0 0 z; #X msg 52 222 50 50 50 1; #X obj 52 255 append v-seg x y z w; #X obj 364 242 append v-seg x y z w; #X obj 363 170 r add-v-seg; #X msg 365 124 \; add-v-seg 50 50 100 1; #X connect 0 0 7 4; #X connect 1 0 0 0; #X connect 2 0 8 4; #X connect 6 0 7 0; #X connect 8 0 3 0; #X connect 9 0 8 0; #X restore 25 25 pd v-seg; #N canvas 462 58 544 370 r-arrow 0; #X obj 166 222 pointer; #X msg 166 198 traverse pd-test \, bang; #X obj 459 213 r this-ptr; #X obj 365 268 s this-ptr; #X obj 68 101 drawpolygon 0 1 0 0 z 0; #X obj 68 77 struct r-arrow float x float y float z; #X obj 69 124 drawpolygon 0 1 0 0 -3 3 0 0 -3 -3; #X obj 52 255 append r-arrow x y z; #X msg 52 222 50 50 -40; #X obj 362 213 r add-r-arrow; #X obj 364 242 append r-arrow x y z; #X msg 339 153 \; add-r-arrow 100 100 -50; #X connect 0 0 7 3; #X connect 1 0 0 0; #X connect 2 0 10 3; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 10 0 3 0; #X restore 23 230 pd r-arrow; #N canvas 457 224 465 196 xy-point 0; #X obj 69 76 struct xy-point float x float y; #X restore 100 167 pd xy-point; #N canvas 605 207 544 370 u-arrow 0; #X obj 166 222 pointer; #X msg 166 198 traverse pd-test \, bang; #X obj 459 213 r this-ptr; #X obj 365 268 s this-ptr; #X obj 70 102 drawpolygon 0 1 0 0 0 z; #X obj 68 77 struct u-arrow float x float y float z; #X obj 362 213 r add-u-arrow; #X obj 52 255 append u-arrow x y z; #X obj 364 242 append u-arrow x y z; #X obj 69 124 drawpolygon 0 1 0 0 3 -3 0 0 -3 -3; #X msg 52 222 50 100 -50; #X connect 0 0 7 3; #X connect 1 0 0 0; #X connect 2 0 8 3; #X connect 6 0 8 0; #X connect 8 0 3 0; #X connect 10 0 7 0; #X restore 23 270 pd u-arrow; #N canvas 0 117 1204 685 tab-icon-2 0; #X obj 24 217 until; #X obj 50 246 f; #X msg 64 187 0; #X obj 105 245 + 1; #X obj 52 289 t f f; #X obj 50 381 pack; #X obj 50 358 + 32; #X obj 52 313 * 3; #X obj 23 80 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 105 272 sel 22; #X obj 23 104 t b b b; #X msg 50 406 \; add-rect \$1 60 1 \$2 \;; #X obj 95 311 / 22; #X text 61 440 fig 2.07 -- half-sine envelope; #X text 22 13 more vavetable icons; #X obj 88 379 expr 25 * sin(3.14159 * $f1); #X obj 285 212 until; #X obj 287 187 t b b; #X obj 311 241 f; #X msg 334 184 0; #X obj 366 240 + 1; #X obj 313 284 t f f; #X obj 313 362 pack; #X obj 313 339 + 32; #X obj 313 308 * 3; #X msg 313 387 \; add-rect \$1 60 1 \$2 \;; #X text 323 426 fig 6.08 - cosine wave; #X obj 288 163 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 285 61 \; pd-tmp clear; #X obj 366 267 sel 21; #X obj 594 73 until; #X obj 596 48 t b b; #X obj 591 97 f; #X msg 643 45 0; #X obj 646 96 + 1; #X obj 593 140 t f f; #X obj 594 229 pack; #X obj 594 206 + 32; #X obj 593 164 * 3; #X msg 594 254 \; add-rect \$1 60 1 \$2 \;; #X obj 597 24 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 646 123 sel 21; #X text 604 293 fig 6.08 - sine wave; #X msg 281 103 \; start pd-tmp \; add-frame 23 30 80 60; #X obj 351 347 expr 25 * cos(2*3.14159*$f1/20); #X obj 600 186 expr 25 * sin(2*3.14159*$f1/20); #X obj 596 370 until; #X obj 596 345 t b b; #X obj 596 395 f; #X msg 645 342 0; #X obj 651 394 + 1; #X obj 596 427 t f f; #X obj 596 505 pack; #X obj 596 482 + 32; #X obj 596 451 * 3; #X msg 596 530 \; add-rect \$1 60 1 \$2 \;; #X obj 593 323 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 651 421 sel 21; #X text 606 569 fig 6.08 - sine wave; #X obj 636 449 expr ($f1-10)/10; #X obj 637 488 expr 25 * exp(-2 * $f1*$f1); #X msg 67 132 \; start pd-tmp \; add-frame 25 30 80 60; #X obj 855 93 until; #X obj 857 68 t b b; #X obj 852 117 f; #X msg 904 65 0; #X obj 907 116 + 1; #X obj 854 160 t f f; #X obj 852 273 pack; #X obj 854 208 + 32; #X obj 854 184 * 3; #X msg 852 298 \; add-rect \$1 60 1 \$2 \;; #X obj 858 44 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 907 143 sel 21; #X text 857 336 fig 10.11 - bandlimited step; #X obj 887 211 expr -25 * (cos(1*3.14159*$f1/20) - 0.3333*cos(3*3.14159*$f1/20)) ; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 0 4 0; #X connect 2 0 1 1; #X connect 3 0 1 1; #X connect 3 0 9 0; #X connect 4 0 7 0; #X connect 4 1 12 0; #X connect 5 0 11 0; #X connect 6 0 5 0; #X connect 7 0 6 0; #X connect 8 0 10 0; #X connect 9 0 0 1; #X connect 10 0 0 0; #X connect 10 1 2 0; #X connect 10 2 61 0; #X connect 16 0 18 0; #X connect 17 0 16 0; #X connect 17 1 19 0; #X connect 18 0 20 0; #X connect 18 0 21 0; #X connect 19 0 18 1; #X connect 20 0 18 1; #X connect 20 0 29 0; #X connect 21 0 24 0; #X connect 22 0 25 0; #X connect 23 0 22 0; #X connect 24 0 23 0; #X connect 27 0 17 0; #X connect 29 0 16 1; #X connect 30 0 32 0; #X connect 31 0 30 0; #X connect 31 1 33 0; #X connect 32 0 34 0; #X connect 32 0 35 0; #X connect 33 0 32 1; #X connect 34 0 32 1; #X connect 34 0 41 0; #X connect 35 0 38 0; #X connect 35 1 45 0; #X connect 36 0 39 0; #X connect 37 0 36 0; #X connect 38 0 37 0; #X connect 40 0 31 0; #X connect 41 0 30 1; #X connect 45 0 36 1; #X connect 46 0 48 0; #X connect 47 0 46 0; #X connect 47 1 49 0; #X connect 48 0 50 0; #X connect 48 0 51 0; #X connect 49 0 48 1; #X connect 50 0 48 1; #X connect 50 0 57 0; #X connect 51 0 54 0; #X connect 52 0 55 0; #X connect 53 0 52 0; #X connect 54 0 53 0; #X connect 56 0 47 0; #X connect 57 0 46 1; #X connect 62 0 64 0; #X connect 63 0 62 0; #X connect 63 1 65 0; #X connect 64 0 66 0; #X connect 64 0 67 0; #X connect 65 0 64 1; #X connect 66 0 64 1; #X connect 66 0 73 0; #X connect 67 0 70 0; #X connect 67 1 75 0; #X connect 68 0 71 0; #X connect 69 0 68 0; #X connect 70 0 69 0; #X connect 72 0 63 0; #X connect 73 0 62 1; #X connect 75 0 68 1; #X restore 262 65 pd tab-icon-2; #N canvas 459 39 544 370 r-curve-arrow 0; #X obj 212 197 pointer; #X msg 212 173 traverse pd-test \, bang; #X obj 69 124 drawpolygon 0 1 0 0 -3 3 0 0 -3 -3; #X obj 73 52 struct r-curve-arrow float x float y float z float z2 float z3 float h; #X msg 52 222 50 50 -20 -40 -60 8; #X obj 52 255 append r-curve-arrow x y z z2 z3 h; #X obj 68 101 drawcurve 0 1 0 0 z 0 z2 h z3 h; #X connect 0 0 5 6; #X connect 1 0 0 0; #X connect 4 0 5 0; #X restore 102 229 pd r-curve-arrow; #N canvas 75 368 544 370 u-curve-arrow 0; #X obj 206 223 pointer; #X msg 206 199 traverse pd-test \, bang; #X msg 52 222 50 50 -20 -40 -60 8; #X obj 73 52 struct u-curve-arrow float x float y float z float z2 float z3 float h; #X obj 52 255 append u-curve-arrow x y z z2 z3 h; #X obj 69 124 drawpolygon 0 1 0 0 -3 -3 0 0 3 -3; #X obj 69 99 drawcurve 0 1 0 0 0 z h z2 h z3; #X connect 0 0 4 6; #X connect 1 0 0 0; #X connect 2 0 4 0; #X restore 104 270 pd u-curve-arrow; #N canvas 179 404 740 384 circle 0; #X obj 73 52 struct circle float x float y float color float h float h2; #X obj 73 76 filledcurve color 0 1 h 0 0 h h2 0 0 h2; #X obj 630 172 r this-ptr; #X obj 459 222 append circle x y color h h2; #X obj 454 158 unpack 0 0 0 0 0; #X obj 453 131 r add-circle; #X text 455 114 add-circle x y color h -h; #X connect 2 0 3 5; #X connect 4 0 3 0; #X connect 4 1 3 1; #X connect 4 2 3 2; #X connect 4 3 3 3; #X connect 4 4 3 4; #X connect 5 0 4 0; #X restore 24 290 pd circle; #N canvas 307 207 873 416 sine-array 0; #X msg 31 22 \; pd-fig clear; #X obj 178 159 until; #X obj 180 134 t b b; #X obj 190 204 f; #X msg 227 131 0; #X obj 264 204 + 1; #X obj 264 231 sel 50; #X obj 48 257 print; #X obj 188 243 t f f; #X obj 188 293 pack; #X msg 184 323 \; y-plot-point \$1 \$2 \;; #X msg 20 73 \; start pd-fig \; add-d-arrow 70 40 40; #X obj 210 271 expr 5 * sin($f1*2*3.14/8); #X obj 173 22 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 202 72 \; start pd-fig \; add-y-plot 50 35 60 1; #X obj 178 49 t b b; #X text 228 368 5 cycles; #X obj 429 191 until; #X obj 429 164 t b b; #X obj 429 223 f; #X msg 489 176 0; #X obj 482 210 + 1; #X obj 428 247 t f f; #X obj 428 297 pack; #X msg 428 320 \; y-plot-point \$1 \$2 \;; #X obj 424 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 429 90 t b b; #X text 466 358 1 cycle; #X obj 662 184 until; #X obj 662 157 t b b; #X obj 662 216 f; #X msg 722 169 0; #X obj 715 203 + 1; #X obj 661 240 t f f; #X obj 661 290 pack; #X msg 661 313 \; y-plot-point \$1 \$2 \;; #X obj 657 34 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 656 54 t b b; #X text 699 351 n cycles; #X floatatom 741 26 5 0 0 0 - - -; #X msg 686 106 \; start pd-fig \; add-y-plot \$1 35 60 1; #X obj 743 66 + 1; #X obj 741 44 * 8; #X obj 683 268 expr 5 * sin($f1*2*3.14/8); #X obj 686 78 f 16; #X obj 715 230 sel 16; #X obj 482 237 sel 9; #X msg 453 113 \; start pd-fig \; add-y-plot 9 35 60 1; #X obj 450 275 expr 5 * sin($f1*2*3.14/8); #X connect 1 0 3 0; #X connect 2 0 1 0; #X connect 2 1 4 0; #X connect 3 0 5 0; #X connect 3 0 8 0; #X connect 4 0 3 1; #X connect 5 0 6 0; #X connect 5 0 3 1; #X connect 6 0 1 1; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 13 0 15 0; #X connect 15 0 2 0; #X connect 15 1 14 0; #X connect 17 0 19 0; #X connect 18 0 17 0; #X connect 18 1 20 0; #X connect 19 0 21 0; #X connect 19 0 22 0; #X connect 20 0 19 1; #X connect 21 0 19 1; #X connect 21 0 46 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 25 0 26 0; #X connect 26 0 18 0; #X connect 26 1 47 0; #X connect 28 0 30 0; #X connect 29 0 28 0; #X connect 29 1 31 0; #X connect 30 0 32 0; #X connect 30 0 33 0; #X connect 31 0 30 1; #X connect 32 0 30 1; #X connect 32 0 45 0; #X connect 33 0 34 0; #X connect 34 0 35 0; #X connect 36 0 37 0; #X connect 37 0 29 0; #X connect 37 1 44 0; #X connect 39 0 42 0; #X connect 41 0 44 1; #X connect 41 0 45 1; #X connect 42 0 41 0; #X connect 44 0 40 0; #X connect 45 0 28 1; #X connect 46 0 17 1; #X restore 252 150 pd sine-array; #N canvas 364 415 544 370 d-curve-arrow 0; #X obj 206 223 pointer; #X msg 206 199 traverse pd-test \, bang; #X obj 69 99 drawcurve 0 1 0 0 0 z h z2 h z3; #X obj 73 52 struct d-curve-arrow float x float y float z float z2 float z3 float h; #X obj 69 124 drawpolygon 0 1 0 0 -3 3 0 0 3 3; #X msg 52 222 50 50 20 40 60 8; #X obj 52 255 append d-curve-arrow x y z z2 z3 h; #X connect 0 0 6 6; #X connect 1 0 0 0; #X connect 5 0 6 0; #X restore 103 250 pd d-curve-arrow; #N canvas 525 139 450 300 tmp 0; #X scalar frame 23 30 80 60 \;; #X scalar rect 32 60 1 -16.6675 \;; #X scalar rect 35 60 1 -17.2679 \;; #X scalar rect 38 60 1 -18.8787 \;; #X scalar rect 41 60 1 -20.9717 \;; #X scalar rect 44 60 1 -22.8003 \;; #X scalar rect 47 60 1 -23.5696 \;; #X scalar rect 50 60 1 -22.6193 \;; #X scalar rect 53 60 1 -19.5797 \;; #X scalar rect 56 60 1 -14.4666 \;; #X scalar rect 59 60 1 -7.69379 \;; #X scalar rect 62 60 1 -6.33764e-05 \;; #X scalar rect 65 60 1 7.69367 \;; #X scalar rect 68 60 1 14.4665 \;; #X scalar rect 71 60 1 19.5796 \;; #X scalar rect 74 60 1 22.6193 \;; #X scalar rect 77 60 1 23.5696 \;; #X scalar rect 80 60 1 22.8003 \;; #X scalar rect 83 60 1 20.9717 \;; #X scalar rect 86 60 1 18.8787 \;; #X scalar rect 89 60 1 17.2679 \;; #X scalar rect 92 60 1 16.6675 \;; #X coords 0 300 1 299 0 0 0; #X restore 125 61 pd tmp; #N canvas 533 82 746 462 xy-curve 0; #X obj 207 173 r this-ptr; #X obj 90 274 s this-ptr; #X obj 90 220 t p p; #X obj 462 226 r this-ptr; #X obj 332 225 swap; #X obj 94 133 unpack 0 0 0 0; #X floatatom 23 215 5 0 0 0 - - -; #X obj 332 203 unpack 0 0 0; #X obj 329 294 set xy-point x y; #X text 345 157 xy-plot-point n x y; #X obj 23 49 plot curve z 0 1 0 0 w; #X obj 24 20 struct xy-curve float x float y float w array z xy-point ; #X obj 98 108 r add-xy-curve; #X obj 411 256 element xy-curve z; #X text 94 89 add-xy-curve size x y w; #X obj 332 179 r xy-curve-point; #X obj 60 245 setsize xy-curve z; #X obj 99 197 append xy-curve x y w; #N canvas 372 64 758 418 arcs 0; #X obj 65 147 unpack; #X obj 13 184 until; #X obj 74 212 f; #X obj 105 213 + 1; #X msg 136 165 0; #X msg 207 195 0; #X obj 49 238 sel; #X obj 89 239 t f f; #X obj 57 113 t b l l; #X obj 28 298 pack 0 0 0; #X msg 29 327 \; xy-curve-point \$1 \$2 \$3; #X obj 94 269 expr $f2 * (cos(2*3.14159/40*$f1) - 1); #X obj 106 299 expr $f2 * sin(2*3.14159/40*$f1); #X text 47 58 make an arc: npoints \, radius; #X msg 57 90 6 30; #X obj 375 186 until; #X obj 436 214 f; #X obj 467 215 + 1; #X msg 569 197 0; #X obj 411 240 sel; #X obj 451 241 t f f; #X obj 419 115 t b l l; #X obj 393 319 pack 0 0 0; #X msg 394 348 \; xy-curve-point \$1 \$2 \$3; #X obj 459 290 expr $f2 * (cos(2*3.14159/40*$f1) - 1); #X obj 471 320 expr $f2 * sin(2*3.14159/40*$f1); #X text 483 83 make an arc from nonzero angle; #X obj 427 149 unpack 0 0 0; #X msg 537 159 0; #X msg 507 236 \$3; #X obj 477 261 +; #X msg 353 72 21 120 -10; #X msg 520 27 5 80 18; #X msg 519 55 5 80 -2; #X msg 583 22 5 40 18; #X msg 582 50 5 40 -2; #X text 316 17 npoints \, radius \, onset; #X msg 533 109 \; start pd-z \; add-xy-curve \$1 320 140 1; #X msg 138 105 \; start pd-z \; add-xy-curve \$1 120 40 1; #X obj 378 49 r add-arc; #X connect 0 0 6 1; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 6 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 6 0 1 1; #X connect 6 1 7 0; #X connect 7 0 9 0; #X connect 8 0 1 0; #X connect 8 1 0 0; #X connect 8 2 4 0; #X connect 8 2 38 0; #X connect 9 0 10 0; #X connect 14 0 8 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 16 0 19 0; #X connect 17 0 16 1; #X connect 19 0 15 1; #X connect 19 1 20 0; #X connect 20 0 22 0; #X connect 20 1 30 0; #X connect 21 0 15 0; #X connect 21 1 27 0; #X connect 21 2 28 0; #X connect 21 2 37 0; #X connect 21 2 29 0; #X connect 22 0 23 0; #X connect 24 0 22 1; #X connect 25 0 22 2; #X connect 27 0 19 1; #X connect 27 1 24 1; #X connect 27 1 25 1; #X connect 28 0 16 1; #X connect 29 0 30 1; #X connect 30 0 24 0; #X connect 30 0 25 0; #X connect 31 0 21 0; #X connect 32 0 21 0; #X connect 33 0 21 0; #X connect 34 0 21 0; #X connect 35 0 21 0; #X connect 39 0 21 0; #X restore 36 350 pd arcs; #N canvas 0 0 308 499 greek-letters 0; #X text 45 12 alpha; #X msg 34 31 \; add-xy-curve 5 40 40 1 \; xy-curve-point 0 0 -14 \; xy-curve-point 1 0 -14 \; xy-curve-point 2 -9 0 \; xy-curve-point 3 -9 -18 \; xy-curve-point 4 0 -4 \;; #X msg 37 154 \; add-xy-curve 7 40 40 1 \; xy-curve-point 0 0 0 \; xy-curve-point 1 2 10 \; xy-curve-point 2 4 20 \; xy-curve-point 3 13 18 \; xy-curve-point 4 2 12 \; xy-curve-point 5 11 10 \; xy-curve-point 6 0 4 \;; #X text 37 138 beta; #X text 39 288 omega; #X msg 39 303 \; add-xy-curve 8 60 40 1 \; xy-curve-point 0 0 0 \; xy-curve-point 1 -5 -15 \; xy-curve-point 2 0 -20 \; xy-curve-point 3 20 -20 \; xy-curve-point 4 20 -5 \; xy-curve-point 5 20 -20 \; xy-curve-point 6 40 -15 \; xy-curve-point 7 35 0 \;; #X restore 52 388 pd greek-letters; #X text 467 14 alpha; #X msg 456 33 \; add-xy-curve 5 40 40 1 \; xy-curve-point 0 0 -14 \; xy-curve-point 1 0 -14 \; xy-curve-point 2 -9 0 \; xy-curve-point 3 -9 -18 \; xy-curve-point 4 0 -4 \;; #X connect 0 0 17 3; #X connect 2 0 1 0; #X connect 2 1 16 1; #X connect 3 0 13 1; #X connect 4 0 8 0; #X connect 4 1 13 0; #X connect 5 0 16 0; #X connect 5 1 17 0; #X connect 5 2 17 1; #X connect 5 3 17 2; #X connect 6 0 16 0; #X connect 7 0 4 0; #X connect 7 1 4 1; #X connect 7 2 8 1; #X connect 12 0 5 0; #X connect 13 0 8 2; #X connect 15 0 7 0; #X connect 17 0 2 0; #X restore 23 188 pd xy-curve; #N canvas 86 22 450 300 icons 0; #X scalar frame 240 141 80 60 \;; #X scalar rect 247 171 1 25 \;; #X scalar rect 250 171 1 22.4615 \;; #X scalar rect 253 171 1 15.3616 \;; #X scalar rect 256 171 1 5.14204 \;; #X scalar rect 259 171 1 -6.12175 \;; #X scalar rect 262 171 1 -16.1423 \;; #X scalar rect 265 171 1 -22.8848 \;; #X scalar rect 268 171 1 -24.9798 \;; #X scalar rect 271 171 1 -22.0019 \;; #X scalar rect 274 171 1 -14.556 \;; #X scalar rect 277 171 1 -4.15401 \;; #X scalar rect 280 171 1 7.09156 \;; #X scalar rect 283 171 1 16.897 \;; #X scalar rect 286 171 1 23.271 \;; #X scalar rect 289 171 1 24.9191 \;; #X scalar rect 292 171 1 21.5068 \;; #X scalar rect 295 171 1 13.7268 \;; #X scalar rect 298 171 1 3.15926 \;; #X scalar rect 301 171 1 -8.04988 \;; #X scalar rect 304 171 1 -17.6243 \;; #X scalar rect 307 171 1 -23.6195 \;; #X scalar rect 310 171 1 -24.8182 \;; #X scalar frame 25 140 80 60 \;; #X scalar rect 34 170 1 25 \;; #X scalar rect 37 170 1 23.7764 \;; #X scalar rect 40 170 1 20.2254 \;; #X scalar rect 43 170 1 14.6946 \;; #X scalar rect 46 170 1 7.72545 \;; #X scalar rect 49 170 1 3.16898e-05 \;; #X scalar rect 52 170 1 -7.72539 \;; #X scalar rect 55 170 1 -14.6946 \;; #X scalar rect 58 170 1 -20.2254 \;; #X scalar rect 61 170 1 -23.7764 \;; #X scalar rect 64 170 1 -25 \;; #X scalar rect 67 170 1 -23.7764 \;; #X scalar rect 70 170 1 -20.2255 \;; #X scalar rect 73 170 1 -14.6947 \;; #X scalar rect 76 170 1 -7.72551 \;; #X scalar rect 79 170 1 -9.50693e-05 \;; #X scalar rect 82 170 1 7.72533 \;; #X scalar rect 85 170 1 14.6945 \;; #X scalar rect 88 170 1 20.2254 \;; #X scalar rect 91 170 1 23.7764 \;; #X scalar rect 94 170 1 25 \;; #X scalar frame 126 141 80 60 \;; #X scalar rect 135 171 1 0 \;; #X scalar rect 138 171 1 7.72542 \;; #X scalar rect 141 171 1 14.6946 \;; #X scalar rect 144 171 1 20.2254 \;; #X scalar rect 147 171 1 23.7764 \;; #X scalar rect 150 171 1 25 \;; #X scalar rect 153 171 1 23.7764 \;; #X scalar rect 156 171 1 20.2255 \;; #X scalar rect 159 171 1 14.6947 \;; #X scalar rect 162 171 1 7.72548 \;; #X scalar rect 165 171 1 6.33795e-05 \;; #X scalar rect 168 171 1 -7.72536 \;; #X scalar rect 171 171 1 -14.6946 \;; #X scalar rect 174 171 1 -20.2254 \;; #X scalar rect 177 171 1 -23.7764 \;; #X scalar rect 180 171 1 -25 \;; #X scalar rect 183 171 1 -23.7764 \;; #X scalar rect 186 171 1 -20.2255 \;; #X scalar rect 189 171 1 -14.6947 \;; #X scalar rect 192 171 1 -7.72554 \;; #X scalar rect 195 171 1 -0.000126759 \;; #X scalar frame 132 231 35 19 \;; #X text 136 54 WRAP; #X scalar frame 247 224 60 60 \;; #X scalar y-plot 252 254 1 \; 0 \; 6.21416 \; 12.0383 \; 17.1067 \; 21.1014 \; 23.7715 \; 24.9495 \; 24.5613 \; 22.6315 \; 19.2811 \; 14.7204 \; 9.23568 \; 3.17125 \; -3.09224 \; -9.16164 \; -14.656 \; -19.2303 \; -22.5976 \; -24.5464 \; -24.9544 \; -23.796 \; -21.144 \; -17.1647 \; -12.108 \; -6.29126 \; -0.0796273 \; 6.137 \; 11.9684 \; 17.0486 \; 21.0586 \; 23.7467 \; 24.9443 \; 24.5761 \; 22.6652 \; 19.3317 \; 14.7847 \; 9.30962 \; 3.25022 \; -3.01323 \; -9.08751 \; -14.5914 \; -19.1793 \; -22.5634 \; -24.5312 \; -24.9591 \; -23.8203 \; -21.1863 \; -17.2225 \; -12.1776 \; -6.36831 \; \;; #X scalar frame 318 223 60 60 \;; #X scalar y-plot 323 228 1 \; 0 \; 2.25 \; 4.5 \; 6.75 \; 9 \; 11.25 \; 13.5 \; 15.75 \; 18 \; 20.25 \; 22.5 \; 24.75 \; 27 \; 29.25 \; 31.5 \; 33.75 \; 36 \; 38.25 \; 40.5 \; 42.75 \; 0 \; 2.25 \; 4.5 \; 6.75 \; 9 \; 11.25 \; 13.5 \; 15.75 \; 18 \; 20.25 \; 22.5 \; 24.75 \; 27 \; 29.25 \; 31.5 \; 33.75 \; 36 \; 38.25 \; 40.5 \; 42.75 \; 0 \; 2.25 \; 4.5 \; 6.75 \; 9 \; 11.25 \; 13.5 \; 15.75 \; 18 \; 20.25 \; \;; #X scalar frame 29 46 56 41 \;; #X scalar xy-plot 35 60 1 \; 1 -4 \; 10 20 \; 17 8 \; 33 8 \; 41 -4 \; \;; #X scalar xy-plot 98 9 1 \; 20 54.7302 \; 21 54.9497 \; 22 55.1742 \; 23 55.4056 \; 24 55.6456 \; 25 55.8964 \; 26 56.1604 \; 27 56.4404 \; 28 56.7396 \; 29 57.0619 \; 30 57.4114 \; 31 57.7933 \; 32 58.2133 \; 33 58.6784 \; 34 59.1965 \; 35 59.7771 \; 36 60.4315 \; 37 61.1726 \; 38 62.0162 \; 39 62.9805 \; 40 64.087 \; 41 65.3607 \; 42 66.8298 \; 43 68.5257 \; 44 70.4811 \; 45 72.7261 \; 46 75.2808 \; 47 78.1419 \; 48 81.2608 \; 49 84.5105 \; 50 87.6476 \; 51 90.2845 \; 52 91.9105 \; 53 92.0047 \; 54 90.2364 \; 55 86.6538 \; 56 81.7069 \; 57 76.0664 \; 58 70.3727 \; 59 65.0739 \; 60 60.3982 \; 61 56.4058 \; 62 53.0593 \; 63 50.2771 \; 64 47.9671 \; 65 46.0423 \; 66 44.4276 \; 67 43.061 \; 68 41.8925 \; 69 40.8826 \; 70 40 \; \;; #X scalar frame 113 44 60 60 \;; #X coords 0 300 1 299 0 0 0; #X restore 125 81 pd icons; #N canvas 489 404 643 316 seg 0; #X obj 171 204 pointer; #X obj 46 252 append rect x y w h; #X msg 46 219 50 50 50 2; #X obj 502 209 r this-ptr; #X obj 347 257 s this-ptr; #X obj 68 76 struct seg float x float y float dx float dy float w; #X obj 69 99 drawpolygon 0 w 0 0 dx dy; #X obj 347 203 r add-seg; #X msg 499 93 \; start pd-test; #X msg 416 139 \; add-seg 100 100 20 50 1; #X obj 346 232 append seg x y dx dy w; #X connect 0 0 1 4; #X connect 2 0 1 0; #X connect 3 0 10 5; #X connect 7 0 10 0; #X connect 10 0 4 0; #X restore 23 105 pd seg; #N canvas 370 503 514 307 circle2 0; #X obj 41 22 struct circle2 float x float y float h float h2 float mh float mh2; #X obj 52 255 append circle2 x y h h2 mh mh2; #X obj 15 81 filledcurve 999 0 1 h 0 h2 h2 0 h mh2 h2 mh 0 mh2 mh2 0 mh h2 mh2; #X msg 52 197 50 50 50 35 -50 -35; #X msg 35 167 70 70 70 50 -70 -50; #X obj 60 226 r add-circle2; #X obj 257 231 r this-ptr; #X msg 347 253 \; start pd-test; #X msg 222 150 \; add-circle2 100 100 70 50 -70 -50; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 6; #X restore 22 309 pd circle2; #N canvas 581 274 544 370 l-curve-arrow 0; #X obj 212 197 pointer; #X msg 212 173 traverse pd-test \, bang; #X obj 68 101 drawcurve 0 1 0 0 z 0 z2 h z3 h; #X obj 73 52 struct l-curve-arrow float x float y float z float z2 float z3 float h; #X obj 52 255 append l-curve-arrow x y z z2 z3 h; #X obj 69 124 drawpolygon 0 1 0 0 3 3 0 0 3 -3; #X msg 52 222 50 50 20 40 60 8; #X connect 0 0 4 6; #X connect 1 0 0 0; #X connect 6 0 4 0; #X restore 102 210 pd l-curve-arrow; #N canvas 449 300 724 410 filter-icon 0; #X obj 14 163 until; #X obj 77 155 f; #X obj 123 156 + 1; #X obj 14 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 15 83 t b b; #X msg 93 132 0; #X obj 82 212 sel 1; #X obj 6 327 pack 0 0 0; #X msg 17 6 \; pd-xxx clear \; start pd-xxx; #X obj 23 251 t f f f f; #X obj 142 306 + 40; #X obj 142 282 * 10; #X msg 194 12 \; add-haxis 10 40 230 227 \; add-u-arrow 20 140 -100 ; #X obj 6 353 s xy-plot-point; #X obj 81 184 >= 50; #X msg 69 84 \; add-xy-plot 51 0 0 1; #X msg 427 12 \; add-r-arrow 130 40 -110 \; add-u-arrow 20 110 -70 ; #X obj 29 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 13 136 t b b; #N canvas 0 0 639 383 bandpass 0; #X obj 104 122 t f f; #X obj 104 176 expr 1 - 0.8*cos($f1); #N canvas 36 439 489 411 reciprocal 0; #X obj 45 57 inlet; #X obj 146 54 inlet; #X obj 80 257 * -1; #X obj 41 105 t f b f; #X obj 80 161 f; #X obj 43 345 outlet; #X obj 79 313 outlet; #X obj 43 229 *; #X obj 80 230 *; #X obj 156 158 expr 1/($f1*$f1 + $f2*$f2); #X connect 0 0 3 0; #X connect 1 0 4 1; #X connect 1 0 9 1; #X connect 2 0 6 0; #X connect 3 0 7 0; #X connect 3 1 4 0; #X connect 3 2 9 0; #X connect 4 0 8 0; #X connect 7 0 5 0; #X connect 8 0 2 0; #X connect 9 0 7 1; #X connect 9 0 8 1; #X restore 104 210 pd reciprocal; #X obj 144 147 expr -0.8*sin($f1); #X obj 107 85 - 0.5; #X obj 61 53 t f f; #X obj 58 291 *; #X obj 59 231 expr sin($f1/2)*sin((3.14159-$f1)/2)/sin(0.5/2)/sin((3.14159-0.5)/2) ; #X obj 61 23 inlet; #X obj 57 320 outlet; #X connect 0 0 1 0; #X connect 0 1 3 0; #X connect 1 0 2 0; #X connect 2 0 6 1; #X connect 3 0 2 1; #X connect 4 0 0 0; #X connect 5 0 7 0; #X connect 5 1 4 0; #X connect 6 0 9 0; #X connect 7 0 6 0; #X connect 8 0 5 0; #X restore 142 256 pd bandpass; #X obj 142 234 expr (50-$f1)*3.14159/100; #X obj 27 289 expr $f1*1+20; #X obj 359 172 until; #X obj 422 164 f; #X obj 468 165 + 1; #X obj 359 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 360 92 t b b; #X msg 438 141 0; #X obj 427 221 sel 1; #X obj 351 336 pack 0 0 0; #X obj 368 260 t f f f f; #X obj 487 315 + 40; #X obj 487 291 * 10; #X obj 351 362 s xy-plot-point; #X obj 426 193 >= 50; #X msg 414 93 \; add-xy-plot 51 0 0 1; #X obj 374 121 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 358 145 t b b; #X obj 372 298 expr $f1*1+20; #N canvas 294 467 639 383 lopass 0; #X obj 61 23 inlet; #X obj 57 320 outlet; #X obj 63 55 expr 0.2 * 1/((0.8 - cos($f1))*(0.8 - cos($f1)) + sin($f1) * sin($f1)); #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 487 265 pd lopass; #X obj 487 243 expr $f1*3.14159/100; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 9 0; #X connect 1 0 14 0; #X connect 2 0 1 1; #X connect 3 0 4 0; #X connect 4 0 18 0; #X connect 4 1 15 0; #X connect 5 0 1 1; #X connect 6 0 0 1; #X connect 7 0 13 0; #X connect 9 0 7 0; #X connect 9 1 21 0; #X connect 9 3 20 0; #X connect 10 0 7 2; #X connect 11 0 10 0; #X connect 14 0 6 0; #X connect 17 0 18 0; #X connect 18 0 0 0; #X connect 18 1 5 0; #X connect 19 0 11 0; #X connect 20 0 19 0; #X connect 21 0 7 1; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 23 0 30 0; #X connect 23 0 34 0; #X connect 24 0 23 1; #X connect 25 0 26 0; #X connect 26 0 37 0; #X connect 26 1 35 0; #X connect 27 0 23 1; #X connect 28 0 22 1; #X connect 29 0 33 0; #X connect 30 0 29 0; #X connect 30 1 38 0; #X connect 30 3 40 0; #X connect 31 0 29 2; #X connect 32 0 31 0; #X connect 34 0 28 0; #X connect 36 0 37 0; #X connect 37 0 22 0; #X connect 37 1 27 0; #X connect 38 0 29 1; #X connect 39 0 32 0; #X connect 40 0 39 0; #X restore 251 109 pd filter-icon; #N canvas 708 164 514 307 thickcircle 0; #X obj 243 227 pointer; #X msg 243 203 traverse pd-test \, bang; #X msg 45 165 50 50 999 20 -20; #X msg 62 199 60 50 999 3 -3; #X msg 77 225 70 50 0 3 -3; #X obj 52 255 append thickcircle x y color h h2; #X obj 59 44 struct thickcircle float x float y float color float h float h2; #X obj 69 91 filledcurve color 0 2 5 0 3 3 0 5 -3 3 -5 0 -3 -3 0 -5 3 -3; #X connect 0 0 5 5; #X connect 1 0 0 0; #X connect 2 0 5 0; #X connect 3 0 5 0; #X connect 4 0 5 0; #X restore 25 330 pd thickcircle; #N canvas 322 300 643 316 pole 0; #X obj 502 209 r this-ptr; #X obj 347 257 s this-ptr; #X obj 68 76 struct pole float x float y float x1 float x2; #X obj 347 203 r add-pole; #X obj 346 232 append pole x y x1 x2; #X msg 499 93 \; start pd-xxx; #X msg 416 139 \; add-pole 100 100 3 -3; #X obj 69 99 drawpolygon 0 2 x1 x1 x2 x2; #X obj 69 126 drawpolygon 0 2 x1 x2 x2 x1; #X connect 0 0 4 4; #X connect 3 0 4 0; #X connect 4 0 1 0; #X restore 143 324 pd pole; #N canvas 354 75 894 747 add-data 0; #X msg 129 16 \; start pd-z \;; #X msg 26 19 \; pd-z clear \; start pd-z; #X msg 224 52 \; add-h-seg 50 100 75 1 \;; #X msg 220 93 \; add-v-seg 50 100 30 1 \;; #X text 25 407 window function; #X obj 28 337 pack; #X msg 28 362 \; y-plot-point \$1 \$2 \;; #X obj 80 270 cos; #X msg 29 186 \; add-y-plot 26 50 100 1 \;; #X obj 28 222 scanner 25 6.283; #X obj 80 292 * -0.5; #X obj 80 312 + 0.5; #X obj 79 337 * 10; #X msg 217 189 \; add-xy-plot 301 50 100 1 \;; #X msg 215 410 \; xy-plot-point \$1 \$2 \$3 \;; #X obj 214 388 pack 0 0 0; #X obj 215 312 t f f; #X obj 245 339 +; #X obj 277 341 +; #X text 209 449 incoming complex waveform; #X obj 243 280 expr 20*cos($f1); #X obj 266 305 expr 20*sin($f1); #X obj 215 231 scanner 300 60; #X msg 23 453 \; add-rect 175 98 2 4 \;; #N canvas 648 361 571 414 vector 0; #X obj 119 116 r add-vector; #X msg 57 30 \; start pd-z; #X msg 198 31 \; add-vector 50 50 20 40 5; #X msg 224 131 \; add-xy-plot 5 \$1 \$2; #X obj 118 267 unpack 0 0 0 0 0; #X obj 119 143 t l l l l l l; #X obj 118 295 pack 0 0 0 0 0 0 0 0 0; #X msg 58 332 \; xy-plot-point 0 0 0 \, 1 \$3 \$4 \, 2 \$6 \$7 \, 3 \$3 \$4 \, 4 \$8 \$9; #X obj 187 173 expr $f4+0.707*$f5*($f3-$f4)/sqrt($f3*$f3+$f4*$f4); #X obj 170 197 expr $f3+0.707*$f5*(-$f3-$f4)/sqrt($f3*$f3+$f4*$f4) ; #X obj 153 219 expr $f4+0.707*$f5*(-$f3-$f4)/sqrt($f3*$f3+$f4*$f4) ; #X obj 136 243 expr $f3+0.707*$f5*(-$f3+$f4)/sqrt($f3*$f3+$f4*$f4) ; #X connect 0 0 5 0; #X connect 4 0 6 0; #X connect 4 1 6 1; #X connect 4 2 6 2; #X connect 4 3 6 3; #X connect 4 4 6 4; #X connect 5 0 4 0; #X connect 5 1 11 0; #X connect 5 2 10 0; #X connect 5 3 9 0; #X connect 5 4 8 0; #X connect 5 5 3 0; #X connect 6 0 7 0; #X connect 8 0 6 8; #X connect 9 0 6 7; #X connect 10 0 6 6; #X connect 11 0 6 5; #X restore 505 66 pd vector; #X msg 424 137 \; add-vector 50 50 20 40 5; #X msg 220 130 \; add-haxis 40 100 320 317; #X msg 447 366 \; add-seg 88 100 50 50 2 \;; #X connect 5 0 6 0; #X connect 7 0 10 0; #X connect 9 0 5 0; #X connect 9 1 7 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 12 0 5 1; #X connect 15 0 14 0; #X connect 16 0 15 0; #X connect 16 1 17 0; #X connect 17 0 15 1; #X connect 18 0 15 2; #X connect 20 0 18 0; #X connect 21 0 17 1; #X connect 21 0 18 1; #X connect 22 0 16 0; #X connect 22 1 20 0; #X connect 22 2 21 0; #X restore 129 109 pd add-data;