annotate SwordSounds/Sword10_D2.pd @ 199:2ded41e29e57

Projection matrix now calculated using control signals rather than audio. This makes sense as it was eating too much processing power for something that doesn't chage during the sound effect.
author Rod Selfridge <r.selfridge@qmul.ac.uk>
date Fri, 11 Mar 2016 20:51:21 +0000
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;