#N canvas 1032 185 625 385 10; #X obj 0 0 doc_demo; #X msg 268 235 1 d # \$1; #X msg 267 214 1024; #X obj 122 320 display; #X obj 36 136 metro 10; #X obj 36 157 t b b b; #X obj 34 188 realtime; #X obj 6 57 tgl 15 0 empty empty calculate 17 7 0 10 -257985 -1 -1 1 1; #X obj 104 181 max 3; #N canvas 0 0 598 695 \$0-colour 0; #X obj 15 26 inlet; #X obj 155 23 inlet; #X text 25 4 dZ; #X text 160 4 Z; #X obj 331 21 inlet; #X text 334 2 ER^2; #X obj 150 124 # log (d # 0); #X obj 15 158 # *; #X obj 15 113 # inv*; #X obj 15 49 t a a; #X obj 15 70 # *; #X obj 15 91 #fold + \, seed (d # 0); #X obj 15 134 # sqrt (d # 0); #X obj 8 475 #cast i; #X obj 119 576 #cast i; #X obj 7 515 #join -1; #X obj 7 585 #yuv_to_rgb; #X obj 151 420 # C.exp (2 d #); #X obj 150 169 # log (d # 0); #X obj 150 145 # /; #X obj 180 146 # log (d # 0); #X obj 150 190 # /; #X msg 243 170 1 d # 2; #X obj 243 190 # log (d # 0); #X obj 119 554 # + (d # 128); #X obj 7 605 # min 255; #X obj 7 626 # max 0; #X obj 7 494 #outer ignore (0); #X obj 309 231 # sq- (d # 0.5); #X obj 309 252 # * (d # -4); #X obj 309 273 # + (d # 1); #X obj 309 294 # sq- (d # 0); #X obj 155 80 # *; #X obj 155 101 #fold + \, seed (d # 0); #X obj 413 272 # sq- (d # 0); #X obj 155 59 t a a a; #X obj 295 400 # *; #X obj 9 453 # *; #X obj 293 338 # *; #X obj 398 338 # *; #X obj 11 371 # tanh (d #); #X obj 119 509 # *; #X obj 7 542 # min 255; #X obj 7 563 # max 0; #X obj 119 478 #outer ignore (2 d #); #X obj 309 315 # * (d # 0.25); #X obj 118 453 # *; #X obj 48 182 # / (d # 4); #X obj 16 182 # *; #X obj 295 423 # inv+ (d # 1); #X obj 294 379 # max (d # 0); #X obj 404 379 # max (d # 0); #X obj 152 374 # sqrt (d # 0); #X obj 151 398 #outer * (2 d # 0 1); #X obj 11 392 t a a; #X obj 119 530 # * (d # 64); #X obj 9 417 # * (d # 192); #X obj 399 357 # min (d # 0.71); #X obj 294 358 # min (d # 0.71); #X obj 149 222 # inv+ (1 d # 1); #X obj 389 20 loadbang; #X obj 16 308 t a a a; #X obj 263 21 inlet; #X text 256 3 1/pixel; #X obj 7 647 outlet; #X text 15 664 RGB; #X text 444 313 lattice squares; #X text 24 204 distance estimate; #X text 158 242 continuous dwell; #X text 168 457 chroma (UV); #X text 36 457 luma (Y); #X obj 207 19 inlet; #X text 220 1 N; #X obj 413 251 #fold inv* \, seed (d # 0.5); #X connect 0 0 9 0; #X connect 1 0 35 0; #X connect 4 0 20 0; #X connect 6 0 19 0; #X connect 6 0 7 1; #X connect 7 0 48 0; #X connect 8 0 12 0; #X connect 9 0 10 0; #X connect 9 1 10 1; #X connect 10 0 11 0; #X connect 11 0 8 0; #X connect 12 0 7 0; #X connect 13 0 27 0; #X connect 14 0 15 1; #X connect 15 0 42 0; #X connect 16 0 25 0; #X connect 17 0 41 1; #X connect 18 0 21 0; #X connect 19 0 18 0; #X connect 20 0 19 1; #X connect 21 0 28 0; #X connect 21 0 59 0; #X connect 22 0 23 0; #X connect 23 0 21 1; #X connect 24 0 14 0; #X connect 25 0 26 0; #X connect 26 0 64 0; #X connect 27 0 15 0; #X connect 28 0 29 0; #X connect 29 0 30 0; #X connect 30 0 31 0; #X connect 31 0 45 0; #X connect 32 0 33 0; #X connect 33 0 8 1; #X connect 33 0 6 0; #X connect 34 0 39 1; #X connect 35 0 32 0; #X connect 35 1 32 1; #X connect 35 2 73 0; #X connect 36 0 49 0; #X connect 37 0 13 0; #X connect 38 0 58 0; #X connect 39 0 57 0; #X connect 40 0 54 0; #X connect 41 0 55 0; #X connect 42 0 43 0; #X connect 43 0 16 0; #X connect 44 0 41 0; #X connect 45 0 38 1; #X connect 46 0 44 0; #X connect 47 0 48 1; #X connect 48 0 61 0; #X connect 49 0 46 1; #X connect 49 0 37 1; #X connect 50 0 36 0; #X connect 51 0 36 1; #X connect 52 0 53 0; #X connect 53 0 17 0; #X connect 54 0 56 0; #X connect 54 1 46 0; #X connect 55 0 24 0; #X connect 56 0 37 0; #X connect 57 0 51 0; #X connect 58 0 50 0; #X connect 59 0 52 0; #X connect 60 0 22 0; #X connect 61 0 40 0; #X connect 61 1 38 0; #X connect 61 2 39 0; #X connect 62 0 47 0; #X connect 71 0 59 1; #X connect 73 0 34 0; #X restore 204 264 pd \$0-colour; #N canvas 0 0 510 413 \$0-framing 0; #X obj 44 21 inlet; #X obj 118 24 inlet; #X obj 253 22 inlet; #X obj 203 23 inlet; #X obj 115 347 outlet; #X text 128 366 C; #X obj 230 345 outlet; #X text 240 366 Z; #X obj 171 346 outlet; #X text 181 364 dZ; #X obj 66 348 outlet; #X text 68 368 JI; #X obj 382 340 outlet; #X text 383 359 1/pixel; #X obj 44 70 #for (0 0) (32 32); #X text 250 4 center; #X text 204 4 radius; #X text 106 4 image size; #X text 52 2 go; #X obj 118 44 pack f f; #X obj 43 157 # - (16 16); #X obj 44 204 #cast d; #X obj 44 225 # / (d # 16); #X obj 44 246 # * (d # 2); #X obj 176 295 # put (d # 0); #X obj 44 118 #redim; #X obj 89 97 *; #X msg 89 118 \$1 2; #X obj 44 139 t a a; #X obj 176 316 t a a; #X obj 44 93 t a a; #X obj 44 288 t a a a; #X obj 44 312 #redim; #X obj 116 312 #dim; #X obj 14 345 outlet; #X text 23 366 C; #X text 86 378 initial iteration state; #X obj 119 152 # div 2; #X obj 138 115 # / (d # 2); #X obj 44 42 t b b; #X obj 172 223 #store (d # 16); #X obj 272 343 outlet; #X text 278 363 N; #X msg 274 304 0; #X obj 320 344 outlet; #X obj 319 321 list; #X obj 44 267 # + (2 d # 0); #X msg 138 94 1 d # \$2; #X text 293 93 TODO: "normal" orientation; #X obj 259 197 # inv* (d # 1); #X connect 0 0 39 0; #X connect 1 0 19 0; #X connect 2 0 46 1; #X connect 3 0 23 1; #X connect 3 0 49 0; #X connect 14 0 30 0; #X connect 19 0 14 1; #X connect 19 0 47 0; #X connect 19 0 26 0; #X connect 19 0 37 0; #X connect 19 0 45 1; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 23 0 46 0; #X connect 24 0 29 0; #X connect 25 0 28 0; #X connect 26 0 27 0; #X connect 27 0 25 1; #X connect 28 0 20 0; #X connect 28 1 10 0; #X connect 29 0 8 0; #X connect 29 1 6 0; #X connect 30 0 25 0; #X connect 30 1 33 0; #X connect 31 0 32 0; #X connect 31 1 4 0; #X connect 31 2 24 0; #X connect 32 0 34 0; #X connect 33 0 32 1; #X connect 37 0 20 1; #X connect 38 0 22 1; #X connect 39 0 14 0; #X connect 39 1 40 0; #X connect 39 1 43 0; #X connect 39 1 45 0; #X connect 40 0 12 0; #X connect 43 0 41 0; #X connect 45 0 44 0; #X connect 46 0 31 0; #X connect 47 0 38 0; #X connect 47 0 49 1; #X connect 49 0 40 1; #X restore 163 216 pd \$0-framing; #X msg 254 175 2 d # 0 0; #N canvas 0 0 534 409 \$0-iterate 0; #X obj 36 61 inlet; #X obj 130 60 inlet; #X obj 175 60 inlet; #X obj 262 60 inlet; #X obj 81 60 inlet; #X text 140 32 C; #X text 182 33 dZ; #X text 273 32 Z; #X text 97 32 JI; #X text 38 32 go; #X obj 233 154 #store; #X obj 233 207 # +; #X obj 29 118 #store; #X obj 388 209 # *; #X obj 388 232 #fold + \, seed (d # 0); #X obj 351 113 # inv+ 1; #X obj 232 227 t a a; #X obj 388 186 t a a; #X obj 232 184 # C.sq- (2 d # 0); #X obj 89 109 #store; #X obj 29 138 t a a; #X obj 95 188 # C.*; #X obj 95 229 # + (2 d # 1 0); #X obj 94 166 #store; #X obj 233 249 t a a; #X obj 95 249 t a a; #X obj 95 209 # * (d # 2); #X obj 388 255 # >=; #X obj 390 288 #cast i; #X obj 189 106 #compress2; #X obj 23 318 #compress2; #X obj 230 320 #compress2; #X obj 94 320 #compress2; #X obj 78 129 #compress2; #X obj 152 190 #compress2; #X obj 299 205 #compress2; #X obj 409 58 inlet; #X text 409 35 ER^2; #X obj 230 341 outlet; #X obj 94 341 outlet; #X obj 23 339 outlet; #X text 25 364 JI; #X obj 29 85 t b b b b b; #X obj 329 56 inlet; #X text 338 36 N; #X obj 333 243 f; #X obj 332 264 + 1; #X obj 322 347 outlet; #X text 324 371 N; #X msg 332 285 1 d # \$1; #X text 60 384 escaped pixels this iteration; #X text 425 256 escape test; #X text 149 136 unescaped pixels keep iterating; #X text 126 18 initial iteration state; #X text 110 268 dZ <- 2*Z*dZ+1; #X text 244 267 Z <- Z^2 + C; #X text 96 366 dZ; #X text 230 365 Z; #X connect 0 0 42 0; #X connect 1 0 19 1; #X connect 1 0 11 1; #X connect 2 0 23 1; #X connect 3 0 10 1; #X connect 4 0 12 1; #X connect 10 0 18 0; #X connect 10 0 21 1; #X connect 11 0 16 0; #X connect 12 0 20 0; #X connect 13 0 14 0; #X connect 14 0 27 0; #X connect 15 0 29 1; #X connect 15 0 33 1; #X connect 15 0 34 1; #X connect 15 0 35 1; #X connect 16 0 24 0; #X connect 16 1 17 0; #X connect 17 0 13 0; #X connect 17 1 13 1; #X connect 18 0 11 0; #X connect 19 0 29 0; #X connect 20 0 30 0; #X connect 20 1 33 0; #X connect 21 0 26 0; #X connect 22 0 25 0; #X connect 23 0 21 0; #X connect 24 0 31 0; #X connect 24 1 35 0; #X connect 25 0 32 0; #X connect 25 1 34 0; #X connect 26 0 22 0; #X connect 27 0 28 0; #X connect 28 0 15 0; #X connect 28 0 30 1; #X connect 28 0 31 1; #X connect 28 0 32 1; #X connect 29 0 11 1; #X connect 29 0 19 1; #X connect 30 0 40 0; #X connect 31 0 38 0; #X connect 32 0 39 0; #X connect 33 0 12 1; #X connect 34 0 23 1; #X connect 35 0 10 1; #X connect 36 0 27 1; #X connect 42 0 12 0; #X connect 42 1 19 0; #X connect 42 2 23 0; #X connect 42 3 10 0; #X connect 42 4 45 0; #X connect 43 0 45 1; #X connect 45 0 46 0; #X connect 46 0 45 1; #X connect 46 0 49 0; #X connect 49 0 47 0; #X restore 163 240 pd \$0-iterate; #N canvas 0 0 450 234 \$0-draw 0; #X obj 119 33 inlet; #X obj 163 34 inlet; #X obj 212 30 inlet; #X text 128 14 JI; #X text 170 12 RGB; #X text 203 11 size reset; #X obj 121 98 #to_list; #X obj 119 55 #join -1; #X obj 120 76 #import (5); #X msg 212 141 reassign \, \$1 \$2 3 # 255; #X obj 54 31 inlet; #X text 65 11 go; #X obj 54 52 bang; #X obj 54 171 #store (32 32 3 # 255); #X obj 54 192 outlet; #X msg 121 118 put_at \$1 \$2 0 \, \$3 \$4 \$5; #X connect 0 0 7 0; #X connect 1 0 7 1; #X connect 2 0 9 0; #X connect 6 0 15 0; #X connect 7 0 8 0; #X connect 8 0 6 0; #X connect 9 0 13 1; #X connect 10 0 12 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 15 0 13 1; #X restore 175 284 pd \$0-draw; #X msg 231 153 1 d # 4; #N canvas 0 0 450 300 \$0-interact 0; #X obj 21 26 inlet; #X obj 23 262 outlet; #X obj 290 260 outlet; #X obj 256 43 inlet; #X obj 363 235 metro 100; #X obj 363 206 loadbang; #X obj 423 207 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 83 26 inlet; #X obj 21 107 #store; #X obj 21 130 t a a; #X text 93 6 JI; #X text 254 22 image; #X obj 120 261 outlet; #X obj 21 151 #finished; #X obj 21 57 #mouse \, \, \, \, \, \, \, \, \, \,; #X obj 363 256 outlet; #X obj 187 158 v \$0-zoom; #X obj 21 172 t b b; #X obj 221 181 v \$0-zoom; #X msg 187 200 1 d # \$1; #X obj 188 220 # exp (d # 0); #X obj 187 179 - 1; #X obj 188 262 outlet; #X obj 188 241 # * (d # 2); #X obj 167 43 inlet; #X obj 167 64 bang; #X msg 167 85 0; #X text 188 126 left click zoom in; #X connect 0 0 14 0; #X connect 3 0 1 0; #X connect 4 0 15 0; #X connect 5 0 4 0; #X connect 6 0 4 0; #X connect 7 0 8 1; #X connect 8 0 9 0; #X connect 9 0 13 0; #X connect 9 1 2 0; #X connect 13 0 17 0; #X connect 14 0 8 0; #X connect 16 0 21 0; #X connect 17 0 12 0; #X connect 17 1 16 0; #X connect 19 0 20 0; #X connect 20 0 23 0; #X connect 21 0 18 0; #X connect 21 0 19 0; #X connect 23 0 22 0; #X connect 24 0 25 0; #X connect 25 0 26 0; #X connect 26 0 16 0; #X restore 58 256 pd \$0-interact; #X obj 35 215 #window Mandelbrot; #X obj 109 57 tgl 15 1 empty empty window 17 7 0 10 -257985 -1 -1 1 1; #X obj 121 342 display; #X obj 104 161 * 1.25; #X msg 203 129 288 512; #X obj 213 100 t b b b; #X obj 267 195 loadbang; #X obj 186 56 bng 15 250 50 1 empty empty home 17 7 0 10 -257985 -1 -1; #X obj 187 75 t b b; #X text 263 131 window size; #X text 290 154 zoom radius; #X text 321 174 zoom centre; #X text 303 215 escape radius^2; #X text 479 320 zoom centre; #X text 365 344 zoom radius; #X text 263 50 click in the image window to zoom in; #X text 0 25 Copyright 2011 Claude Heiland-Allen; #X connect 1 0 9 4; #X connect 1 0 12 6; #X connect 2 0 1 0; #X connect 4 0 5 0; #X connect 5 0 6 1; #X connect 5 1 12 0; #X connect 5 2 6 0; #X connect 6 0 19 0; #X connect 7 0 4 0; #X connect 8 0 4 1; #X connect 9 0 13 2; #X connect 10 0 15 1; #X connect 10 1 12 1; #X connect 10 2 12 2; #X connect 10 3 12 3; #X connect 10 4 12 4; #X connect 10 5 12 5; #X connect 10 6 13 3; #X connect 10 7 9 3; #X connect 11 0 10 3; #X connect 12 0 13 1; #X connect 12 1 9 0; #X connect 12 2 9 1; #X connect 12 3 9 2; #X connect 13 0 15 3; #X connect 14 0 10 2; #X connect 14 0 15 2; #X connect 15 0 16 0; #X connect 15 1 10 0; #X connect 15 2 10 2; #X connect 15 2 18 0; #X connect 15 3 10 3; #X connect 15 3 3 0; #X connect 15 4 13 0; #X connect 16 0 15 0; #X connect 17 0 16 1; #X connect 19 0 8 0; #X connect 20 0 10 1; #X connect 21 0 20 0; #X connect 21 1 14 0; #X connect 21 2 11 0; #X connect 22 0 2 0; #X connect 23 0 24 0; #X connect 24 0 10 0; #X connect 24 1 21 0;