#N canvas 276 26 683 618 10; #X obj 78 419 #out window; #X obj 78 105 +; #X obj 47 326 # +; #X obj 47 370 shunt 2; #X obj 283 189 # sin* 256; #N canvas 609 247 325 236 distance 0; #X text 16 15 bang; #X text 15 149 distances to middle; #X obj 18 36 inlet; #X obj 18 93 #fold +; #X text 89 95 pythagoras' theorem; #X obj 18 131 outlet; #X obj 18 55 #for (-128 -128) (128 128) (1 1); #X obj 18 112 # sqrt; #X obj 18 74 # sq-; #X connect 2 0 6 0; #X connect 3 0 7 0; #X connect 6 0 8 0; #X connect 7 0 5 0; #X connect 8 0 3 0; #X restore 164 41 pd distance map; #X obj 78 440 fps detailed; #X obj 283 130 loadbang; #X obj 47 42 t a a; #X obj 168 278 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1; #X msg 78 86 1; #X obj 47 105 # -; #X obj 47 62 #store; #N canvas 604 543 420 225 apply 0; #X obj 60 48 #fold +; #X obj 12 190 outlet 0; #X obj 60 16 inlet; #X obj 12 124 # +; #X obj 12 167 # max 0; #X obj 12 146 # min 255; #X obj 12 16 inlet; #X obj 58 101 #outer *>>8; #X obj 130 69 inlet; #X obj 60 73 # << 2; #X connect 0 0 9 0; #X connect 2 0 0 0; #X connect 3 0 5 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X connect 6 0 3 0; #X connect 7 0 3 1; #X connect 8 0 7 1; #X connect 9 0 7 0; #X restore 78 400 pd apply shading; #X obj 47 -27 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 1 1 ; #X obj 47 348 #store; #X obj 47 25 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 164 130 # + 10; #X text 187 278 shading on/off; #X obj 47 240 shunt 2; #X floatatom 106 108 5 0 0 0 - - -; #X obj 47 195 # *>>8; #X obj 164 310 loadbang; #X obj 164 21 loadbang; #X obj 78 462 print; #X obj 164 149 # inv* 10000; #N canvas 392 110 431 233 angle 0; #X obj 21 133 #outer atan; #X text 81 154 angles to centre; #X text 22 13 bang; #X obj 21 32 inlet; #X obj 21 56 #for -128 128 1; #X obj 21 153 outlet 0; #X obj 21 90 #t; #X connect 0 0 5 0; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 6 0 0 0; #X connect 6 1 0 1; #X restore 283 151 pd angle map; #X obj 47 151 # *>>8; #X obj 46 218 # *>>8; #X obj 259 235 hsl 128 15 -256 256 0 1 empty empty empty -2 -6 0 8 -260818 -1 -1 12600 1; #X obj 259 252 hsl 128 15 -256 256 0 1 empty empty empty -2 -6 0 8 -260818 -1 -1 3200 1; #N canvas 637 537 387 220 compute 1; #X obj 8 113 #store; #X obj 55 113 # sin* 64; #X obj 55 71 #for 0 1024 1; #X obj 55 50 loadbang; #X obj 55 92 # * 900; #X obj 125 51 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 8 135 outlet; #X text 75 151 This is somewhat like [# sin]; #X text 75 166 but much faster (lookup table); #X obj 8 11 inlet; #X obj 8 30 #outer ignore (0); #X connect 0 0 6 0; #X connect 1 0 0 1; #X connect 2 0 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 2 0; #X connect 9 0 10 0; #X connect 10 0 0 0; #X restore 47 128 pd compute sine; #X text 232 358 background image; #X obj 165 375 #in teapot.png; #X obj 165 356 loadbang; #X text 215 219 intensity of wave; #X obj 47 4 metro 33.3667; #X text 246 5 waves.pd is more interesting; #X text 225 -9 this is a quite boring wave generator; #X text 95 61 table for distance map; #X floatatom 216 237 5 0 0 0 - - -; #X floatatom 216 253 5 0 0 0 - - -; #X obj 157 239 #pack 2; #X obj -13 -85 cnv 15 680 30 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 0 -72 Copyright 2002 Mathieu Bouchard; #X text 0 -85 ripple.pd; #X obj -15 501 cnv 15 680 30 empty empty empty 20 12 0 14 -200249 -66577 0; #X text -7 508 GridFlow 0.8.0; #X text -7 508 GridFlow 0.8.0; #X obj 326 429 #color; #X text 411 410 color of ripple shading; #X obj 164 329 #for (0 0) (256 256) (1 1); #X obj 283 170 #outer + (0 9000); #X obj 47 173 #outer ignore (0 0); #X obj 40 274 #t; #X obj 326 391 loadbang; #X msg 326 410 255 255 100; #X connect 0 0 6 0; #X connect 1 0 20 0; #X connect 1 0 11 1; #X connect 2 0 15 0; #X connect 3 0 13 0; #X connect 3 1 0 0; #X connect 4 0 21 1; #X connect 5 0 17 0; #X connect 5 0 12 1; #X connect 6 0 24 0; #X connect 7 0 26 0; #X connect 8 0 12 0; #X connect 8 1 10 0; #X connect 9 0 19 1; #X connect 9 0 3 1; #X connect 10 0 1 0; #X connect 11 0 31 0; #X connect 12 0 11 0; #X connect 13 0 0 0; #X connect 14 0 36 0; #X connect 15 0 3 0; #X connect 16 0 8 0; #X connect 17 0 25 0; #X connect 19 0 54 0; #X connect 19 1 2 0; #X connect 20 0 1 1; #X connect 21 0 28 0; #X connect 22 0 51 0; #X connect 23 0 5 0; #X connect 25 0 27 1; #X connect 26 0 52 0; #X connect 27 0 53 0; #X connect 28 0 19 0; #X connect 29 0 40 0; #X connect 30 0 41 0; #X connect 31 0 27 0; #X connect 33 0 15 1; #X connect 34 0 33 0; #X connect 36 0 16 0; #X connect 40 0 42 0; #X connect 41 0 42 1; #X connect 42 0 28 1; #X connect 49 0 13 2; #X connect 51 0 2 1; #X connect 52 0 4 0; #X connect 53 0 21 0; #X connect 54 0 2 0; #X connect 54 1 13 1; #X connect 55 0 56 0; #X connect 56 0 49 0;