r@64: #N canvas 284 207 1102 758 10; r@49: #X declare -lib mrpeach; r@46: #N canvas 236 158 426 423 windspeed 0; r@46: #X obj 3 -19 +~ 1; r@46: #X obj 3 76 +~; r@46: #X obj 3 3 *~ 0.25; r@46: #X obj 19 53 +~; r@46: #X obj 3 98 clip~ 0 1; r@46: #N canvas 548 156 136 193 squall 0; r@46: #X obj 63 20 noise~; r@46: #X obj 63 83 hip~ 0; r@46: #X obj 63 41 lop~ 3; r@46: #X obj 63 62 lop~ 3; r@46: #X obj 0 86 *~; r@46: #X obj 22 130 *~; r@46: #X obj 0 20 max~ 0.4; r@46: #X obj 0 42 -~ 0.4; r@46: #X obj 0 64 *~ 8; r@46: #X obj 63 104 *~ 20; r@46: #X obj 0 0 inlet~; r@46: #X obj 22 154 outlet~; r@46: #X connect 0 0 2 0; r@46: #X connect 1 0 9 0; r@46: #X connect 2 0 3 0; r@46: #X connect 3 0 1 0; r@46: #X connect 4 0 5 0; r@46: #X connect 5 0 11 0; r@46: #X connect 6 0 7 0; r@46: #X connect 7 0 8 0; r@46: #X connect 8 0 4 0; r@46: #X connect 8 0 4 1; r@46: #X connect 9 0 5 1; r@46: #X connect 10 0 6 0; r@46: #X restore 77 28 pd squall; r@46: #N canvas 398 157 136 192 gust 0; r@46: #X obj 0 0 noise~; r@46: #X obj 0 63 hip~ 0; r@46: #X obj 0 106 *~; r@46: #X obj 67 44 *~; r@46: #X obj 67 21 +~ 0.5; r@46: #X obj 67 67 -~ 0.125; r@46: #X obj 0 42 lop~ 0.5; r@46: #X obj 0 21 lop~ 0.5; r@46: #X obj 0 84 *~ 50; r@46: #X obj 67 0 inlet~; r@46: #X obj 0 131 outlet~; r@46: #X connect 0 0 7 0; r@46: #X connect 1 0 8 0; r@46: #X connect 2 0 10 0; r@46: #X connect 3 0 5 0; r@46: #X connect 4 0 3 0; r@46: #X connect 4 0 3 1; r@46: #X connect 5 0 2 1; r@46: #X connect 6 0 1 0; r@46: #X connect 7 0 6 0; r@46: #X connect 8 0 2 0; r@46: #X connect 9 0 4 0; r@46: #X restore 18 29 pd gust; r@46: #X obj 3 120 outlet~; r@46: #X obj 3 -41 osc~ 0.01; r@46: #X connect 0 0 2 0; r@46: #X connect 1 0 4 0; r@46: #X connect 2 0 5 0; r@46: #X connect 2 0 6 0; r@46: #X connect 2 0 1 0; r@46: #X connect 3 0 1 1; r@46: #X connect 4 0 7 0; r@46: #X connect 5 0 3 1; r@46: #X connect 6 0 3 0; r@46: #X connect 8 0 0 0; r@46: #X restore 260 -116 pd windspeed; r@46: #X text 24 15 Light air = 0.56 m/s - 1.39 m/s; r@46: #X text 24 37 Light Breeze = 1.67 m/s - 3.33 m/s; r@46: #X text 24 57 Gentle Breeze = 3.61 m/s - 5.56 m/s; r@46: #X text 24 77 Moderate Breeze = 5.83 m/s - 8.33 m/s; r@46: #X text 25 98 Fresh Breeze = 8.61 m/s - 11.11 m/s; r@46: #X text 24 119 Strong Breeze = 11.39 m/s - 13.89 m/s; r@46: #X text 25 139 Moderate Gale = 14.17 m/s - 16.94 m/s; r@46: #X text 26 159 Fresh Gale = 17.22 m/s - 20.56 m/s; r@46: #X text 25 179 Strong Gale = 20.83 m/s - 24.72 m/s; r@46: #X text 25 197 Whole Gale = 25 m/s - 28.61 m/s; r@46: #X text 25 217 Storm = 28.89 m/s - 33.06 m/s; r@46: #X text 26 235 Hurricane = 33.33 -; r@46: #X text 62 -16 Beaufort Scale Chart; r@46: #X obj 56 429 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; r@46: #X obj 119 429 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; r@46: #X obj 210 429 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 r@49: -1 -1 500 1; r@46: #X text 239 448 Gain; r@46: #X obj 210 365 loadbang; r@46: #X obj 260 78 delwrite~ varwind 3000; r@46: #X obj 343 -114 hsl 128 15 0 50 0 0 empty empty empty -2 -8 0 10 -262144 r@49: -1 -1 0 1; r@46: #X obj 303 -11 snapshot~; r@46: #X obj 303 -36 metro 100; r@46: #X obj 303 -58 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 r@46: 1; r@46: #X floatatom 303 16 10 0 0 0 - - -; r@46: #X obj 260 -82 *~ 1; r@46: #X obj 260 -56 +~ 1; r@46: #X text 107 274 Equations from Chanaud 2010; r@46: #X text 20 339 Frequency = (Strouhal Number * Velocity) / Distance r@46: ; r@46: #X text 19 299 Reynolds Number = (Density * Velocity * Length) / Viscosity r@46: ; r@46: #X text 19 319 Strouhal Number = 0.198 * (1 - (19.7/ Reynolds Number)) r@46: ; r@46: #N canvas 865 368 293 255 opLevels 0; r@46: #X obj 88 129 dac~; r@46: #X obj 64 70 catch~ l; r@46: #X obj 128 70 catch~ r; r@46: #X obj 129 104 *~ 0.45; r@46: #X obj 65 104 *~ 0.45; r@46: #X obj 65 154 prvu~; r@46: #X obj 129 155 prvu~; r@46: #X obj 186 75 / 127; r@46: #X obj 186 40 inlet; r@46: #X obj 65 183 outlet; r@46: #X obj 129 183 outlet; r@46: #X connect 1 0 4 0; r@46: #X connect 2 0 3 0; r@46: #X connect 3 0 0 1; r@46: #X connect 3 0 6 0; r@46: #X connect 4 0 0 0; r@46: #X connect 4 0 5 0; r@46: #X connect 5 0 9 0; r@46: #X connect 6 0 10 0; r@46: #X connect 7 0 3 1; r@46: #X connect 7 0 4 1; r@46: #X connect 8 0 7 0; r@46: #X restore 55 386 pd opLevels; r@46: #X obj 303 -83 loadbang; r@46: #X msg 210 393 5; r@46: #X text 300 34 Wind Speed; r@46: #X text 487 -70 Diameter; r@49: #X obj 374 431 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 r@47: 1; r@47: #X obj 374 457 cursor; r@47: #X obj 374 481 route motion; r@47: #X obj 374 509 route x y; r@47: #X floatatom 334 562 5 0 0 0 - - -; r@47: #X floatatom 466 539 5 0 0 0 - - -; r@47: #X obj 374 563 s xCurs; r@47: #X obj 399 543 s yCurs; r@48: #X obj 363 182 unpack f f; r@48: #X obj 429 100 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 r@48: -1 -1; r@48: #X floatatom 405 242 8 0 0 0 - - -; r@48: #X msg 325 148 0; r@48: #X msg 320 171 1; r@48: #N canvas 317 45 445 395 posCalc 0; r@48: #X obj 104 19 r xCurs; r@48: #X obj 160 19 r yCurs; r@48: #X obj 119 50 inlet; r@48: #X obj 175 46 inlet; r@47: #X obj 104 80 -; r@47: #X obj 160 80 -; r@47: #X obj 105 141 *; r@47: #X obj 161 139 *; r@47: #X obj 131 199 sqrt; r@47: #X obj 131 173 +; r@47: #X floatatom 78 233 5 0 0 0 - - -; r@47: #X obj 131 232 outlet; r@47: #X obj 254 135 /; r@47: #X floatatom 316 186 9 0 0 0 - - -; r@47: #X floatatom 46 147 5 0 0 0 - - -; r@47: #X obj 254 162 expr acos($f1); r@47: #X obj 254 186 * 360; r@48: #X floatatom 315 238 5 0 0 0 - - -; r@48: #X obj 254 243 outlet; r@47: #X obj 254 210 / 6.28319; r@48: #X obj 160 104 / 20; r@48: #X obj 104 104 / 20; r@48: #X connect 0 0 4 0; r@48: #X connect 1 0 5 0; r@48: #X connect 2 0 4 1; r@48: #X connect 3 0 5 1; r@48: #X connect 4 0 21 0; r@48: #X connect 5 0 20 0; r@48: #X connect 6 0 9 0; r@48: #X connect 7 0 9 1; r@48: #X connect 8 0 10 0; r@48: #X connect 8 0 11 0; r@48: #X connect 8 0 12 1; r@48: #X connect 9 0 8 0; r@48: #X connect 12 0 15 0; r@48: #X connect 15 0 13 0; r@48: #X connect 15 0 16 0; r@48: #X connect 16 0 19 0; r@48: #X connect 19 0 17 0; r@48: #X connect 19 0 18 0; r@48: #X connect 20 0 7 0; r@48: #X connect 20 0 7 1; r@48: #X connect 21 0 6 0; r@48: #X connect 21 0 6 1; r@48: #X connect 21 0 12 0; r@48: #X connect 21 0 14 0; r@48: #X restore 703 183 pd posCalc; r@48: #X obj 631 183 unpack f f; r@48: #X obj 697 101 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 r@48: -1 -1; r@48: #X floatatom 673 243 8 0 0 0 - - -; r@48: #X msg 593 149 0; r@48: #X msg 588 172 1; r@48: #X obj 486 339 unpack f f; r@48: #X obj 552 257 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 r@48: -1 -1; r@48: #X floatatom 528 399 8 0 0 0 - - -; r@48: #X msg 448 305 0; r@48: #X msg 443 328 1; r@48: #N canvas 317 45 445 395 posCalc 0; r@48: #X obj 104 19 r xCurs; r@48: #X obj 160 19 r yCurs; r@48: #X obj 119 50 inlet; r@48: #X obj 175 46 inlet; r@48: #X obj 104 80 -; r@48: #X obj 160 80 -; r@48: #X obj 105 141 *; r@48: #X obj 161 139 *; r@48: #X obj 131 199 sqrt; r@48: #X obj 131 173 +; r@48: #X floatatom 78 233 5 0 0 0 - - -; r@48: #X obj 131 232 outlet; r@48: #X obj 254 135 /; r@48: #X floatatom 316 186 9 0 0 0 - - -; r@48: #X floatatom 46 147 5 0 0 0 - - -; r@48: #X obj 254 162 expr acos($f1); r@48: #X obj 254 186 * 360; r@47: #X floatatom 315 238 5 0 0 0 - - -; r@48: #X obj 254 243 outlet; r@48: #X obj 254 210 / 6.28319; r@48: #X obj 104 104 / 20; r@48: #X obj 160 104 / 20; r@48: #X connect 0 0 4 0; r@48: #X connect 1 0 5 0; r@48: #X connect 2 0 4 1; r@48: #X connect 3 0 5 1; r@48: #X connect 4 0 20 0; r@48: #X connect 5 0 21 0; r@48: #X connect 6 0 9 0; r@48: #X connect 7 0 9 1; r@48: #X connect 8 0 10 0; r@48: #X connect 8 0 11 0; r@48: #X connect 8 0 12 1; r@48: #X connect 9 0 8 0; r@48: #X connect 12 0 15 0; r@48: #X connect 15 0 13 0; r@48: #X connect 15 0 16 0; r@48: #X connect 16 0 19 0; r@48: #X connect 19 0 17 0; r@48: #X connect 19 0 18 0; r@48: #X connect 20 0 6 0; r@48: #X connect 20 0 6 1; r@48: #X connect 20 0 12 0; r@48: #X connect 20 0 14 0; r@48: #X connect 21 0 7 0; r@48: #X connect 21 0 7 1; r@47: #X restore 435 182 pd posCalc; r@48: #N canvas 317 45 445 395 posCalc 0; r@48: #X obj 104 19 r xCurs; r@48: #X obj 160 19 r yCurs; r@48: #X obj 119 50 inlet; r@48: #X obj 175 46 inlet; r@48: #X obj 104 80 -; r@48: #X obj 160 80 -; r@48: #X obj 105 141 *; r@48: #X obj 161 139 *; r@48: #X obj 131 199 sqrt; r@48: #X obj 131 173 +; r@48: #X floatatom 78 233 5 0 0 0 - - -; r@48: #X obj 131 232 outlet; r@48: #X obj 254 135 /; r@48: #X floatatom 316 186 9 0 0 0 - - -; r@48: #X floatatom 46 147 5 0 0 0 - - -; r@48: #X obj 254 162 expr acos($f1); r@48: #X obj 254 186 * 360; r@48: #X floatatom 315 238 5 0 0 0 - - -; r@48: #X obj 254 243 outlet; r@48: #X obj 254 210 / 6.28319; r@48: #X obj 160 104 / 20; r@48: #X obj 104 104 / 20; r@48: #X connect 0 0 4 0; r@48: #X connect 1 0 5 0; r@48: #X connect 2 0 4 1; r@48: #X connect 3 0 5 1; r@48: #X connect 4 0 21 0; r@48: #X connect 5 0 20 0; r@48: #X connect 6 0 9 0; r@48: #X connect 7 0 9 1; r@48: #X connect 8 0 10 0; r@48: #X connect 8 0 11 0; r@48: #X connect 8 0 12 1; r@48: #X connect 9 0 8 0; r@48: #X connect 12 0 15 0; r@48: #X connect 15 0 13 0; r@48: #X connect 15 0 16 0; r@48: #X connect 16 0 19 0; r@48: #X connect 19 0 17 0; r@48: #X connect 19 0 18 0; r@48: #X connect 20 0 7 0; r@48: #X connect 20 0 7 1; r@48: #X connect 21 0 6 0; r@48: #X connect 21 0 6 1; r@48: #X connect 21 0 12 0; r@48: #X connect 21 0 14 0; r@48: #X restore 558 338 pd posCalc; r@48: #X msg 435 155 100.5; r@48: #X msg 492 155 100.5; r@48: #X msg 703 156 1100.5; r@48: #X msg 760 156 150.5; r@48: #X msg 558 312 640.5; r@48: #X msg 615 312 650.5; r@47: #X msg 363 154 300 0.0035; r@48: #X msg 631 155 300 0.0012; r@48: #X msg 486 311 300 0.00075; r@48: #X obj 528 374 thisFreq; r@48: #X obj 673 218 thisFreq; r@48: #X obj 405 217 thisFreq; r@49: #X msg 877 -99 connect localhost 9001; r@49: #X obj 877 4 udpsend; r@49: #X obj 981 -20 packOSC; r@49: #X obj 793 -140 import mrpeach; r@49: #X floatatom 982 -67 5 0 0 0 - - -; r@49: #X msg 982 -45 send /test \$1; r@49: #X obj 761 -79 udpreceive 9000; r@49: #X obj 761 -52 unpackOSC; r@49: #X obj 794 -20 print; r@49: #X floatatom 767 41 5 0 0 0 - - -; r@50: #X floatatom 648 48 5 0 0 0 - - -; r@50: #X obj 766 5 OSCroute /playerX; r@50: #X obj 648 5 OSCroute /playerZ; r@50: #X floatatom 808 78 5 0 0 0 - - -; r@50: #X floatatom 862 131 5 0 0 0 - - -; r@50: #X obj 807 42 OSCroute /cylinderLX; r@50: #X obj 861 81 OSCroute /cylinderLZ; r@50: #X obj 564 -5 unpackOSC; r@64: #X obj 564 38 print; r@50: #X obj 564 -28 udpreceive 9002; r@46: #X connect 0 0 25 0; r@46: #X connect 16 0 31 0; r@46: #X connect 18 0 33 0; r@46: #X connect 20 0 25 1; r@46: #X connect 20 0 26 1; r@46: #X connect 21 0 24 0; r@46: #X connect 22 0 21 0; r@46: #X connect 23 0 22 0; r@46: #X connect 25 0 26 0; r@46: #X connect 26 0 19 0; r@46: #X connect 26 0 21 0; r@46: #X connect 31 0 14 0; r@46: #X connect 31 1 15 0; r@46: #X connect 32 0 23 0; r@46: #X connect 33 0 16 0; r@48: #X connect 36 0 37 0; r@47: #X connect 37 0 38 0; r@47: #X connect 38 0 39 0; r@47: #X connect 39 0 40 0; r@48: #X connect 39 0 42 0; r@48: #X connect 39 1 41 0; r@48: #X connect 39 1 43 0; r@48: #X connect 44 0 73 2; r@48: #X connect 44 1 73 3; r@48: #X connect 45 0 68 0; r@48: #X connect 45 0 62 0; r@48: #X connect 45 0 63 0; r@48: #X connect 47 0 73 1; r@48: #X connect 48 0 73 1; r@48: #X connect 49 0 72 5; r@48: #X connect 49 1 72 4; r@48: #X connect 50 0 72 2; r@48: #X connect 50 1 72 3; r@48: #X connect 51 0 69 0; r@48: #X connect 51 0 64 0; r@48: #X connect 51 0 65 0; r@48: #X connect 53 0 72 1; r@48: #X connect 54 0 72 1; r@48: #X connect 55 0 71 2; r@48: #X connect 55 1 71 3; r@48: #X connect 56 0 70 0; r@48: #X connect 56 0 66 0; r@48: #X connect 56 0 67 0; r@48: #X connect 58 0 71 1; r@48: #X connect 59 0 71 1; r@48: #X connect 60 0 73 5; r@48: #X connect 60 1 73 4; r@48: #X connect 61 0 71 5; r@48: #X connect 61 1 71 4; r@48: #X connect 62 0 60 0; r@48: #X connect 63 0 60 1; r@48: #X connect 64 0 49 0; r@48: #X connect 65 0 49 1; r@48: #X connect 66 0 61 0; r@48: #X connect 67 0 61 1; r@48: #X connect 68 0 44 0; r@48: #X connect 69 0 50 0; r@48: #X connect 70 0 55 0; r@48: #X connect 71 0 57 0; r@48: #X connect 72 0 52 0; r@48: #X connect 73 0 46 0; r@49: #X connect 74 0 75 0; r@49: #X connect 76 0 75 0; r@49: #X connect 78 0 79 0; r@49: #X connect 79 0 76 0; r@49: #X connect 80 0 81 0; r@50: #X connect 81 0 85 0; r@50: #X connect 81 0 86 0; r@50: #X connect 81 0 89 0; r@50: #X connect 81 0 90 0; r@49: #X connect 81 0 82 0; r@50: #X connect 85 0 83 0; r@50: #X connect 86 0 84 0; r@50: #X connect 89 0 87 0; r@50: #X connect 90 0 88 0; r@64: #X connect 93 0 91 0;