annotate SwordSounds/Sword10_D2.pd @ 214:18d9eb604d30

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