Mercurial > hg > weather-synthesis-prototyping
view June/woosh_D3.pd @ 303:8b51c20529a6
Edgetone development models
author | Rod Selfridge <r.selfridge@qmul.ac.uk> |
---|---|
date | Sat, 11 Nov 2017 17:43:39 +0000 |
parents | 5c8267c02763 |
children |
line wrap: on
line source
#N canvas 111 28 1171 835 10; #X obj 541 -103 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; #X obj 604 -103 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; #X text 601 -194 Gain; #X obj 540 -220 loadbang; #N canvas 865 368 284 318 opLevels 0; #X obj 85 188 dac~; #X obj 30 70 catch~ l; #X obj 155 76 catch~ r; #X obj 155 106 *~ 0.45; #X obj 30 104 *~ 0.45; #X obj 30 210 prvu~; #X obj 155 213 prvu~; #X obj 100 69 / 127; #X obj 100 34 inlet; #X obj 30 239 outlet; #X obj 155 241 outlet; #X obj 155 30 r NoOfSources; #X obj 30 131 /~ 15; #X obj 155 132 /~ 15; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 13 0; #X connect 4 0 12 0; #X connect 5 0 9 0; #X connect 6 0 10 0; #X connect 7 0 3 1; #X connect 7 0 4 1; #X connect 8 0 7 0; #X connect 11 0 12 1; #X connect 11 0 13 1; #X connect 12 0 0 0; #X connect 12 0 5 0; #X connect 13 0 0 1; #X connect 13 0 6 0; #X restore 540 -146 pd opLevels; #X msg 540 -197 5; #N canvas 601 144 807 545 speedCalc 0; #X obj 59 -12 inlet; #X obj 135 -11 inlet; #X obj 217 -12 inlet; #X obj 317 -12 inlet; #X obj 59 11 s \$0_swLen; #X obj 135 11 s \$0_armLen; #X obj 317 10 s \$0_tipSpeed; #X obj 142 237 r \$0_tipSpeed; #X obj 211 437 outlet; #X obj 211 414 r \$0_minSpeed; #X obj 127 285 s \$0_minSpeed; #X obj 310 414 r \$0_deltaSpeed; #X obj 504 335 s \$0_deltaSpeed; #X obj 310 437 outlet; #X obj 212 104 r \$0_swLen; #X obj 127 216 /; #X floatatom 81 243 5 0 0 0 - - -; #X obj 227 127 r \$0_armLen; #X obj 212 194 +; #X obj 227 149 t f b; #X floatatom 212 216 5 0 0 0 - - -; #X obj 99 143 r \$0_armLen; #X obj 217 11 s \$0_sourceTot; #X obj 519 274 r \$0_sourceTot; #X obj 127 261 *; #X floatatom 85 285 5 0 0 0 - - -; #X obj 519 186 r \$0_minSpeed; #X obj 504 253 -; #X obj 504 163 r \$0_tipSpeed; #X obj 504 296 /; #X obj 519 207 t f b; #X floatatom 521 315 5 0 0 0 - - -; #X obj 546 230 delay 9; #X text 244 198 Length of blade and arm; #X obj 99 165 t f b; #X obj 126 189 delay 9; #X obj 254 173 delay 6; #X text -49 216 Ratio of arm to total length; #X text 69 308 Speed of blade at the hilt; #X text 387 247 Difference between; #X text 369 259 speed at tip and hilt; #X text 459 357 Difference in speed for each source; #X text 459 369 based on a linear scale; #X text 417 16 as well as the difference in speed of each source; #X text 431 2 Patch that calculates the minimum speed; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 2 0 22 0; #X connect 3 0 6 0; #X connect 7 0 24 1; #X connect 9 0 8 0; #X connect 11 0 13 0; #X connect 14 0 18 0; #X connect 15 0 16 0; #X connect 15 0 24 0; #X connect 17 0 19 0; #X connect 18 0 20 0; #X connect 18 0 15 1; #X connect 19 0 18 1; #X connect 19 1 36 0; #X connect 21 0 34 0; #X connect 23 0 29 1; #X connect 24 0 10 0; #X connect 24 0 25 0; #X connect 26 0 30 0; #X connect 27 0 29 0; #X connect 28 0 27 0; #X connect 29 0 31 0; #X connect 29 0 12 0; #X connect 30 0 27 1; #X connect 30 1 32 0; #X connect 32 0 27 0; #X connect 34 0 15 0; #X connect 34 1 35 0; #X connect 35 0 15 0; #X connect 36 0 18 0; #X restore 534 140 pd speedCalc; #X floatatom 443 164 8 0 0 0 - - -; #X floatatom 688 162 8 0 0 0 - - -; #X msg 14 -225 1; #X msg 13 -94 100; #X msg 12 -159 0.59; #X obj 534 45 r bladeLen; #X obj 557 68 r armLength; #X obj 580 92 r NoOfSources; #X obj 603 117 r topSpeed; #X obj 14 -202 s bladeLen; #X obj 12 -138 s armLength; #X obj 13 -71 s NoOfSources; #X obj 78 89 s topSpeed; #X obj 26 63 hsl 100 20 0 100 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X floatatom 23 89 8 0 0 0 - - -; #X text 47 -226 Blade Length; #X text 46 -160 Arm Length; #X text 41 -94 Number of Sources; #X text 134 67 Top Speed; #X obj 23 147 hsl 100 20 0 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X floatatom 20 179 8 0 0 0 - - -; #X obj 75 178 s sweepAngle; #X text 134 148 Sweep Angle; #X obj 370 -13 r sweepAngle; #X obj 277 -57 r bladeLen; #X obj 323 -34 r armLength; #X obj 508 164 s firstSpeed; #X obj 603 163 s deltaSpeed; #X floatatom 220 38 8 0 0 0 - - -; #X floatatom 458 36 8 0 0 0 - - -; #N canvas 833 342 426 335 thickCalc 0; #X obj 173 139 r NoOfSources; #X obj 23 16 inlet; #X obj 26 64 inlet; #X obj 26 86 s \$0_tipThick; #X obj 158 115 -; #X obj 158 164 /; #X obj 158 187 outlet; #X obj 23 39 s \$0_hiltThick; #X floatatom 126 147 5 0 0 0 - - -; #X obj 173 44 r \$0_tipThick; #X obj 158 19 r \$0_hiltThick; #X floatatom 94 189 8 0 0 0 - - -; #X obj 173 72 t f b; #X obj 200 95 delay 9; #X text 58 237 Calculates the difference in thickness between sources ; #X text 59 254 based on the blade tapering in a straight line; #X connect 0 0 5 1; #X connect 1 0 7 0; #X connect 2 0 3 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 5 0 11 0; #X connect 9 0 12 0; #X connect 10 0 4 0; #X connect 12 0 4 1; #X connect 12 1 13 0; #X connect 13 0 4 0; #X restore 372 -123 pd thickCalc; #X obj 372 -100 s deltaThick; #X floatatom 317 -99 8 0 0 0 - - -; #X obj 20 238 hsl 100 20 0 0.03 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj 19 323 hsl 100 20 0 0.01 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X floatatom 17 268 8 0 0 0 - - -; #X obj 71 267 s hiltThick; #X floatatom 16 351 8 0 0 0 - - -; #X obj 74 350 s tipThick; #X text 134 240 Hilt Thickness; #X text 126 324 Tip Thickness; #X obj 372 -168 r hiltThick; #X obj 441 -146 r tipThick; #X obj 214 -180 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X obj 214 -127 s GO; #X obj 775 -93 tenSource; #X obj 19 405 hsl 100 20 100 1 1 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj 15 490 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X floatatom 16 431 8 0 0 0 - - -; #X text 129 409 Distance to Observer; #X floatatom 12 518 8 0 0 0 - - -; #X text 137 484 Angle to Observer; #X obj 809 -129 r distance; #X obj 792 -150 r angle; #X obj 775 -191 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 214 -226 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 214 -207 metro 200; #X obj 268 -231 hsl 100 20 300 50 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj 154 -180 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985 -1 -1; #X obj 154 -127 s setUp; #X obj -30 37 r setUp; #X obj -38 127 r setUp; #X obj -34 215 r setUp; #X obj -35 303 r setUp; #X obj -36 384 r setUp; #X obj -39 468 r setUp; #X obj 775 -219 r setUp; #X obj 75 432 s obsDistance; #X obj 71 519 s obsAngle; #N canvas 427 69 911 675 circumferCalc 0; #X obj 266 13 inlet; #X floatatom 365 172 5 0 0 0 - - -; #X obj 80 13 inlet; #X obj 170 13 inlet; #X obj 247 146 +; #X obj 316 172 / 360; #X obj 247 171 * 3.14159; #X obj 247 219 *; #X obj 247 195 * 2; #X obj 80 36 s \$0_bladeLen; #X obj 170 36 s \$0_armLength; #X obj 266 36 s \$0_sweepAngle; #X obj 247 99 r \$0_bladeLen; #X obj 262 123 r \$0_armLength; #X obj 316 148 r \$0_sweepAngle; #X floatatom 734 192 5 0 0 0 - - -; #X obj 685 192 / 360; #X floatatom 628 168 5 0 0 0 - - -; #X obj 616 191 * 3.14159; #X obj 616 239 *; #X floatatom 560 267 8 0 0 0 - - -; #X obj 616 215 * 2; #X obj 616 143 r \$0_armLength; #X obj 685 168 r \$0_sweepAngle; #X obj 616 267 s \$0_minCirc; #X obj 265 459 r \$0_minCirc; #X obj 265 481 outlet; #X obj 262 279 r \$0_minCirc; #X floatatom 188 339 8 0 0 0 - - -; #X obj 247 305 -; #X obj 247 341 /; #X obj 277 317 r NoOfSources; #X floatatom 185 370 8 0 0 0 - - -; #X obj 247 367 s \$0_deltaCirc; #X obj 354 459 r \$0_deltaCirc; #X obj 354 481 outlet; #X obj 260 246 s maxCirc; #X obj 191 172 s length; #X text 122 176 Arc radius; #X text 318 195 % of circle; #X text 323 242 Circumference of arc of tip; #X text 692 210 % of circle; #X text 601 289 Circumference of arc of hilt; #X floatatom 187 243 8 0 0 0 - - -; #X text 199 390 Difference of circumference length for each source ; #X text 199 405 based on linear spacing between sources; #X connect 0 0 11 0; #X connect 2 0 9 0; #X connect 3 0 10 0; #X connect 4 0 6 0; #X connect 4 0 37 0; #X connect 5 0 7 1; #X connect 6 0 8 0; #X connect 7 0 29 0; #X connect 7 0 36 0; #X connect 7 0 43 0; #X connect 8 0 7 0; #X connect 12 0 4 0; #X connect 13 0 4 1; #X connect 14 0 5 0; #X connect 14 0 1 0; #X connect 16 0 19 1; #X connect 18 0 21 0; #X connect 19 0 20 0; #X connect 19 0 24 0; #X connect 21 0 19 0; #X connect 22 0 18 0; #X connect 22 0 17 0; #X connect 23 0 16 0; #X connect 23 0 15 0; #X connect 25 0 26 0; #X connect 27 0 29 1; #X connect 29 0 28 0; #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 34 0 35 0; #X restore 277 11 pd circumferCalc; #X obj 277 37 s circumMin; #X obj 370 36 s deltaCircum; #N canvas 361 106 954 607 angleCalc 0; #X obj -142 102 * 0.75; #X obj 231 187 * 0.25; #X obj -142 142 /; #X msg -157 248 1 \$1; #X obj -157 225 f; #X obj -157 274 line 0; #X obj -171 193 r GO; #X msg -113 248 0; #X obj -142 166 * 1000; #X obj 169 334 line 0; #X obj 169 207 delay \$1; #X obj 142 155 f; #X obj 142 112 r GO; #X obj 142 181 t f b; #X obj 169 283 i; #X msg 169 305 1 \$1; #X msg 214 305 0; #X obj 231 229 /; #X obj 231 251 * 1000; #X obj -157 352 *; #X obj -128 297 r sweepAngle; #X obj -154 405 hsl 100 25 0 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj -128 319 * -0.75; #X obj -157 376 +; #X obj -128 343 * -1; #X obj -127 191 s \$0_thisDe; #X obj 157 134 r \$0_thisDe; #X obj 169 372 *; #X obj 219 332 r sweepAngle; #X obj 172 396 hsl 100 25 -360 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj 214 283 r GO; #X obj -142 78 r maxCirc; #X obj 231 165 r maxCirc; #X obj -127 121 r topSpeed; #X obj 246 208 r topSpeed; #X obj -35 535 s currentAngle; #X obj -35 489 +; #X floatatom -35 514 8 0 0 0 - - -; #X obj -20 464 t f b; #X obj 474 202 delay \$1; #X obj 476 144 f; #X obj 476 118 r GO; #X obj 476 170 t f b; #X obj 512 50 r maxCirc; #X obj 527 72 r topSpeed; #X obj 512 96 /; #X obj 512 118 * 1000; #X obj 474 224 s end; #X obj -113 227 r end; #X obj -20 431 r end; #X obj 219 355 * -0.25; #X text -206 42 0.75 represents the ratio of swing that; #X text 106 71 0.25 represents the ratio of swing that; #X text 106 85 the sword is decelerating; #X text -115 146 Time taken for acceleration; #X text -52 188 Send as a delay; #X text 186 113 Recieve as a delay; #X text -226 173 Start swing; #X text -72 227 Reset angle; #X text -72 239 once swing complete; #X text -73 323 Start angle is; #X text -73 335 3/4 of total angle; #X text 452 243 Send bang message at the; #X text 453 255 end of the swing to reset; #X text 285 249 Time for last; #X text 287 260 1/4 of swing; #X text 245 294 Set to 0 at start; #X text -206 56 the sword is before 0 degrees; #X text -92 565 Output of complete swing \, split into 75% before 0 degrees and 25% past 0 degrees; #X text 276 354 Once delay from start to 0 degrees complete; #X text 276 366 count down from 0 to finish the total swing angle; #X text 98 9 Patch that calculates the angle between 0 degrees for the full length of the swing; #X connect 0 0 2 0; #X connect 1 0 17 0; #X connect 2 0 8 0; #X connect 3 0 5 0; #X connect 4 0 3 0; #X connect 5 0 19 0; #X connect 6 0 4 0; #X connect 7 0 5 0; #X connect 8 0 4 1; #X connect 8 0 25 0; #X connect 9 0 27 0; #X connect 10 0 14 0; #X connect 11 0 13 0; #X connect 12 0 11 0; #X connect 13 0 10 1; #X connect 13 1 10 0; #X connect 14 0 15 0; #X connect 15 0 9 0; #X connect 16 0 9 0; #X connect 17 0 18 0; #X connect 18 0 14 1; #X connect 19 0 23 0; #X connect 20 0 22 0; #X connect 21 0 36 0; #X connect 22 0 24 0; #X connect 22 0 19 1; #X connect 23 0 21 0; #X connect 24 0 23 1; #X connect 26 0 11 1; #X connect 27 0 29 0; #X connect 28 0 50 0; #X connect 29 0 38 0; #X connect 30 0 16 0; #X connect 31 0 0 0; #X connect 32 0 1 0; #X connect 33 0 2 1; #X connect 34 0 17 1; #X connect 36 0 37 0; #X connect 37 0 35 0; #X connect 38 0 36 1; #X connect 38 1 36 0; #X connect 39 0 47 0; #X connect 40 0 42 0; #X connect 41 0 40 0; #X connect 42 0 39 1; #X connect 42 1 39 0; #X connect 43 0 45 0; #X connect 44 0 45 1; #X connect 45 0 46 0; #X connect 46 0 40 1; #X connect 48 0 7 0; #X connect 49 0 38 0; #X connect 50 0 27 1; #X restore 431 -220 pd angleCalc; #X obj 543 -175 hsl 100 25 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 390 1; #X msg 775 -172 10; #X obj 14 -249 loadbang; #X obj 12 -180 loadbang; #X obj 13 -116 loadbang; #X obj 826 -113 r elev; #X msg 15 -22 0; #X obj 15 0 s elev; #X text 134 496 (Azimuth); #X obj 910 -81 tenSource; #X obj 944 -117 r distance; #X obj 927 -138 r angle; #X obj 910 -179 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 910 -207 r setUp; #X obj 961 -101 r elev; #X obj 774 72 tenSource; #X obj 808 36 r distance; #X obj 791 15 r angle; #X obj 774 -26 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 774 -54 r setUp; #X obj 825 52 r elev; #X obj 903 81 tenSource; #X obj 937 45 r distance; #X obj 920 24 r angle; #X obj 903 -17 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 903 -45 r setUp; #X obj 954 61 r elev; #X obj 771 223 tenSource; #X obj 805 187 r distance; #X obj 788 166 r angle; #X obj 771 125 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 771 97 r setUp; #X obj 822 203 r elev; #X obj 905 230 tenSource; #X obj 939 194 r distance; #X obj 922 173 r angle; #X obj 905 132 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 905 104 r setUp; #X obj 956 210 r elev; #X msg 905 151 5; #X msg 771 144 6; #X msg 903 2 7; #X msg 774 -7 8; #X msg 910 -160 9; #X obj 15 -45 loadbang; #X obj 437 545 s thisTS; #X obj 456 524 s thisSA; #X obj 476 502 s thisHT; #X obj 495 479 s thisTT; #X obj 515 458 s thisOD; #X obj 534 438 s thisOA; #X obj 554 416 s thisG; #X obj 23 37 r thisTS; #X obj 20 126 r thisSA; #X obj 17 215 r thisHT; #X obj 16 303 r thisTT; #X obj 16 384 r thisOD; #X obj 13 469 r thisOA; #X obj 488 -195 r thisG; #X obj 437 392 unpack f f f f f f f; #X msg 437 264 43 215 0.0085 0.0025 8 0 40; #X msg 446 287 20 160 0.01 0.004 4 0 127; #X obj 774 385 tenSource; #X obj 808 349 r distance; #X obj 791 328 r angle; #X obj 774 287 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 774 259 r setUp; #X obj 825 365 r elev; #X obj 903 394 tenSource; #X obj 937 358 r distance; #X obj 920 337 r angle; #X obj 903 296 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 903 268 r setUp; #X obj 954 374 r elev; #X obj 771 536 tenSource; #X obj 805 500 r distance; #X obj 788 479 r angle; #X obj 771 438 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 771 410 r setUp; #X obj 822 516 r elev; #X obj 905 543 tenSource; #X obj 939 507 r distance; #X obj 922 486 r angle; #X obj 905 445 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 905 417 r setUp; #X obj 956 523 r elev; #X msg 774 306 4; #X msg 903 315 3; #X msg 771 457 2; #X msg 905 464 1; #X msg 458 327 65 280 0.005 0.0025 20 60 20; #X obj -37 -45 r setUp; #X obj -40 -114 r setUp; #X obj -37 -182 r setUp; #X obj -38 -247 r setUp; #X connect 3 0 5 0; #X connect 4 0 0 0; #X connect 4 1 1 0; #X connect 5 0 80 0; #X connect 6 0 7 0; #X connect 6 0 33 0; #X connect 6 1 8 0; #X connect 6 1 34 0; #X connect 9 0 16 0; #X connect 10 0 18 0; #X connect 11 0 17 0; #X connect 12 0 6 0; #X connect 13 0 6 1; #X connect 14 0 6 2; #X connect 15 0 6 3; #X connect 20 0 19 0; #X connect 20 0 21 0; #X connect 26 0 27 0; #X connect 26 0 28 0; #X connect 30 0 76 2; #X connect 31 0 76 0; #X connect 32 0 76 1; #X connect 37 0 38 0; #X connect 37 0 39 0; #X connect 40 0 42 0; #X connect 40 0 43 0; #X connect 41 0 44 0; #X connect 41 0 45 0; #X connect 48 0 37 0; #X connect 49 0 37 1; #X connect 50 0 51 0; #X connect 53 0 55 0; #X connect 53 0 74 0; #X connect 54 0 57 0; #X connect 54 0 75 0; #X connect 59 0 52 2; #X connect 60 0 52 1; #X connect 61 0 81 0; #X connect 62 0 63 0; #X connect 63 0 50 0; #X connect 64 0 63 1; #X connect 65 0 66 0; #X connect 67 0 20 0; #X connect 68 0 26 0; #X connect 69 0 40 0; #X connect 70 0 41 0; #X connect 71 0 53 0; #X connect 72 0 54 0; #X connect 73 0 61 0; #X connect 76 0 35 0; #X connect 76 0 77 0; #X connect 76 1 36 0; #X connect 76 1 78 0; #X connect 80 0 4 0; #X connect 81 0 52 0; #X connect 82 0 9 0; #X connect 83 0 11 0; #X connect 84 0 10 0; #X connect 85 0 52 3; #X connect 86 0 87 0; #X connect 90 0 89 2; #X connect 91 0 89 1; #X connect 92 0 123 0; #X connect 93 0 92 0; #X connect 94 0 89 3; #X connect 96 0 95 2; #X connect 97 0 95 1; #X connect 98 0 122 0; #X connect 99 0 98 0; #X connect 100 0 95 3; #X connect 102 0 101 2; #X connect 103 0 101 1; #X connect 104 0 121 0; #X connect 105 0 104 0; #X connect 106 0 101 3; #X connect 108 0 107 2; #X connect 109 0 107 1; #X connect 110 0 120 0; #X connect 111 0 110 0; #X connect 112 0 107 3; #X connect 114 0 113 2; #X connect 115 0 113 1; #X connect 116 0 119 0; #X connect 117 0 116 0; #X connect 118 0 113 3; #X connect 119 0 113 0; #X connect 120 0 107 0; #X connect 121 0 101 0; #X connect 122 0 95 0; #X connect 123 0 89 0; #X connect 124 0 86 0; #X connect 132 0 20 0; #X connect 133 0 26 0; #X connect 134 0 40 0; #X connect 135 0 41 0; #X connect 136 0 53 0; #X connect 137 0 54 0; #X connect 138 0 80 0; #X connect 139 0 125 0; #X connect 139 1 126 0; #X connect 139 2 127 0; #X connect 139 3 128 0; #X connect 139 4 129 0; #X connect 139 5 130 0; #X connect 139 6 131 0; #X connect 140 0 139 0; #X connect 141 0 139 0; #X connect 143 0 142 2; #X connect 144 0 142 1; #X connect 145 0 166 0; #X connect 146 0 145 0; #X connect 147 0 142 3; #X connect 149 0 148 2; #X connect 150 0 148 1; #X connect 151 0 167 0; #X connect 152 0 151 0; #X connect 153 0 148 3; #X connect 155 0 154 2; #X connect 156 0 154 1; #X connect 157 0 168 0; #X connect 158 0 157 0; #X connect 159 0 154 3; #X connect 161 0 160 2; #X connect 162 0 160 1; #X connect 163 0 169 0; #X connect 164 0 163 0; #X connect 165 0 160 3; #X connect 166 0 142 0; #X connect 167 0 148 0; #X connect 168 0 154 0; #X connect 169 0 160 0; #X connect 170 0 139 0; #X connect 171 0 86 0; #X connect 172 0 10 0; #X connect 173 0 11 0; #X connect 174 0 9 0;