annotate SwordSounds/Sword10_D2.pd @ 101:7f67b04e6c5d

Swordsounds: Distance between observer and source calculated working on angle - source relationship
author Rod Selfridge <r.selfridge@qmul.ac.uk>
date Sat, 25 Jul 2015 09:37:39 +0100
parents cb211bfa6029
children c64c81777e76
rev   line source
r@100 1 #N canvas 5 78 1418 816 10;
r@98 2 #X obj 571 -73 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
r@98 3 #X obj 634 -73 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
r@98 4 #X text 631 -164 Gain;
r@98 5 #X obj 570 -190 loadbang;
r@98 6 #N canvas 865 368 284 318 opLevels 0;
r@98 7 #X obj 85 188 dac~;
r@98 8 #X obj 30 70 catch~ l;
r@98 9 #X obj 155 76 catch~ r;
r@98 10 #X obj 155 106 *~ 0.45;
r@98 11 #X obj 30 104 *~ 0.45;
r@98 12 #X obj 30 210 prvu~;
r@98 13 #X obj 155 213 prvu~;
r@98 14 #X obj 100 69 / 127;
r@98 15 #X obj 100 34 inlet;
r@98 16 #X obj 30 239 outlet;
r@98 17 #X obj 155 241 outlet;
r@98 18 #X obj 155 132 /~ 1;
r@98 19 #X obj 30 131 /~ 1;
r@98 20 #X obj 204 29 inlet;
r@98 21 #X connect 1 0 4 0;
r@98 22 #X connect 2 0 3 0;
r@98 23 #X connect 3 0 11 0;
r@98 24 #X connect 4 0 12 0;
r@98 25 #X connect 5 0 9 0;
r@98 26 #X connect 6 0 10 0;
r@98 27 #X connect 7 0 3 1;
r@98 28 #X connect 7 0 4 1;
r@98 29 #X connect 8 0 7 0;
r@98 30 #X connect 11 0 0 1;
r@98 31 #X connect 11 0 6 0;
r@98 32 #X connect 12 0 0 0;
r@98 33 #X connect 12 0 5 0;
r@98 34 #X connect 13 0 12 1;
r@98 35 #X connect 13 0 11 1;
r@98 36 #X restore 570 -116 pd opLevels;
r@98 37 #X msg 570 -167 5;
r@98 38 #X msg 44 -195 1;
r@98 39 #X obj 44 -172 s bladeLen;
r@98 40 #X obj -158 -163 s NoOfSources;
r@100 41 #X obj 148 339 s topSpeed;
r@100 42 #X obj 96 313 hsl 100 20 0 100 0 0 empty empty empty -2 -8 0 10 -262144
r@100 43 -1 -1 157 1;
r@100 44 #X floatatom 93 339 8 0 0 0 - - -;
r@98 45 #X text 77 -196 Blade Length;
r@98 46 #X text 76 -130 Arm Length;
r@98 47 #X text -130 -186 Number of Sources;
r@100 48 #X text 204 317 Top Speed;
r@99 49 #X obj 840 -121 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10
r@101 50 -262144 -1 -1 7150 1;
r@98 51 #X floatatom 837 -89 8 0 0 0 - - -;
r@98 52 #N canvas 528 427 426 335 thickCalc 0;
r@98 53 #X obj 173 139 r NoOfSources;
r@98 54 #X obj 158 115 -;
r@98 55 #X obj 158 164 /;
r@98 56 #X floatatom 126 147 5 0 0 0 - - -;
r@98 57 #X floatatom 94 189 8 0 0 0 - - -;
r@98 58 #X obj 173 72 t f b;
r@98 59 #X obj 200 95 delay 9;
r@98 60 #X text 58 237 Calculates the difference in thickness between sources
r@98 61 ;
r@98 62 #X text 59 254 based on the blade tapering in a straight line;
r@98 63 #X obj 158 19 r hiltThick;
r@98 64 #X obj 173 44 r tipThick;
r@98 65 #X obj 158 187 s deltaThick;
r@98 66 #X connect 0 0 2 1;
r@98 67 #X connect 1 0 2 0;
r@98 68 #X connect 1 0 3 0;
r@98 69 #X connect 2 0 4 0;
r@98 70 #X connect 2 0 11 0;
r@98 71 #X connect 5 0 1 1;
r@98 72 #X connect 5 1 6 0;
r@98 73 #X connect 6 0 1 0;
r@98 74 #X connect 9 0 1 0;
r@98 75 #X connect 10 0 5 0;
r@98 76 #X restore 402 -93 pd thickCalc;
r@100 77 #X obj 90 400 hsl 100 20 0 0.03 0 0 empty empty empty -2 -8 0 10 -262144
r@99 78 -1 -1 2805 1;
r@100 79 #X obj 89 485 hsl 100 20 0 0.01 0 0 empty empty empty -2 -8 0 10 -262144
r@99 80 -1 -1 2475 1;
r@100 81 #X floatatom 87 430 8 0 0 0 - - -;
r@100 82 #X obj 141 429 s hiltThick;
r@100 83 #X floatatom 86 513 8 0 0 0 - - -;
r@100 84 #X obj 144 512 s tipThick;
r@100 85 #X text 204 402 Hilt Thickness;
r@100 86 #X text 196 486 Tip Thickness;
r@98 87 #X obj 244 -150 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1
r@98 88 -1;
r@98 89 #X obj 244 -97 s GO;
r@100 90 #X obj -196 326 hsl 100 20 100 1 1 0 empty empty empty -2 -8 0 10 -262144
r@99 91 -1 -1 6920 1;
r@100 92 #X obj -200 411 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10
r@99 93 -262144 -1 -1 7425 1;
r@100 94 #X floatatom -199 352 8 0 0 0 - - -;
r@100 95 #X text -86 330 Distance to Observer;
r@100 96 #X floatatom -203 439 8 0 0 0 - - -;
r@100 97 #X text -78 405 Angle to Observer;
r@98 98 #X obj 244 -196 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
r@98 99 0 1;
r@98 100 #X obj 244 -177 metro 200;
r@98 101 #X obj 298 -201 hsl 100 20 300 50 0 0 empty empty empty -2 -8 0 10
r@98 102 -262144 -1 -1 0 1;
r@98 103 #X obj 184 -150 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985
r@98 104 -1 -1;
r@98 105 #X obj 184 -97 s setUp;
r@100 106 #X obj 40 287 r setUp;
r@98 107 #X obj 779 -141 r setUp;
r@100 108 #X obj 36 377 r setUp;
r@100 109 #X obj 35 465 r setUp;
r@100 110 #X obj -251 305 r setUp;
r@100 111 #X obj -254 389 r setUp;
r@100 112 #X obj -140 353 s obsDistance;
r@100 113 #X obj -144 440 s obsAngle;
r@98 114 #N canvas 303 28 1094 768 angleCalc 0;
r@98 115 #X obj -129 105 * 0.75;
r@98 116 #X obj 325 234 * 0.25;
r@98 117 #X obj -129 145 /;
r@98 118 #X obj -144 199 * 1000;
r@98 119 #X obj 263 254 delay \$1;
r@98 120 #X obj 236 202 f;
r@98 121 #X obj 236 159 r GO;
r@98 122 #X obj 236 228 t f b;
r@98 123 #X msg 227 367 0;
r@98 124 #X obj 325 276 /;
r@98 125 #X obj 325 298 * 1000;
r@98 126 #X obj -127 225 s \$0_thisDe;
r@98 127 #X obj 251 181 r \$0_thisDe;
r@98 128 #X obj 145 237 r sweepAngle;
r@98 129 #X obj -129 81 r maxCirc;
r@98 130 #X obj 325 212 r maxCirc;
r@98 131 #X obj -114 124 r topSpeed;
r@98 132 #X obj 340 255 r topSpeed;
r@98 133 #X obj 644 360 delay \$1;
r@98 134 #X obj 646 302 f;
r@98 135 #X obj 639 248 r GO;
r@98 136 #X obj 646 328 t f b;
r@98 137 #X obj 682 208 r maxCirc;
r@98 138 #X obj 697 230 r topSpeed;
r@98 139 #X obj 682 254 /;
r@98 140 #X obj 682 276 * 1000;
r@98 141 #X obj 644 407 s end;
r@98 142 #X obj -77 312 r end;
r@98 143 #X obj 145 260 * -0.25;
r@98 144 #X text -193 45 0.75 represents the ratio of swing that;
r@98 145 #X text 200 118 0.25 represents the ratio of swing that;
r@98 146 #X text 200 132 the sword is decelerating;
r@98 147 #X text -102 149 Time taken for acceleration;
r@98 148 #X text -54 221 Send as a delay;
r@98 149 #X text 280 160 Recieve as a delay;
r@98 150 #X text -36 312 Reset angle;
r@98 151 #X text -38 325 once swing complete;
r@98 152 #X text 622 426 Send bang message at the;
r@98 153 #X text 623 438 end of the swing to reset;
r@98 154 #X text 379 296 Time for last;
r@98 155 #X text 381 307 1/4 of swing;
r@98 156 #X text -193 59 the sword is before 0 degrees;
r@98 157 #X text -121 700 Output of complete swing \, split into 75% before
r@98 158 0 degrees and 25% past 0 degrees;
r@98 159 #X text 568 517 Once delay from start to 0 degrees complete;
r@98 160 #X text 564 535 count down from 0 to finish the total swing angle;
r@98 161 #X text 98 9 Patch that calculates the angle between 0 degrees for
r@98 162 the full length of the swing;
r@98 163 #X obj -144 482 line~;
r@98 164 #X obj 86 601 metro 10;
r@98 165 #X obj 86 632 snapshot~;
r@98 166 #X floatatom 85 656 8 0 0 0 - - -;
r@98 167 #X obj 172 397 line~;
r@98 168 #X msg 172 350 \$1 \$2;
r@98 169 #X obj 151 319 pack;
r@98 170 #X obj 86 570 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
r@98 171 1;
r@98 172 #X floatatom -108 266 5 0 0 0 - - -;
r@98 173 #X msg -90 438 \$1;
r@98 174 #X obj -48 365 r sweepAngle;
r@98 175 #X obj -48 387 * 0.75;
r@98 176 #X msg -144 427 0 \$1;
r@98 177 #X obj -62 341 r setUp;
r@98 178 #X obj 151 294 f;
r@98 179 #X obj -4 549 +~;
r@98 180 #X obj 227 342 r setUp;
r@98 181 #X floatatom -63 474 5 0 0 0 - - -;
r@98 182 #X text 11 464 comment;
r@98 183 #X obj -63 409 f;
r@98 184 #X floatatom -26 434 5 0 0 0 - - -;
r@98 185 #X obj 286 343 r end;
r@98 186 #X obj 632 276 delay 9;
r@98 187 #X obj 644 383 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
r@98 188 -1 -1;
r@98 189 #X obj -144 174 f;
r@98 190 #X obj -163 143 r GO;
r@98 191 #X obj -4 633 s~ swordAngle;
r@98 192 #X text 241 325 Set to 0 at end;
r@98 193 #X obj 86 545 loadbang;
r@98 194 #X obj 68 509 r obsAngle;
r@98 195 #X obj -4 576 +~ 1;
r@98 196 #X text 141 470 Adding in the observer angle here offsets the swing
r@98 197 angle by the angle the observer is at. This makes all the future calculations
r@98 198 as if the observer is positioned at 0 degrees to the swordSwing.;
r@98 199 #X connect 0 0 2 0;
r@98 200 #X connect 1 0 9 0;
r@98 201 #X connect 2 0 70 1;
r@98 202 #X connect 3 0 11 0;
r@98 203 #X connect 3 0 54 0;
r@98 204 #X connect 3 0 58 0;
r@98 205 #X connect 4 0 60 0;
r@98 206 #X connect 5 0 7 0;
r@98 207 #X connect 6 0 5 0;
r@98 208 #X connect 7 0 4 1;
r@98 209 #X connect 7 1 4 0;
r@98 210 #X connect 8 0 50 0;
r@98 211 #X connect 9 0 10 0;
r@98 212 #X connect 10 0 52 1;
r@98 213 #X connect 12 0 5 1;
r@98 214 #X connect 13 0 28 0;
r@98 215 #X connect 14 0 0 0;
r@98 216 #X connect 15 0 1 0;
r@98 217 #X connect 16 0 2 1;
r@98 218 #X connect 17 0 9 1;
r@98 219 #X connect 18 0 69 0;
r@98 220 #X connect 19 0 21 0;
r@98 221 #X connect 20 0 68 0;
r@98 222 #X connect 21 0 18 1;
r@98 223 #X connect 21 1 18 0;
r@98 224 #X connect 22 0 24 0;
r@98 225 #X connect 23 0 24 1;
r@98 226 #X connect 24 0 25 0;
r@98 227 #X connect 25 0 19 1;
r@98 228 #X connect 27 0 65 0;
r@98 229 #X connect 28 0 60 1;
r@98 230 #X connect 46 0 61 0;
r@98 231 #X connect 47 0 48 0;
r@98 232 #X connect 48 0 49 0;
r@98 233 #X connect 50 0 61 1;
r@98 234 #X connect 51 0 50 0;
r@98 235 #X connect 52 0 51 0;
r@98 236 #X connect 53 0 47 0;
r@98 237 #X connect 55 0 46 0;
r@98 238 #X connect 55 0 63 0;
r@98 239 #X connect 56 0 57 0;
r@98 240 #X connect 57 0 65 1;
r@98 241 #X connect 57 0 66 0;
r@98 242 #X connect 58 0 46 0;
r@98 243 #X connect 59 0 65 0;
r@98 244 #X connect 60 0 52 0;
r@98 245 #X connect 61 0 76 0;
r@98 246 #X connect 62 0 8 0;
r@98 247 #X connect 65 0 55 0;
r@98 248 #X connect 67 0 8 0;
r@98 249 #X connect 68 0 19 0;
r@98 250 #X connect 69 0 26 0;
r@98 251 #X connect 70 0 3 0;
r@98 252 #X connect 71 0 70 0;
r@98 253 #X connect 74 0 53 0;
r@98 254 #X connect 75 0 76 1;
r@98 255 #X connect 76 0 72 0;
r@98 256 #X connect 76 0 48 0;
r@98 257 #X restore 401 -126 pd angleCalc;
r@98 258 #X obj 573 -145 hsl 100 25 0 127 0 0 empty empty empty -2 -8 0 10 -262144
r@99 259 -1 -1 3118 1;
r@98 260 #X obj 44 -219 loadbang;
r@98 261 #X obj 42 -150 loadbang;
r@98 262 #X obj -158 -208 loadbang;
r@98 263 #X msg -156 -114 0;
r@98 264 #X obj -156 -92 s elev;
r@100 265 #X text -81 417 (Azimuth);
r@98 266 #X obj -156 -137 loadbang;
r@98 267 #X obj 467 575 s thisTS;
r@98 268 #X obj 486 554 s thisSA;
r@98 269 #X obj 506 532 s thisHT;
r@98 270 #X obj 525 509 s thisTT;
r@98 271 #X obj 545 488 s thisOD;
r@98 272 #X obj 564 468 s thisOA;
r@98 273 #X obj 584 446 s thisG;
r@100 274 #X obj 93 287 r thisTS;
r@98 275 #X obj 837 -142 r thisSA;
r@100 276 #X obj 87 377 r thisHT;
r@100 277 #X obj 86 465 r thisTT;
r@100 278 #X obj -199 305 r thisOD;
r@100 279 #X obj -202 390 r thisOA;
r@98 280 #X obj 518 -165 r thisG;
r@98 281 #X obj 467 422 unpack f f f f f f f;
r@98 282 #X obj -208 -137 r setUp;
r@98 283 #X obj -211 -206 r setUp;
r@98 284 #X obj -7 -152 r setUp;
r@98 285 #X obj -8 -217 r setUp;
r@98 286 #X text 404 422 Presets;
r@98 287 #X msg 476 317 20 160 0.01 0.004 2 0 127;
r@98 288 #X msg 467 294 43 215 0.0085 0.0025 4 90 40;
r@98 289 #X msg 486 340 30 280 0.0095 0.0032 2 60 120;
r@98 290 #X text 736 303 Currently the noise sources are not connected but still
r@98 291 getting a zipping type sound. It seems to get worse with sources lower
r@98 292 down the blade - this needs looked into;
r@98 293 #X obj 467 265 loadbang;
r@98 294 #X obj 184 -202 loadbang;
r@98 295 #X obj 184 -178 delay 13;
r@98 296 #X obj 419 347 t b;
r@98 297 #X obj 399 370 s setUp;
r@100 298 #X obj -204 485 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10
r@98 299 -262144 -1 -1 0 1;
r@100 300 #X floatatom -207 513 8 0 0 0 - - -;
r@100 301 #X text -82 479 Angle to Observer;
r@100 302 #X obj -258 463 r setUp;
r@100 303 #X obj -206 464 r thisOE;
r@100 304 #X obj -148 514 s obsElev;
r@100 305 #X text -85 491 (Elevation);
r@99 306 #X obj 838 -43 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10
r@99 307 -262144 -1 -1 3300 1;
r@98 308 #X floatatom 835 -11 8 0 0 0 - - -;
r@98 309 #X obj 777 -63 r setUp;
r@98 310 #X obj 835 -64 r thisSA;
r@99 311 #X obj 833 70 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
r@101 312 -1 -1 7700 1;
r@98 313 #X floatatom 830 102 8 0 0 0 - - -;
r@98 314 #X obj 772 50 r setUp;
r@98 315 #X obj 830 49 r thisSA;
r@99 316 #X obj 831 148 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
r@99 317 -1 -1 3300 1;
r@98 318 #X floatatom 828 180 8 0 0 0 - - -;
r@98 319 #X obj 770 128 r setUp;
r@98 320 #X obj 828 127 r thisSA;
r@100 321 #N canvas 419 64 689 650 allSource 0;
r@98 322 #X obj 187 127 r distance;
r@98 323 #X obj 170 106 r angle;
r@98 324 #X obj 153 65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
r@98 325 -1;
r@98 326 #X obj 153 37 r setUp;
r@98 327 #X obj 204 147 r elev;
r@98 328 #X msg 153 84 10;
r@98 329 #X obj 153 170 tenSource;
r@98 330 #X connect 0 0 6 2;
r@98 331 #X connect 1 0 6 1;
r@98 332 #X connect 2 0 5 0;
r@98 333 #X connect 3 0 2 0;
r@98 334 #X connect 4 0 6 3;
r@98 335 #X connect 5 0 6 0;
r@98 336 #X restore 401 -65 pd allSource;
r@98 337 #X obj 885 101 s presweepElev;
r@98 338 #X obj 883 179 s postsweepElev;
r@98 339 #X text 944 71 pre-sweep elevation;
r@98 340 #X text 942 148 post-sweep elevation;
r@98 341 #X text 951 -120 pre-sweep azimuth;
r@98 342 #X text 949 -42 post-sweep azimuth;
r@98 343 #X obj 892 -90 s presweepAzim;
r@98 344 #X obj 890 -12 s postsweepAzim;
r@98 345 #X obj 42 -108 s start_armLength;
r@98 346 #X msg 42 -129 0.35;
r@98 347 #X obj 420 -40 sweepTime;
r@99 348 #X obj 682 -173 hsl 100 25 1 100 0 0 empty empty empty -2 -8 0 10 -262144
r@99 349 -1 -1 900 1;
r@99 350 #X floatatom 698 -133 5 0 0 0 - - -;
r@98 351 #X msg -158 -186 10;
r@99 352 #X obj 679 -217 loadbang;
r@99 353 #X msg 679 -194 5;
r@99 354 #N canvas 72 23 1360 722 maxCircCalc 0;
r@99 355 #X obj 440 104 +;
r@99 356 #X obj 468 128 s length;
r@99 357 #X obj 153 86 r presweepAzim;
r@99 358 #X obj 644 76 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1
r@99 359 -1;
r@99 360 #X obj 644 129 s GO;
r@99 361 #X obj 584 76 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985 -1
r@99 362 -1;
r@99 363 #X obj 584 129 s setUp;
r@99 364 #X obj 153 132 * 6.28312;
r@99 365 #X obj 153 110 / 360;
r@99 366 #X obj 153 174 *;
r@99 367 #X floatatom 91 198 5 0 0 0 - - -;
r@99 368 #X text 194 175 Circumference of the nearest source on blade;
r@99 369 #X text 307 191 up to 0 azimuth;
r@99 370 #X obj 153 200 s minPreCirc;
r@99 371 #X obj 437 279 * 6.28312;
r@99 372 #X obj 437 257 / 360;
r@99 373 #X obj 437 321 *;
r@99 374 #X floatatom 375 345 5 0 0 0 - - -;
r@99 375 #X text 478 322 Circumference of the nearest source on blade;
r@99 376 #X obj 437 233 r postsweepAzim;
r@99 377 #X obj 437 347 s minPostCirc;
r@99 378 #X obj 149 252 r presweepAzim;
r@99 379 #X obj 149 276 / 360;
r@99 380 #X obj 149 342 *;
r@99 381 #X floatatom 85 364 8 0 0 0 - - -;
r@99 382 #X obj 440 57 r bladeLen;
r@99 383 #X obj 455 81 r start_armLength;
r@99 384 #X obj 437 434 * 6.28312;
r@99 385 #X obj 437 412 / 360;
r@99 386 #X obj 437 478 *;
r@99 387 #X floatatom 399 501 5 0 0 0 - - -;
r@99 388 #X obj 437 388 r postsweepAzim;
r@99 389 #X obj 164 362 r minPreCirc;
r@99 390 #X obj 149 383 -;
r@99 391 #X obj 149 426 /;
r@99 392 #X floatatom 111 454 5 0 0 0 - - -;
r@99 393 #X obj 164 403 r NoOfSources;
r@99 394 #X obj 149 454 s deltaPreCirc;
r@99 395 #X obj 437 519 -;
r@99 396 #X obj 437 562 /;
r@99 397 #X obj 452 539 r NoOfSources;
r@99 398 #X obj 452 498 r minPostCirc;
r@99 399 #X obj 437 590 s deltaPostCirc;
r@99 400 #X floatatom 397 591 5 0 0 0 - - -;
r@99 401 #X text 33 334 Max Circumference;
r@99 402 #X text 323 472 Max Circumference;
r@99 403 #X obj 1076 361 r presweepElev;
r@99 404 #X obj 1091 384 r postsweepElev;
r@99 405 #X obj 1076 419 +;
r@99 406 #X obj 1076 441 * 0.5;
r@99 407 #X obj 1075 488 * 6.28312;
r@99 408 #X obj 1075 466 / 360;
r@99 409 #X obj 1074 514 cos;
r@99 410 #X floatatom 1020 613 5 0 0 0 - - -;
r@99 411 #X floatatom 1126 425 5 0 0 0 - - -;
r@99 412 #X obj 1074 536 *;
r@99 413 #X floatatom 531 128 5 0 0 0 - - -;
r@99 414 #X obj 1101 514 r start_armLength;
r@99 415 #X obj 149 298 * 6.28319;
r@99 416 #X obj 1074 562 s compSrcRadius;
r@99 417 #X obj 452 300 r compSrcRadius;
r@99 418 #X obj 168 153 r compSrcRadius;
r@99 419 #X obj 364 101 r arcConst;
r@99 420 #X obj 425 129 *;
r@99 421 #X floatatom 387 153 5 0 0 0 - - -;
r@99 422 #X obj 994 538 s arcConst;
r@99 423 #X obj 425 153 s compRadius;
r@99 424 #X obj 164 320 r compRadius;
r@99 425 #X obj 452 456 r compRadius;
r@99 426 #X connect 0 0 1 0;
r@99 427 #X connect 0 0 56 0;
r@99 428 #X connect 0 0 63 1;
r@99 429 #X connect 2 0 8 0;
r@99 430 #X connect 3 0 4 0;
r@99 431 #X connect 5 0 6 0;
r@99 432 #X connect 7 0 9 0;
r@99 433 #X connect 8 0 7 0;
r@99 434 #X connect 9 0 10 0;
r@99 435 #X connect 9 0 13 0;
r@99 436 #X connect 14 0 16 0;
r@99 437 #X connect 15 0 14 0;
r@99 438 #X connect 16 0 17 0;
r@99 439 #X connect 16 0 20 0;
r@99 440 #X connect 19 0 15 0;
r@99 441 #X connect 21 0 22 0;
r@99 442 #X connect 22 0 58 0;
r@99 443 #X connect 23 0 24 0;
r@99 444 #X connect 23 0 33 0;
r@99 445 #X connect 25 0 0 0;
r@99 446 #X connect 26 0 0 1;
r@99 447 #X connect 27 0 29 0;
r@99 448 #X connect 28 0 27 0;
r@99 449 #X connect 29 0 30 0;
r@99 450 #X connect 29 0 38 0;
r@99 451 #X connect 31 0 28 0;
r@99 452 #X connect 32 0 33 1;
r@99 453 #X connect 33 0 34 0;
r@99 454 #X connect 34 0 35 0;
r@99 455 #X connect 34 0 37 0;
r@99 456 #X connect 36 0 34 1;
r@99 457 #X connect 38 0 39 0;
r@99 458 #X connect 39 0 42 0;
r@99 459 #X connect 39 0 43 0;
r@99 460 #X connect 40 0 39 1;
r@99 461 #X connect 41 0 38 1;
r@99 462 #X connect 46 0 48 0;
r@99 463 #X connect 47 0 48 1;
r@99 464 #X connect 48 0 49 0;
r@99 465 #X connect 48 0 54 0;
r@99 466 #X connect 49 0 51 0;
r@99 467 #X connect 50 0 52 0;
r@99 468 #X connect 51 0 50 0;
r@99 469 #X connect 52 0 55 0;
r@99 470 #X connect 52 0 65 0;
r@99 471 #X connect 55 0 53 0;
r@99 472 #X connect 55 0 59 0;
r@99 473 #X connect 57 0 55 1;
r@99 474 #X connect 58 0 23 0;
r@99 475 #X connect 60 0 16 1;
r@99 476 #X connect 61 0 9 1;
r@99 477 #X connect 62 0 63 0;
r@99 478 #X connect 63 0 64 0;
r@99 479 #X connect 63 0 66 0;
r@99 480 #X connect 67 0 23 1;
r@99 481 #X connect 68 0 29 1;
r@99 482 #X restore 392 -16 pd maxCircCalc;
r@99 483 #X msg 906 -144 80;
r@99 484 #X obj 398 27 centreAngles;
r@100 485 #X obj -89 55 hsl 128 15 -50 50 0 0 empty empty empty -2 -8 0 10 -262144
r@101 486 -1 -1 6350 1;
r@100 487 #X obj -90 125 hsl 128 15 -50 50 0 0 empty empty empty -2 -8 0 10 -262144
r@101 488 -1 -1 6481 1;
r@100 489 #X obj -90 192 hsl 128 15 -50 50 0 0 empty empty empty -2 -8 0 10 -262144
r@101 490 -1 -1 6858 1;
r@100 491 #X obj -92 78 s Xobs;
r@100 492 #X obj -93 145 s Yobs;
r@100 493 #X obj -93 214 s Zobs;
r@100 494 #X floatatom -132 78 5 0 0 0 - - -;
r@100 495 #X floatatom -132 146 5 0 0 0 - - -;
r@100 496 #X floatatom -133 214 5 0 0 0 - - -;
r@100 497 #X msg -84 31 0;
r@100 498 #X msg -90 166 0;
r@100 499 #X msg -86 101 0.7;
r@100 500 #X obj -137 29 r setUp;
r@100 501 #X obj -142 102 r setUp;
r@100 502 #X obj -146 169 r setUp;
r@100 503 #X msg -34 100 0;
r@100 504 #X msg 955 -148 90;
r@100 505 #X msg -48 166 4;
r@100 506 #X msg -42 27 4;
r@100 507 #X msg 898 47 0;
r@101 508 #X msg 908 -62 -60;
r@101 509 #X msg 945 47 50;
r@101 510 #X msg 898 125 -30;
r@101 511 #X msg 15 99 1.034;
r@101 512 #X msg 58 99 2.034;
r@98 513 #X connect 3 0 5 0;
r@98 514 #X connect 4 0 0 0;
r@98 515 #X connect 4 1 1 0;
r@99 516 #X connect 5 0 49 0;
r@98 517 #X connect 6 0 7 0;
r@98 518 #X connect 10 0 9 0;
r@98 519 #X connect 10 0 11 0;
r@98 520 #X connect 16 0 17 0;
r@99 521 #X connect 16 0 112 0;
r@98 522 #X connect 19 0 21 0;
r@98 523 #X connect 19 0 22 0;
r@98 524 #X connect 20 0 23 0;
r@98 525 #X connect 20 0 24 0;
r@98 526 #X connect 27 0 28 0;
r@98 527 #X connect 29 0 31 0;
r@98 528 #X connect 29 0 46 0;
r@98 529 #X connect 30 0 33 0;
r@98 530 #X connect 30 0 47 0;
r@98 531 #X connect 35 0 36 0;
r@98 532 #X connect 36 0 27 0;
r@98 533 #X connect 37 0 36 1;
r@98 534 #X connect 38 0 39 0;
r@98 535 #X connect 40 0 10 0;
r@98 536 #X connect 41 0 16 0;
r@98 537 #X connect 42 0 19 0;
r@98 538 #X connect 43 0 20 0;
r@98 539 #X connect 44 0 29 0;
r@98 540 #X connect 45 0 30 0;
r@99 541 #X connect 49 0 4 0;
r@99 542 #X connect 50 0 6 0;
r@99 543 #X connect 51 0 115 0;
r@99 544 #X connect 52 0 119 0;
r@99 545 #X connect 53 0 54 0;
r@99 546 #X connect 56 0 53 0;
r@99 547 #X connect 64 0 10 0;
r@99 548 #X connect 66 0 19 0;
r@99 549 #X connect 67 0 20 0;
r@99 550 #X connect 68 0 29 0;
r@99 551 #X connect 69 0 30 0;
r@99 552 #X connect 70 0 49 0;
r@99 553 #X connect 71 0 57 0;
r@99 554 #X connect 71 1 58 0;
r@99 555 #X connect 71 2 59 0;
r@99 556 #X connect 71 3 60 0;
r@99 557 #X connect 71 4 61 0;
r@99 558 #X connect 71 5 62 0;
r@99 559 #X connect 71 6 63 0;
r@99 560 #X connect 72 0 53 0;
r@99 561 #X connect 73 0 119 0;
r@99 562 #X connect 74 0 115 0;
r@99 563 #X connect 75 0 6 0;
r@99 564 #X connect 77 0 71 0;
r@99 565 #X connect 77 0 84 0;
r@99 566 #X connect 78 0 71 0;
r@99 567 #X connect 78 0 84 0;
r@99 568 #X connect 79 0 71 0;
r@99 569 #X connect 79 0 84 0;
r@99 570 #X connect 81 0 78 0;
r@99 571 #X connect 82 0 83 0;
r@99 572 #X connect 83 0 38 0;
r@99 573 #X connect 84 0 85 0;
r@99 574 #X connect 86 0 87 0;
r@99 575 #X connect 86 0 91 0;
r@99 576 #X connect 89 0 86 0;
r@99 577 #X connect 90 0 86 0;
r@99 578 #X connect 93 0 94 0;
r@99 579 #X connect 93 0 113 0;
r@99 580 #X connect 95 0 93 0;
r@99 581 #X connect 97 0 98 0;
r@99 582 #X connect 97 0 106 0;
r@99 583 #X connect 99 0 97 0;
r@99 584 #X connect 100 0 97 0;
r@99 585 #X connect 101 0 102 0;
r@99 586 #X connect 101 0 107 0;
r@99 587 #X connect 103 0 101 0;
r@99 588 #X connect 104 0 101 0;
r@99 589 #X connect 115 0 114 0;
r@99 590 #X connect 117 0 4 1;
r@99 591 #X connect 117 0 118 0;
r@99 592 #X connect 119 0 8 0;
r@99 593 #X connect 120 0 121 0;
r@99 594 #X connect 121 0 117 0;
r@99 595 #X connect 123 0 16 0;
r@100 596 #X connect 125 0 128 0;
r@100 597 #X connect 125 0 131 0;
r@100 598 #X connect 126 0 129 0;
r@100 599 #X connect 126 0 132 0;
r@100 600 #X connect 127 0 130 0;
r@100 601 #X connect 127 0 133 0;
r@100 602 #X connect 134 0 125 0;
r@100 603 #X connect 135 0 127 0;
r@100 604 #X connect 136 0 126 0;
r@100 605 #X connect 137 0 125 0;
r@100 606 #X connect 138 0 126 0;
r@100 607 #X connect 139 0 127 0;
r@100 608 #X connect 140 0 126 0;
r@100 609 #X connect 141 0 16 0;
r@100 610 #X connect 142 0 127 0;
r@100 611 #X connect 143 0 125 0;
r@100 612 #X connect 144 0 97 0;
r@101 613 #X connect 145 0 93 0;
r@101 614 #X connect 146 0 97 0;
r@101 615 #X connect 147 0 101 0;
r@101 616 #X connect 148 0 126 0;
r@101 617 #X connect 149 0 126 0;