#N canvas 461 0 783 699 10;
#X obj 245 341 #greyscale_to_rgb;
#X obj 167 66 loadbang;
#X obj 107 85 fork;
#X obj 241 497 print;
#N canvas 23 304 369 368 mouse 0;
#X text 109 189 coordinates;
#X obj 56 189 outlet;
#X obj 57 164 listsublist 0 2;
#X obj 8 141 shunt 2;
#X text 56 9 #out's outlet 0;
#X obj 100 142 outlet;
#X obj 41 94 >> 8;
#X obj 41 115 != 0;
#X obj 16 31 route position;
#X text 154 143 is there a click?;
#X obj 19 8 inlet;
#X obj 16 55 fork;
#X obj 41 73 listelement 2;
#X connect 2 0 1 0;
#X connect 3 1 2 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 7 0 3 1;
#X connect 8 0 11 0;
#X connect 10 0 8 0;
#X connect 11 0 3 0;
#X connect 11 1 12 0;
#X connect 12 0 6 0;
#X restore 235 516 pd mouse click/drag;
#X obj 10 49 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1;
#N canvas 637 335 413 236 lighting 0;
#X obj 56 203 outlet;
#X obj 17 9 inlet;
#X text 91 65 produce red/cyan from horiz differences;
#X text 64 123 produce white/black from vertical differences;
#X obj 56 177 # +;
#X obj 108 10 #dim;
#X obj 140 10 #export_list;
#X obj 56 9 t a a;
#X obj 56 49 t a a;
#X msg 141 30 \$1 \$2;
#X obj 56 29 #redim ();
#X obj 86 82 #convolve (1 2 #) \, op ignore \, fold inv+;
#X obj 86 101 #outer & (-1 0 0);
#X obj 56 139 #convolve (2 1 #) \, op ignore \, fold inv+;
#X obj 56 158 #outer & (-1 -1 0);
#X connect 1 0 7 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 9 0;
#X connect 7 0 10 0;
#X connect 7 1 5 0;
#X connect 8 0 13 0;
#X connect 8 1 11 0;
#X connect 9 0 10 1;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 12 0 4 1;
#X connect 13 0 14 0;
#X connect 14 0 4 0;
#X restore 235 362 pd lighting;
#X obj 235 535 # / 2;
#X msg 107 104 \$1 \$2 1 # 0;
#N canvas 137 251 392 303 finger 0;
#X obj 149 39 #redim ( 4 2 );
#X obj 71 16 inlet;
#X obj 149 20 inlet;
#X obj 71 217 outlet;
#X obj 149 158 # +;
#X obj 177 157 # *;
#X msg 177 137 0 0 0 1 1 1 1 0;
#X obj 193 79 inlet size;
#X text 291 137 square or rect;
#X obj 177 112 #finished;
#X obj 70 195 #draw_polygon put ( 1000 );
#X connect 0 0 4 0;
#X connect 1 0 10 0;
#X connect 2 0 0 0;
#X connect 4 0 10 2;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 9 0;
#X connect 7 0 5 1;
#X connect 9 0 6 0;
#X connect 10 0 3 0;
#X restore 206 634 pd finger;
#X obj 141 85 s size;
#X obj 235 438 #scale_by 2;
#X obj 10 168 #store;
#N canvas 53 323 453 223 wave 0;
#X obj 26 20 inlet;
#X obj 28 182 outlet;
#X text 70 137 time differential;
#X text 81 50 space differential: (d/dx)^2 + (d/dy)^2;
#X text 71 8 Recurrence equation for propagation of oscillations;
#X obj 28 137 # -;
#X obj 54 102 # >> 4;
#X obj 28 158 # *>>8 242;
#X text 105 159 amortizing by ~5.5%;
#X obj 24 46 t a a;
#X obj 54 81 #convolve (3 3 # 1 4 1 4 0 4) \, seed 8;
#X connect 0 0 9 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 7 0 1 0;
#X connect 9 0 5 1;
#X connect 9 1 10 0;
#X connect 10 0 6 0;
#X restore 10 206 pd wave equation;
#X obj 162 634 t a;
#X obj 107 123 t a;
#X obj 245 317 # >> 1;
#X obj 36 85 s metro;
#X msg 107 66 240 320;
#X text 491 65 (Best complemented with a touchscreen);
#X obj 341 244 vradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -258699
-1 0;
#X text 359 259 height greys;
#X obj 294 205 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699
-1 0;
#X text 312 204 plain;
#X text 312 220 line-art;
#X text 309 153 smooth;
#X obj 292 153 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699
-1 0;
#X text 310 167 raw;
#X obj 417 503 hradio 18 1 1 4 empty empty _1__2__3__4_ 0 -4 0 8 -262144
-258699 -1 0;
#X text 415 482 scale by...;
#X obj 417 523 + 1;
#X obj 573 105 loadbang;
#X obj 573 276 spigot;
#X obj 620 277 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784
0 1;
#X obj 573 256 r metro;
#N canvas 242 284 365 231 line-art 0;
#X obj 32 123 # << 8;
#X obj 32 37 inlet;
#X obj 32 145 outlet;
#X text 146 31 double-thresholding;
#X text 146 114 else becomes 0;
#X obj 32 82 # min 1;
#X obj 32 103 # max -1;
#X obj 32 60 # / 3;
#X text 146 85 < -3 becomes -256;
#X text 146 100 > +3 becomes +256;
#X connect 0 0 2 0;
#X connect 1 0 7 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
#X connect 7 0 5 0;
#X restore 260 243 pd line-art;
#X text 628 129 Background colour;
#X text 637 277 enable video;
#X text 357 244 four-colour emboss;
#X obj 325 562 tgl 15 1 empty empty empty 0 -6 0 8 -241291 -1 -1 1
1;
#X obj 278 542 r metro;
#X text 342 561 rain;
#X obj 235 204 # >> 2;
#X text 388 36 Originally made for Alexandre Castonguay's "DIGITALE"
;
#X text 505 50 But suitable for a lot more uses :-);
#X msg 573 124 3 # 128;
#X obj 573 143 #color;
#X obj 235 223 shunt 2;
#X obj 235 166 shunt 2;
#X obj 349 618 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
-262131 -1 -1 2 256;
#X obj 349 632 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
-262131 -1 -1 2 256;
#X obj 235 400 # +;
#X obj 372 449 #store;
#X obj 396 381 shunt 2;
#X obj 452 376 vradio 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -258699
-1 0;
#X text 470 375 plain;
#X text 470 392 refraction;
#X obj 235 381 t a;
#N canvas 203 363 443 300 heightmap2indexmap 0;
#X obj 48 220 outlet;
#X obj 9 8 inlet;
#X obj 48 143 # +;
#X obj 100 9 #dim;
#X obj 132 9 #export_list;
#X obj 48 8 t a a;
#X obj 48 48 t a a;
#X msg 132 28 \$1 \$2;
#X obj 48 201 # +;
#X obj 90 181 loadbang;
#X obj 73 181 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 48 162 # >> 1;
#X obj 78 67 #convolve (1 2 #) \, op ignore \, fold inv+;
#X obj 78 86 #outer & (-1 0);
#X obj 48 105 #convolve (2 1 #) \, op ignore \, fold inv+;
#X obj 48 124 #outer & (0 -1);
#X obj 73 201 #for (0 0) (240 320) (1 1);
#X obj 48 28 #redim ();
#X connect 1 0 5 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 17 0;
#X connect 5 1 3 0;
#X connect 6 0 14 0;
#X connect 6 1 12 0;
#X connect 7 0 17 1;
#X connect 8 0 0 0;
#X connect 9 0 16 0;
#X connect 10 0 16 0;
#X connect 11 0 8 0;
#X connect 12 0 13 0;
#X connect 13 0 2 1;
#X connect 14 0 15 0;
#X connect 15 0 2 0;
#X connect 16 0 8 1;
#X connect 17 0 6 0;
#X restore 372 430 pd heightmap2indexmap;
#X obj -8 82 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1
;
#X obj 372 411 spigot;
#X text 359 274 no reflection;
#X obj 235 286 shunt 3;
#X obj 235 243 t a;
#X obj 293 317 # put 0;
#X obj 162 615 shunt 2;
#X obj 206 596 shunt 2;
#X obj 10 66 metro 33.3667;
#X obj 10 187 shunt 2;
#X text 80 188 freeze time;
#X obj 63 188 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
;
#X obj 132 123 r feedback;
#X obj 162 653 s feedback;
#X obj 10 226 t a;
#X obj -13 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj -15 671 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
0;
#X text -7 679 GridFlow 0.8.0;
#X text -7 679 GridFlow 0.8.0;
#X text 0 4 waves.pd;
#X obj 573 296 #camera;
#X obj 555 276 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
-1;
#X obj 573 315 spigot;
#X obj 620 316 tgl 15 0 empty empty empty 18 8 0 8 -241291 -1 -62784
0 1;
#X text 637 315 test camera output;
#X obj 10 85 t b;
#X obj 278 561 spigot;
#X obj 620 334 sel 0 1;
#X msg 642 353 open window;
#X obj 573 334 #out;
#X msg 620 372 close;
#X obj 241 478 fps detailed \, period 2;
#X obj 574 226 #in;
#X msg 574 207 load r001.jpg;
#X obj 324 580 r size;
#X obj 278 580 #store;
#X obj 278 599 # rand;
#X obj 235 457 #out window;
#X obj 235 419 #clip;
#X obj 235 185 #convolve (2 2 #) \, op ignore;
#X obj 349 651 #pack 2;
#X text 0 18 Copyright 2003 \, 2004 \, 2005 Mathieu Bouchard;
#X connect 0 0 57 0;
#X connect 1 0 18 0;
#X connect 2 0 8 0;
#X connect 2 1 10 0;
#X connect 4 0 7 0;
#X connect 4 1 66 0;
#X connect 5 0 67 0;
#X connect 6 0 57 0;
#X connect 7 0 9 1;
#X connect 8 0 15 0;
#X connect 9 0 14 0;
#X connect 11 0 96 0;
#X connect 12 0 68 0;
#X connect 13 0 73 0;
#X connect 14 0 72 0;
#X connect 15 0 12 1;
#X connect 15 0 48 0;
#X connect 16 0 0 0;
#X connect 18 0 2 0;
#X connect 20 0 62 1;
#X connect 22 0 47 1;
#X connect 26 0 48 1;
#X connect 28 0 30 0;
#X connect 30 0 7 1;
#X connect 30 0 11 1;
#X connect 31 0 45 0;
#X connect 32 0 79 0;
#X connect 33 0 32 1;
#X connect 34 0 32 0;
#X connect 35 0 63 0;
#X connect 39 0 65 1;
#X connect 39 0 66 1;
#X connect 39 0 85 1;
#X connect 40 0 85 0;
#X connect 42 0 47 0;
#X connect 45 0 46 0;
#X connect 46 0 53 0;
#X connect 47 0 63 0;
#X connect 47 1 35 0;
#X connect 48 0 98 0;
#X connect 48 1 47 0;
#X connect 49 0 99 0;
#X connect 50 0 99 1;
#X connect 51 0 97 0;
#X connect 52 0 51 1;
#X connect 53 0 51 1;
#X connect 53 1 52 1;
#X connect 54 0 53 1;
#X connect 54 0 60 1;
#X connect 57 0 51 0;
#X connect 58 0 52 0;
#X connect 59 0 84 0;
#X connect 60 0 58 0;
#X connect 62 0 6 0;
#X connect 62 1 16 0;
#X connect 62 2 64 0;
#X connect 63 0 62 0;
#X connect 63 0 60 0;
#X connect 64 0 0 0;
#X connect 65 0 14 0;
#X connect 65 1 9 0;
#X connect 66 0 65 1;
#X connect 67 0 84 0;
#X connect 68 0 13 0;
#X connect 68 1 73 0;
#X connect 70 0 68 1;
#X connect 71 0 15 0;
#X connect 73 0 65 0;
#X connect 79 0 53 0;
#X connect 79 0 81 0;
#X connect 80 0 79 0;
#X connect 81 0 88 0;
#X connect 82 0 81 1;
#X connect 82 0 86 0;
#X connect 84 0 17 0;
#X connect 84 0 12 0;
#X connect 85 0 94 0;
#X connect 86 0 89 0;
#X connect 86 1 87 0;
#X connect 87 0 88 0;
#X connect 89 0 88 0;
#X connect 90 0 3 0;
#X connect 91 0 53 1;
#X connect 92 0 91 0;
#X connect 93 0 94 1;
#X connect 94 0 95 0;
#X connect 95 0 9 1;
#X connect 96 0 4 0;
#X connect 96 0 90 0;
#X connect 97 0 11 0;
#X connect 98 0 42 0;
#X connect 99 0 9 2;