#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;