<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title > Pushing the Score< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< link rel = "stylesheet" href = "style.css" >
< body style = "background-color: #e6ffe6;" >
< / head >
< body >
< div id = "header" > < h1 >
This experiment analyses and measures data from people’ s motion and explores how we humans become an extension of technology, adapting ourselves to immaterial environments by seeking information-control, performing sounds.
< / h1 > < / div >
< div id = "container" >
< h2 > < div class = "mobile icon" > < / div > < / h2 >
< h2 > < div class = "laptop icon" > < / div > < / h2 >
< h2 > < div class = "tablet icon" > < / div > < / h2 >
< div id = "title" >
< h2 > PUSHING THE SCORE< / h2 >
< / div >
< div id = "buttons" > < h2 >
< a href = "#concept" > CONCEPT ⟶< / a >
< br >
< a href = "#body" > BODY ⟶< / a >
< br >
< a href = "#samples" > SAMPLES ⟶< / a >
< br > < / h2 >
< / div >
< div id = "links" >
< h2 > TGC #3 @DePlayer @XPUB< / h2 >
< / div >
< div id = "rotate" > < h2 >
www.issue.xpub.nl/02/ www.deplayer.nl/
< / h2 > < / div >
<!-- Labels -->
< h2 > < div id = "concept" > < table >
< td > CONCEPT< / td >
< / table > < / div > < / h2 >
< h2 > < div id = "body" > < table >
< td > BODY< / td >
< / table > < / div > < / h2 >
< h2 > < div id = "samples" > < table >
< td > SAMPLES< / td >
< / table > < / div > < / h2 >
< / div >
<!-- svg file -->
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug - In . SVG Version: 6.00 Build 0) -->
< svg version = "1.1" xmlns = "http://www.w3.org/2000/svg" xmlns:xlink = "http://www.w3.org/1999/xlink" x = "0px" y = "0px"
viewBox="0 0 1280 3193" style="enable-background:new 0 0 1280 3193;" xml:space="preserve">
< style type = "text/css" >
.st0{fill:#FFFFFF;}
.st1{fill:none;}
.st2{font-family:'Times-Roman';}
.st3{font-size:19px;}
.st4{letter-spacing:54;}
.st5{fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:10;}
.st6{fill:none;stroke:#000000;stroke-miterlimit:10;}
.st7{font-family:'TimesNewRomanPSMT';}
.st8{letter-spacing:81;}
.st9{font-family:'Courier';}
.st10{letter-spacing:74;}
.st11{font-size:18px;}
.st12{font-size:13.8376px;}
.st13{font-size:7.8111px;}
.st14{font-size:10.4208px;}
.st15{font-size:14.3056px;}
.st16{letter-spacing:2;}
.st17{fill:none;stroke:#000000;stroke-width:1.0721;stroke-linecap:round;stroke-miterlimit:10;}
.st18{fill:none;stroke:#000000;stroke-width:2.3848;stroke-miterlimit:10;}
.st19{fill:none;stroke:#000000;stroke-width:1.7105;stroke-miterlimit:10;}
.st20{fill:none;stroke:#00FF00;stroke-width:1.5909;stroke-miterlimit:10;}
.st21{fill:#292929;stroke:#FFFFFF;stroke-width:1.202;stroke-miterlimit:10;}
.st22{fill:#292929;stroke:#FFFFFF;stroke-width:0.7508;stroke-miterlimit:10;}
.st23{fill:#979696;}
.st24{font-family:'Interval-Book';}
.st25{font-size:10px;}
.st26{fill:#FFFFFF;stroke:#000000;stroke-width:1.8568;stroke-miterlimit:10;}
.st27{fill:#FFFFFF;stroke:#000000;stroke-width:1.9441;stroke-miterlimit:10;}
.st28{fill:#FFFFFF;stroke:#000000;stroke-width:1.9885;stroke-miterlimit:10;}
.st29{fill:#FFFFFF;stroke:#000000;stroke-width:2.0896;stroke-miterlimit:10;}
.st30{fill:#FFFFFF;stroke:#000000;stroke-width:2.2897;stroke-miterlimit:10;}
.st31{fill:none;stroke:#000000;stroke-width:2.4707;stroke-miterlimit:10;}
< / style >
< g id = "Layer_1" >
< image style = "overflow:visible;" width = "600" height = "304" xlink:href = "edited/11.jpg" transform = "matrix(0.3943 0 0 0.3943 326.0681 1692.0435)" >
< / image >
< rect y = "2036.5" class = "st0" width = "640" height = "1156.5" / >
< image style = "overflow:visible;" width = "606" height = "378" xlink:href = "3.gif" transform = "matrix(0.6491 0 0 0.6491 187.8319 2322.4502)" >
< / image >
< image style = "overflow:visible;" width = "1280" height = "851" xlink:href = "noise.gif" transform = "matrix(1 0 0 1 0 -425.5)" >
< / image >
< image style = "overflow:visible;" width = "711" height = "720" xlink:href = "floppy-final2.png" transform = "matrix(0.7066 0 0 0.7066 695.9426 574.8033)" >
< / image >
< rect x = "50.6" y = "575.8" class = "st1" width = "547.5" height = "524.1" / >
< text transform = "matrix(1 0 0 1 50.6133 588.7969)" > < tspan x = "0" y = "0" class = "st2 st3" > Technology is providing us new ways to shape our perception of space, < / tspan > < tspan x = "0" y = "23" class = "st2 st3" > while at the same time it is transforming our bodies into gadgets. This < / tspan > < tspan x = "0" y = "46" class = "st2 st3" > is not only changing our spatial awareness but it’ s also extending our < / tspan > < tspan x = "0" y = "69" class = "st2 st3" > senses beyond given nature. Moreover, control systems that regulate < / tspan > < tspan x = "0" y = "92" class = "st2 st3" > and command specific behaviours can be very practical tools to < / tspan > < tspan x = "0" y = "115" class = "st2 st3" > improve physical functionalities or translate its data. For instance, this < / tspan > < tspan x = "0" y = "138" class = "st2 st3" > experiment employs “Optical Flow” sensor which detects motion from < / tspan > < tspan x = "0" y = "161" class = "st2 st3" > image objects between frames, and “Open Sound Control (OSC)” < / tspan > < tspan x = "0" y = "184" class = "st2 st3" > which enables to exchange and format data from different devices, for < / tspan > < tspan x = "0" y = "207" class = "st2 st3" > instance, from Python to Puredata.< / tspan > < tspan x = "0" y = "230" class = "st2 st3 st4" > < / tspan > < tspan x = "58.9" y = "230" class = "st2 st3" > Although the unique possibilities to improving human physical < / tspan > < tspan x = "0" y = "253" class = "st2 st3" > or cognitive limitations by plugging a body to an electronic or < / tspan > < tspan x = "0" y = "276" class = "st2 st3" > mechanical device are yet very hypothetical and might extend beyond < / tspan > < tspan x = "0" y = "299" class = "st2 st3" > our imagination, nevertheless technology is continuously transforming < / tspan > < tspan x = "0" y = "322" class = "st2 st3" > the abstract or fictional conception of “cybernetics” to a more realistic < / tspan > < tspan x = "0" y = "345" class = "st2 st3" > evidence. The communication between both automated and living < / tspan > < tspan x = "0" y = "368" class = "st2 st3" > systems is continuously evolving, upgrading and rising up more < / tspan > < tspan x = "0" y = "391" class = "st2 st3" > sophisticated engineered tools that might enable us to increase our < / tspan > < tspan x = "0" y = "414" class = "st2 st3" > knowledge, morphing our perception through deeper experiences.< / tspan > < tspan x = "0" y = "437" class = "st2 st3 st4" > < / tspan > < tspan x = "58.9" y = "437" class = "st2 st3" > In this experiment, the potential for controlling data through < / tspan > < tspan x = "0" y = "460" class = "st2 st3" > motion on space while becoming independent of physicality, opens up < / tspan > < tspan x = "0" y = "483" class = "st2 st3" > new creative and pragmatic alternatives for facing both technological < / tspan > < tspan x = "0" y = "506" class = "st2 st3" > and communication constraints.< / tspan > < / text >
< line class = "st5" x1 = "41.6" y1 = "425.4" x2 = "1238.4" y2 = "425.4" / >
< line class = "st6" x1 = "667.1" y1 = "1762" x2 = "1256.4" y2 = "1762" / >
< line class = "st6" x1 = "31.4" y1 = "2036.5" x2 = "620.7" y2 = "2036.5" / >
< line class = "st6" x1 = "29.7" y1 = "1134.6" x2 = "619" y2 = "1134.6" / >
< rect x = "696.9" y = "1333.4" class = "st1" width = "547.5" height = "384.6" / >
< text transform = "matrix(1 0 0 1 696.9243 1346.5609)" > < tspan x = "0" y = "0" class = "st7 st3" > This body analyses human motion on space and detects it using < / tspan > < tspan x = "0" y = "23" class = "st7 st3" > “Opitcal Flow” in “Python”, using a series of predesigned < / tspan > < tspan x = "0" y = "46" class = "st7 st3" > multidirectional interpreters. These interpreters are made up of a < / tspan > < tspan x = "0" y = "69" class = "st7 st3" > series of points (intersections), forming a grid which intersects with < / tspan > < tspan x = "0" y = "92" class = "st7 st3" > movement. This is detected in form of numeric values, which are < / tspan > < tspan x = "0" y = "115" class = "st7 st3" > automatically transmitted and formatted to a graphic array in Puredata. < / tspan > < tspan x = "0" y = "138" class = "st7 st3 st8" > < / tspan > < tspan x = "86.1" y = "138" class = "st7 st3" > This array arrange these values and generates a polygonal < / tspan > < tspan x = "0" y = "161" class = "st7 st3" > waveform based on these received coordinates (which numbers ranges < / tspan > < tspan x = "0" y = "184" class = "st7 st3" > between " x" , having values from 0 to 10, and " y" from -1 to 1). This < / tspan > < tspan x = "0" y = "207" class = "st7 st3" > activates an “oscillator” object which defines the frequency of the tone, < / tspan > < tspan x = "0" y = "230" class = "st7 st3" > together with “metro” object, which time spans its duration in < / tspan > < tspan x = "0" y = "253" class = "st7 st3" > miliseconds, consequently iterating the audio (re-writting it in the < / tspan > < tspan x = "0" y = "276" class = "st7 st3" > display).< / tspan > < tspan x = "0" y = "299" class = "st9 st3 st10" > < / tspan > < tspan x = "86.1" y = "299" class = "st9 st11" style = "text-decoration: underline;" > The intersections and the graphic array < / tspan > < tspan x = "0" y = "322" class = "st9 st11" style = "text-decoration: underline;" > (together with the entire Puredata patch) become < / tspan > < tspan x = "0" y = "345" class = "st9 st11" style = "text-decoration: underline;" > an interactive notation system, while people < / tspan > < tspan x = "0" y = "368" class = "st9 st11" style = "text-decoration: underline;" > become the instrument/tool that triggers it< / tspan > < tspan x = "464.5" y = "368" class = "st9 st11" > . < / tspan > < / text >
< text transform = "matrix(1 0 1.000000e-05 1 723.7227 1107.457)" class = "st7 st12" > X / Y INTERSECTIONS< / text >
< g >
< text transform = "matrix(1 0 0 1 1012.4771 1254.7754)" > < tspan x = "0" y = "0" class = "st9 st13" > 5 PUREDATA EXTENDED< / tspan > < tspan x = "0" y = "9.4" class = "st9 st13" > 6 OSC MSG RECEIVE< / tspan > < tspan x = "0" y = "18.7" class = "st9 st13" > 7 GRAPHIC ARRAY< / tspan > < tspan x = "0" y = "28.1" class = "st9 st13" > 8 OSC / METRO< / tspan > < tspan x = "0" y = "37.5" class = "st9 st13" > < / tspan > < / text >
< / g >
< g >
< text transform = "matrix(1 0 0 1 908.5388 1233.2344)" > < tspan x = "0" y = "0" class = "st9 st14" > SYSTEM;< / tspan > < tspan x = "0" y = "21.9" class = "st9 st13" > 1 PYTHON< / tspan > < tspan x = "0" y = "31.3" class = "st9 st13" > 2 OPTICAL FLOW< / tspan > < tspan x = "0" y = "40.6" class = "st9 st13" > 2 INTERSECTIONS< / tspan > < tspan x = "0" y = "50" class = "st9 st13" > 3 OSC MSG SEND< / tspan > < / text >
< / g >
< rect x = "703.3" y = "575.8" class = "st5" width = "490.9" height = "717.6" / >
< text transform = "matrix(1 0 0 1 1064.6499 1140.2852)" > < tspan x = "0" y = "0" class = "st7 st15" > Y range< / tspan > < tspan x = "45.7" y = "0" class = "st7 st15 st16" > < / tspan > < tspan x = "51.5" y = "0" class = "st7 st15" > = -1 to 1< / tspan > < / text >
< text transform = "matrix(1 0 0 1 1063.5178 1114.0996)" > < tspan x = "0" y = "0" class = "st7 st15" > X range< / tspan > < tspan x = "45.7" y = "0" class = "st7 st15 st16" > < / tspan > < tspan x = "51.5" y = "0" class = "st7 st15" > = 0 to 10< / tspan > < / text >
< text transform = "matrix(1 0 0 1 1064.6499 1174.5107)" class = "st7 st15" > Waveform< / text >
< g >
< polyline class = "st17" points = "912.4,1173.5 918.5,1164.6 924.3,1173.5 " / >
< polyline class = "st17" points = "924.3,1173.5 930.6,1164.6 936.2,1173.5 " / >
< polyline class = "st17" points = "936.5,1173.5 942.6,1164.6 948.4,1173.5 " / >
< polyline class = "st17" points = "948.4,1173.5 954.7,1164.6 960.3,1173.5 " / >
< polyline class = "st17" points = "960.4,1173.5 966.7,1164.6 972.3,1173.5 " / >
< polyline class = "st17" points = "972.7,1173.5 978.7,1164.6 984.5,1173.5 " / >
< polyline class = "st17" points = "984.5,1173.5 990.8,1164.6 996.4,1173.5 " / >
< polyline class = "st17" points = "996.6,1173.5 1002.8,1164.6 1008.5,1173.5 " / >
< polyline class = "st17" points = "1008.8,1173.5 1014.9,1164.6 1020.7,1173.5 " / >
< polyline class = "st17" points = "1020.7,1173.5 1026.9,1164.6 1032.5,1173.5 " / >
< / g >
< line class = "st18" x1 = "1177.5" y1 = "1196.7" x2 = "911.9" y2 = "1196.7" / >
< g >
< line class = "st19" x1 = "914.7" y1 = "1110.7" x2 = "914.7" y2 = "1114.1" / >
< line class = "st19" x1 = "916.5" y1 = "1112.4" x2 = "912.9" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "926.6" y1 = "1110.7" x2 = "926.6" y2 = "1114.1" / >
< line class = "st19" x1 = "928.4" y1 = "1112.4" x2 = "924.8" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "938.5" y1 = "1110.7" x2 = "938.5" y2 = "1114.1" / >
< line class = "st19" x1 = "940.3" y1 = "1112.4" x2 = "936.7" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "949.7" y1 = "1110.7" x2 = "949.7" y2 = "1114.1" / >
< line class = "st19" x1 = "951.5" y1 = "1112.4" x2 = "947.9" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "960.5" y1 = "1110.7" x2 = "960.5" y2 = "1114.1" / >
< line class = "st19" x1 = "962.3" y1 = "1112.4" x2 = "958.7" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "972.2" y1 = "1110.7" x2 = "972.2" y2 = "1114.1" / >
< line class = "st19" x1 = "974" y1 = "1112.4" x2 = "970.5" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "983.8" y1 = "1110.7" x2 = "983.8" y2 = "1114.1" / >
< line class = "st19" x1 = "985.6" y1 = "1112.4" x2 = "982" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "996.2" y1 = "1110.7" x2 = "996.2" y2 = "1114.1" / >
< line class = "st19" x1 = "998" y1 = "1112.4" x2 = "994.4" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "1007" y1 = "1110.7" x2 = "1007" y2 = "1114.1" / >
< line class = "st19" x1 = "1008.8" y1 = "1112.4" x2 = "1005.2" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "1018" y1 = "1110.7" x2 = "1018" y2 = "1114.1" / >
< line class = "st19" x1 = "1019.8" y1 = "1112.4" x2 = "1016.2" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "1029.9" y1 = "1110.7" x2 = "1029.9" y2 = "1114.1" / >
< line class = "st19" x1 = "1031.7" y1 = "1112.4" x2 = "1028.1" y2 = "1112.4" / >
< / g >
< g >
< line class = "st19" x1 = "914.7" y1 = "1136.9" x2 = "914.7" y2 = "1140.3" / >
< line class = "st19" x1 = "916.5" y1 = "1138.6" x2 = "912.9" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "926.6" y1 = "1136.9" x2 = "926.6" y2 = "1140.3" / >
< line class = "st19" x1 = "928.4" y1 = "1138.6" x2 = "924.8" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "938.5" y1 = "1136.9" x2 = "938.5" y2 = "1140.3" / >
< line class = "st19" x1 = "940.3" y1 = "1138.6" x2 = "936.7" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "949.7" y1 = "1136.9" x2 = "949.7" y2 = "1140.3" / >
< line class = "st19" x1 = "951.5" y1 = "1138.6" x2 = "947.9" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "960.5" y1 = "1136.9" x2 = "960.5" y2 = "1140.3" / >
< line class = "st19" x1 = "962.3" y1 = "1138.6" x2 = "958.7" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "972.2" y1 = "1136.9" x2 = "972.2" y2 = "1140.3" / >
< line class = "st19" x1 = "974" y1 = "1138.6" x2 = "970.5" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "983.8" y1 = "1136.9" x2 = "983.8" y2 = "1140.3" / >
< line class = "st19" x1 = "985.6" y1 = "1138.6" x2 = "982" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "996.2" y1 = "1136.9" x2 = "996.2" y2 = "1140.3" / >
< line class = "st19" x1 = "998" y1 = "1138.6" x2 = "994.4" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "1007" y1 = "1136.9" x2 = "1007" y2 = "1140.3" / >
< line class = "st19" x1 = "1008.8" y1 = "1138.6" x2 = "1005.2" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "1018" y1 = "1136.9" x2 = "1018" y2 = "1140.3" / >
< line class = "st19" x1 = "1019.8" y1 = "1138.6" x2 = "1016.2" y2 = "1138.6" / >
< / g >
< g >
< line class = "st19" x1 = "1029.9" y1 = "1136.9" x2 = "1029.9" y2 = "1140.3" / >
< line class = "st19" x1 = "1031.7" y1 = "1138.6" x2 = "1028.1" y2 = "1138.6" / >
< / g >
< g >
< g >
< g >
< line class = "st20" x1 = "773.5" y1 = "842.4" x2 = "773.5" y2 = "845.5" / >
< line class = "st20" x1 = "775.1" y1 = "843.9" x2 = "771.8" y2 = "843.9" / >
< line class = "st20" x1 = "808.3" y1 = "842.4" x2 = "808.2" y2 = "845.5" / >
< line class = "st20" x1 = "809.9" y1 = "843.9" x2 = "806.6" y2 = "843.9" / >
< line class = "st20" x1 = "843.1" y1 = "842.4" x2 = "843" y2 = "845.5" / >
< line class = "st20" x1 = "844.7" y1 = "843.9" x2 = "841.4" y2 = "843.9" / >
< line class = "st20" x1 = "877.9" y1 = "842.4" x2 = "877.8" y2 = "845.5" / >
< line class = "st20" x1 = "879.5" y1 = "843.9" x2 = "876.2" y2 = "843.9" / >
< / g >
< g >
< line class = "st20" x1 = "912.7" y1 = "842.4" x2 = "912.6" y2 = "845.5" / >
< line class = "st20" x1 = "914.3" y1 = "843.9" x2 = "911" y2 = "843.9" / >
< line class = "st20" x1 = "947.5" y1 = "842.4" x2 = "947.4" y2 = "845.5" / >
< line class = "st20" x1 = "949.1" y1 = "843.9" x2 = "945.8" y2 = "843.9" / >
< line class = "st20" x1 = "982.3" y1 = "842.4" x2 = "982.2" y2 = "845.5" / >
< line class = "st20" x1 = "983.9" y1 = "843.9" x2 = "980.6" y2 = "843.9" / >
< line class = "st20" x1 = "1017" y1 = "842.4" x2 = "1017" y2 = "845.5" / >
< line class = "st20" x1 = "1018.7" y1 = "843.9" x2 = "1015.4" y2 = "843.9" / >
< / g >
< line class = "st20" x1 = "1051.8" y1 = "842.4" x2 = "1051.8" y2 = "845.5" / >
< line class = "st20" x1 = "1053.5" y1 = "843.9" x2 = "1050.2" y2 = "843.9" / >
< line class = "st20" x1 = "1086.6" y1 = "842.4" x2 = "1086.6" y2 = "845.5" / >
< line class = "st20" x1 = "1088.3" y1 = "843.9" x2 = "1085" y2 = "843.9" / >
< line class = "st20" x1 = "1121.4" y1 = "842.4" x2 = "1121.4" y2 = "845.5" / >
< line class = "st20" x1 = "1123.1" y1 = "843.9" x2 = "1119.8" y2 = "843.9" / >
< / g >
< g >
< g >
< line class = "st20" x1 = "773.1" y1 = "875.1" x2 = "773.1" y2 = "878.2" / >
< line class = "st20" x1 = "774.7" y1 = "876.7" x2 = "771.4" y2 = "876.7" / >
< line class = "st20" x1 = "807.9" y1 = "875.1" x2 = "807.9" y2 = "878.2" / >
< line class = "st20" x1 = "809.5" y1 = "876.7" x2 = "806.2" y2 = "876.7" / >
< line class = "st20" x1 = "842.7" y1 = "875.1" x2 = "842.6" y2 = "878.2" / >
< line class = "st20" x1 = "844.3" y1 = "876.7" x2 = "841" y2 = "876.7" / >
< line class = "st20" x1 = "877.5" y1 = "875.1" x2 = "877.4" y2 = "878.2" / >
< line class = "st20" x1 = "879.1" y1 = "876.7" x2 = "875.8" y2 = "876.7" / >
< / g >
< g >
< line class = "st20" x1 = "912.3" y1 = "875.1" x2 = "912.2" y2 = "878.2" / >
< line class = "st20" x1 = "913.9" y1 = "876.7" x2 = "910.6" y2 = "876.7" / >
< line class = "st20" x1 = "947.1" y1 = "875.1" x2 = "947" y2 = "878.2" / >
< line class = "st20" x1 = "948.7" y1 = "876.7" x2 = "945.4" y2 = "876.7" / >
< line class = "st20" x1 = "981.9" y1 = "875.1" x2 = "981.8" y2 = "878.2" / >
< line class = "st20" x1 = "983.5" y1 = "876.7" x2 = "980.2" y2 = "876.7" / >
< line class = "st20" x1 = "1016.7" y1 = "875.1" x2 = "1016.6" y2 = "878.2" / >
< line class = "st20" x1 = "1018.3" y1 = "876.7" x2 = "1015" y2 = "876.7" / >
< / g >
< line class = "st20" x1 = "1051.4" y1 = "875.1" x2 = "1051.4" y2 = "878.2" / >
< line class = "st20" x1 = "1053.1" y1 = "876.7" x2 = "1049.8" y2 = "876.7" / >
< line class = "st20" x1 = "1086.2" y1 = "875.1" x2 = "1086.2" y2 = "878.2" / >
< line class = "st20" x1 = "1087.9" y1 = "876.7" x2 = "1084.6" y2 = "876.7" / >
< line class = "st20" x1 = "1121" y1 = "875.1" x2 = "1121" y2 = "878.2" / >
< line class = "st20" x1 = "1122.7" y1 = "876.7" x2 = "1119.4" y2 = "876.7" / >
< / g >
< g >
< line class = "st20" x1 = "772.7" y1 = "907.9" x2 = "772.7" y2 = "911" / >
< line class = "st20" x1 = "774.3" y1 = "909.4" x2 = "771" y2 = "909.4" / >
< line class = "st20" x1 = "807.5" y1 = "907.9" x2 = "807.5" y2 = "911" / >
< line class = "st20" x1 = "809.1" y1 = "909.4" x2 = "805.8" y2 = "909.4" / >
< line class = "st20" x1 = "842.3" y1 = "907.9" x2 = "842.3" y2 = "911" / >
< line class = "st20" x1 = "843.9" y1 = "909.4" x2 = "840.6" y2 = "909.4" / >
< line class = "st20" x1 = "877.1" y1 = "907.9" x2 = "877.1" y2 = "911" / >
< line class = "st20" x1 = "878.7" y1 = "909.4" x2 = "875.4" y2 = "909.4" / >
< / g >
< g >
< line class = "st20" x1 = "911.9" y1 = "907.9" x2 = "911.8" y2 = "911" / >
< line class = "st20" x1 = "913.5" y1 = "909.4" x2 = "910.2" y2 = "909.4" / >
< line class = "st20" x1 = "946.7" y1 = "907.9" x2 = "946.6" y2 = "911" / >
< line class = "st20" x1 = "948.3" y1 = "909.4" x2 = "945" y2 = "909.4" / >
< line class = "st20" x1 = "981.5" y1 = "907.9" x2 = "981.4" y2 = "911" / >
< line class = "st20" x1 = "983.1" y1 = "909.4" x2 = "979.8" y2 = "909.4" / >
< line class = "st20" x1 = "1016.3" y1 = "907.9" x2 = "1016.2" y2 = "911" / >
< line class = "st20" x1 = "1017.9" y1 = "909.4" x2 = "1014.6" y2 = "909.4" / >
< / g >
< line class = "st20" x1 = "1051.1" y1 = "907.9" x2 = "1051" y2 = "911" / >
< line class = "st20" x1 = "1052.7" y1 = "909.4" x2 = "1049.4" y2 = "909.4" / >
< line class = "st20" x1 = "1085.9" y1 = "907.9" x2 = "1085.8" y2 = "911" / >
< line class = "st20" x1 = "1087.5" y1 = "909.4" x2 = "1084.2" y2 = "909.4" / >
< g >
< line class = "st20" x1 = "1120.6" y1 = "907.9" x2 = "1120.6" y2 = "911" / >
< line class = "st20" x1 = "1122.3" y1 = "909.4" x2 = "1119" y2 = "909.4" / >
< / g >
< g >
< line class = "st20" x1 = "1120.3" y1 = "940.7" x2 = "1120.2" y2 = "943.8" / >
< line class = "st20" x1 = "1121.9" y1 = "942.3" x2 = "1118.6" y2 = "942.3" / >
< / g >
< g >
< line class = "st20" x1 = "1119.9" y1 = "973.4" x2 = "1119.8" y2 = "976.5" / >
< line class = "st20" x1 = "1121.5" y1 = "974.9" x2 = "1118.2" y2 = "974.9" / >
< / g >
< g >
< line class = "st20" x1 = "1119.5" y1 = "1006.1" x2 = "1119.4" y2 = "1009.2" / >
< line class = "st20" x1 = "1121.1" y1 = "1007.7" x2 = "1117.8" y2 = "1007.7" / >
< / g >
< g >
< g >
< line class = "st20" x1 = "772.3" y1 = "940.6" x2 = "772.3" y2 = "943.7" / >
< line class = "st20" x1 = "774" y1 = "942.2" x2 = "770.6" y2 = "942.2" / >
< line class = "st20" x1 = "807.1" y1 = "940.6" x2 = "807.1" y2 = "943.7" / >
< line class = "st20" x1 = "808.7" y1 = "942.2" x2 = "805.4" y2 = "942.2" / >
< line class = "st20" x1 = "841.9" y1 = "940.6" x2 = "841.9" y2 = "943.7" / >
< line class = "st20" x1 = "843.5" y1 = "942.2" x2 = "840.2" y2 = "942.2" / >
< line class = "st20" x1 = "876.7" y1 = "940.6" x2 = "876.7" y2 = "943.7" / >
< line class = "st20" x1 = "878.3" y1 = "942.2" x2 = "875" y2 = "942.2" / >
< / g >
< g >
< line class = "st20" x1 = "911.5" y1 = "940.6" x2 = "911.5" y2 = "943.7" / >
< line class = "st20" x1 = "913.1" y1 = "942.2" x2 = "909.8" y2 = "942.2" / >
< line class = "st20" x1 = "946.3" y1 = "940.6" x2 = "946.2" y2 = "943.7" / >
< line class = "st20" x1 = "947.9" y1 = "942.2" x2 = "944.6" y2 = "942.2" / >
< line class = "st20" x1 = "981.1" y1 = "940.6" x2 = "981" y2 = "943.7" / >
< line class = "st20" x1 = "982.7" y1 = "942.2" x2 = "979.4" y2 = "942.2" / >
< line class = "st20" x1 = "1015.9" y1 = "940.6" x2 = "1015.8" y2 = "943.7" / >
< line class = "st20" x1 = "1017.5" y1 = "942.2" x2 = "1014.2" y2 = "942.2" / >
< / g >
< line class = "st20" x1 = "1050.7" y1 = "940.6" x2 = "1050.6" y2 = "943.7" / >
< line class = "st20" x1 = "1052.3" y1 = "942.2" x2 = "1049" y2 = "942.2" / >
< line class = "st20" x1 = "1085.5" y1 = "940.6" x2 = "1085.4" y2 = "943.7" / >
< line class = "st20" x1 = "1087.1" y1 = "942.2" x2 = "1083.8" y2 = "942.2" / >
< / g >
< g >
< g >
< line class = "st20" x1 = "771.9" y1 = "973.4" x2 = "771.9" y2 = "976.5" / >
< line class = "st20" x1 = "773.6" y1 = "974.9" x2 = "770.3" y2 = "974.9" / >
< line class = "st20" x1 = "806.7" y1 = "973.4" x2 = "806.7" y2 = "976.5" / >
< line class = "st20" x1 = "808.4" y1 = "974.9" x2 = "805" y2 = "974.9" / >
< line class = "st20" x1 = "841.5" y1 = "973.4" x2 = "841.5" y2 = "976.5" / >
< line class = "st20" x1 = "843.1" y1 = "974.9" x2 = "839.8" y2 = "974.9" / >
< line class = "st20" x1 = "876.3" y1 = "973.4" x2 = "876.3" y2 = "976.5" / >
< line class = "st20" x1 = "877.9" y1 = "974.9" x2 = "874.6" y2 = "974.9" / >
< / g >
< g >
< line class = "st20" x1 = "911.1" y1 = "973.4" x2 = "911.1" y2 = "976.5" / >
< line class = "st20" x1 = "912.7" y1 = "974.9" x2 = "909.4" y2 = "974.9" / >
< line class = "st20" x1 = "945.9" y1 = "973.4" x2 = "945.9" y2 = "976.5" / >
< line class = "st20" x1 = "947.5" y1 = "974.9" x2 = "944.2" y2 = "974.9" / >
< line class = "st20" x1 = "980.7" y1 = "973.4" x2 = "980.7" y2 = "976.5" / >
< line class = "st20" x1 = "982.3" y1 = "974.9" x2 = "979" y2 = "974.9" / >
< line class = "st20" x1 = "1015.5" y1 = "973.4" x2 = "1015.4" y2 = "976.5" / >
< line class = "st20" x1 = "1017.1" y1 = "974.9" x2 = "1013.8" y2 = "974.9" / >
< / g >
< line class = "st20" x1 = "1050.3" y1 = "973.4" x2 = "1050.2" y2 = "976.5" / >
< line class = "st20" x1 = "1051.9" y1 = "974.9" x2 = "1048.6" y2 = "974.9" / >
< line class = "st20" x1 = "1085.1" y1 = "973.4" x2 = "1085" y2 = "976.5" / >
< line class = "st20" x1 = "1086.7" y1 = "974.9" x2 = "1083.4" y2 = "974.9" / >
< / g >
< g >
< g >
< line class = "st20" x1 = "771.5" y1 = "1006.1" x2 = "771.5" y2 = "1009.2" / >
< line class = "st20" x1 = "773.2" y1 = "1007.7" x2 = "769.9" y2 = "1007.7" / >
< line class = "st20" x1 = "806.3" y1 = "1006.1" x2 = "806.3" y2 = "1009.2" / >
< line class = "st20" x1 = "808" y1 = "1007.7" x2 = "804.7" y2 = "1007.7" / >
< line class = "st20" x1 = "841.1" y1 = "1006.1" x2 = "841.1" y2 = "1009.2" / >
< line class = "st20" x1 = "842.8" y1 = "1007.7" x2 = "839.4" y2 = "1007.7" / >
< line class = "st20" x1 = "875.9" y1 = "1006.1" x2 = "875.9" y2 = "1009.2" / >
< line class = "st20" x1 = "877.6" y1 = "1007.7" x2 = "874.2" y2 = "1007.7" / >
< / g >
< g >
< line class = "st20" x1 = "910.7" y1 = "1006.1" x2 = "910.7" y2 = "1009.2" / >
< line class = "st20" x1 = "912.3" y1 = "1007.7" x2 = "909" y2 = "1007.7" / >
< line class = "st20" x1 = "945.5" y1 = "1006.1" x2 = "945.5" y2 = "1009.2" / >
< line class = "st20" x1 = "947.1" y1 = "1007.7" x2 = "943.8" y2 = "1007.7" / >
< line class = "st20" x1 = "980.3" y1 = "1006.1" x2 = "980.3" y2 = "1009.2" / >
< line class = "st20" x1 = "981.9" y1 = "1007.7" x2 = "978.6" y2 = "1007.7" / >
< line class = "st20" x1 = "1015.1" y1 = "1006.1" x2 = "1015.1" y2 = "1009.2" / >
< line class = "st20" x1 = "1016.7" y1 = "1007.7" x2 = "1013.4" y2 = "1007.7" / >
< / g >
< line class = "st20" x1 = "1049.9" y1 = "1006.1" x2 = "1049.8" y2 = "1009.2" / >
< line class = "st20" x1 = "1051.5" y1 = "1007.7" x2 = "1048.2" y2 = "1007.7" / >
< line class = "st20" x1 = "1084.7" y1 = "1006.1" x2 = "1084.6" y2 = "1009.2" / >
< line class = "st20" x1 = "1086.3" y1 = "1007.7" x2 = "1083" y2 = "1007.7" / >
< / g >
< / g >
< g >
< g >
< g >
< line class = "st6" x1 = "726.4" y1 = "1128.3" x2 = "726.4" y2 = "1129.4" / >
< line class = "st6" x1 = "727" y1 = "1128.8" x2 = "725.9" y2 = "1128.8" / >
< line class = "st6" x1 = "738" y1 = "1128.3" x2 = "738" y2 = "1129.4" / >
< line class = "st6" x1 = "738.5" y1 = "1128.8" x2 = "737.4" y2 = "1128.8" / >
< line class = "st6" x1 = "749.6" y1 = "1128.3" x2 = "749.6" y2 = "1129.4" / >
< line class = "st6" x1 = "750.1" y1 = "1128.8" x2 = "749" y2 = "1128.8" / >
< line class = "st6" x1 = "761.1" y1 = "1128.3" x2 = "761.1" y2 = "1129.4" / >
< line class = "st6" x1 = "761.7" y1 = "1128.8" x2 = "760.6" y2 = "1128.8" / >
< / g >
< g >
< line class = "st6" x1 = "772.7" y1 = "1128.3" x2 = "772.7" y2 = "1129.4" / >
< line class = "st6" x1 = "773.2" y1 = "1128.8" x2 = "772.1" y2 = "1128.8" / >
< line class = "st6" x1 = "784.2" y1 = "1128.3" x2 = "784.2" y2 = "1129.4" / >
< line class = "st6" x1 = "784.8" y1 = "1128.8" x2 = "783.7" y2 = "1128.8" / >
< line class = "st6" x1 = "795.8" y1 = "1128.3" x2 = "795.8" y2 = "1129.4" / >
< line class = "st6" x1 = "796.3" y1 = "1128.8" x2 = "795.2" y2 = "1128.8" / >
< line class = "st6" x1 = "807.4" y1 = "1128.3" x2 = "807.3" y2 = "1129.4" / >
< line class = "st6" x1 = "807.9" y1 = "1128.8" x2 = "806.8" y2 = "1128.8" / >
< / g >
< line class = "st6" x1 = "818.9" y1 = "1128.3" x2 = "818.9" y2 = "1129.4" / >
< line class = "st6" x1 = "819.5" y1 = "1128.8" x2 = "818.4" y2 = "1128.8" / >
< line class = "st6" x1 = "830.5" y1 = "1128.3" x2 = "830.5" y2 = "1129.4" / >
< line class = "st6" x1 = "831" y1 = "1128.8" x2 = "829.9" y2 = "1128.8" / >
< line class = "st6" x1 = "842" y1 = "1128.3" x2 = "842" y2 = "1129.4" / >
< line class = "st6" x1 = "842.6" y1 = "1128.8" x2 = "841.5" y2 = "1128.8" / >
< / g >
< g >
< g >
< line class = "st6" x1 = "726.3" y1 = "1139.2" x2 = "726.3" y2 = "1140.2" / >
< line class = "st6" x1 = "726.9" y1 = "1139.7" x2 = "725.8" y2 = "1139.7" / >
< line class = "st6" x1 = "737.9" y1 = "1139.2" x2 = "737.9" y2 = "1140.2" / >
< line class = "st6" x1 = "738.4" y1 = "1139.7" x2 = "737.3" y2 = "1139.7" / >
< line class = "st6" x1 = "749.4" y1 = "1139.2" x2 = "749.4" y2 = "1140.2" / >
< line class = "st6" x1 = "750" y1 = "1139.7" x2 = "748.9" y2 = "1139.7" / >
< line class = "st6" x1 = "761" y1 = "1139.2" x2 = "761" y2 = "1140.2" / >
< line class = "st6" x1 = "761.5" y1 = "1139.7" x2 = "760.4" y2 = "1139.7" / >
< / g >
< g >
< line class = "st6" x1 = "772.6" y1 = "1139.2" x2 = "772.5" y2 = "1140.2" / >
< line class = "st6" x1 = "773.1" y1 = "1139.7" x2 = "772" y2 = "1139.7" / >
< line class = "st6" x1 = "784.1" y1 = "1139.2" x2 = "784.1" y2 = "1140.2" / >
< line class = "st6" x1 = "784.7" y1 = "1139.7" x2 = "783.6" y2 = "1139.7" / >
< line class = "st6" x1 = "795.7" y1 = "1139.2" x2 = "795.7" y2 = "1140.2" / >
< line class = "st6" x1 = "796.2" y1 = "1139.7" x2 = "795.1" y2 = "1139.7" / >
< line class = "st6" x1 = "807.2" y1 = "1139.2" x2 = "807.2" y2 = "1140.2" / >
< line class = "st6" x1 = "807.8" y1 = "1139.7" x2 = "806.7" y2 = "1139.7" / >
< / g >
< line class = "st6" x1 = "818.8" y1 = "1139.2" x2 = "818.8" y2 = "1140.2" / >
< line class = "st6" x1 = "819.3" y1 = "1139.7" x2 = "818.2" y2 = "1139.7" / >
< line class = "st6" x1 = "830.3" y1 = "1139.2" x2 = "830.3" y2 = "1140.2" / >
< line class = "st6" x1 = "830.9" y1 = "1139.7" x2 = "829.8" y2 = "1139.7" / >
< line class = "st6" x1 = "841.9" y1 = "1139.2" x2 = "841.9" y2 = "1140.2" / >
< line class = "st6" x1 = "842.4" y1 = "1139.7" x2 = "841.3" y2 = "1139.7" / >
< / g >
< g >
< line class = "st6" x1 = "726.2" y1 = "1150.1" x2 = "726.2" y2 = "1151.1" / >
< line class = "st6" x1 = "726.7" y1 = "1150.6" x2 = "725.6" y2 = "1150.6" / >
< line class = "st6" x1 = "737.7" y1 = "1150.1" x2 = "737.7" y2 = "1151.1" / >
< line class = "st6" x1 = "738.3" y1 = "1150.6" x2 = "737.2" y2 = "1150.6" / >
< line class = "st6" x1 = "749.3" y1 = "1150.1" x2 = "749.3" y2 = "1151.1" / >
< line class = "st6" x1 = "749.8" y1 = "1150.6" x2 = "748.7" y2 = "1150.6" / >
< line class = "st6" x1 = "760.9" y1 = "1150.1" x2 = "760.8" y2 = "1151.1" / >
< line class = "st6" x1 = "761.4" y1 = "1150.6" x2 = "760.3" y2 = "1150.6" / >
< / g >
< g >
< line class = "st6" x1 = "772.4" y1 = "1150.1" x2 = "772.4" y2 = "1151.1" / >
< line class = "st6" x1 = "773" y1 = "1150.6" x2 = "771.9" y2 = "1150.6" / >
< line class = "st6" x1 = "784" y1 = "1150.1" x2 = "784" y2 = "1151.1" / >
< line class = "st6" x1 = "784.5" y1 = "1150.6" x2 = "783.4" y2 = "1150.6" / >
< line class = "st6" x1 = "795.5" y1 = "1150.1" x2 = "795.5" y2 = "1151.1" / >
< line class = "st6" x1 = "796.1" y1 = "1150.6" x2 = "795" y2 = "1150.6" / >
< line class = "st6" x1 = "807.1" y1 = "1150.1" x2 = "807.1" y2 = "1151.1" / >
< line class = "st6" x1 = "807.6" y1 = "1150.6" x2 = "806.5" y2 = "1150.6" / >
< / g >
< line class = "st6" x1 = "818.7" y1 = "1150.1" x2 = "818.6" y2 = "1151.1" / >
< line class = "st6" x1 = "819.2" y1 = "1150.6" x2 = "818.1" y2 = "1150.6" / >
< line class = "st6" x1 = "830.2" y1 = "1150.1" x2 = "830.2" y2 = "1151.1" / >
< line class = "st6" x1 = "830.8" y1 = "1150.6" x2 = "829.7" y2 = "1150.6" / >
< g >
< line class = "st6" x1 = "841.8" y1 = "1150.1" x2 = "841.8" y2 = "1151.1" / >
< line class = "st6" x1 = "842.3" y1 = "1150.6" x2 = "841.2" y2 = "1150.6" / >
< / g >
< g >
< line class = "st6" x1 = "841.6" y1 = "1161" x2 = "841.6" y2 = "1162" / >
< line class = "st6" x1 = "842.2" y1 = "1161.5" x2 = "841.1" y2 = "1161.5" / >
< / g >
< g >
< line class = "st6" x1 = "841.5" y1 = "1171.8" x2 = "841.5" y2 = "1172.9" / >
< line class = "st6" x1 = "842.1" y1 = "1172.4" x2 = "841" y2 = "1172.4" / >
< / g >
< g >
< line class = "st6" x1 = "841.4" y1 = "1182.7" x2 = "841.4" y2 = "1183.8" / >
< line class = "st6" x1 = "841.9" y1 = "1183.2" x2 = "840.8" y2 = "1183.2" / >
< / g >
< g >
< g >
< line class = "st6" x1 = "726.1" y1 = "1161" x2 = "726" y2 = "1162" / >
< line class = "st6" x1 = "726.6" y1 = "1161.5" x2 = "725.5" y2 = "1161.5" / >
< line class = "st6" x1 = "737.6" y1 = "1161" x2 = "737.6" y2 = "1162" / >
< line class = "st6" x1 = "738.2" y1 = "1161.5" x2 = "737.1" y2 = "1161.5" / >
< line class = "st6" x1 = "749.2" y1 = "1161" x2 = "749.2" y2 = "1162" / >
< line class = "st6" x1 = "749.7" y1 = "1161.5" x2 = "748.6" y2 = "1161.5" / >
< line class = "st6" x1 = "760.7" y1 = "1161" x2 = "760.7" y2 = "1162" / >
< line class = "st6" x1 = "761.3" y1 = "1161.5" x2 = "760.2" y2 = "1161.5" / >
< / g >
< g >
< line class = "st6" x1 = "772.3" y1 = "1161" x2 = "772.3" y2 = "1162" / >
< line class = "st6" x1 = "772.8" y1 = "1161.5" x2 = "771.7" y2 = "1161.5" / >
< line class = "st6" x1 = "783.8" y1 = "1161" x2 = "783.8" y2 = "1162" / >
< line class = "st6" x1 = "784.4" y1 = "1161.5" x2 = "783.3" y2 = "1161.5" / >
< line class = "st6" x1 = "795.4" y1 = "1161" x2 = "795.4" y2 = "1162" / >
< line class = "st6" x1 = "796" y1 = "1161.5" x2 = "794.9" y2 = "1161.5" / >
< line class = "st6" x1 = "807" y1 = "1161" x2 = "807" y2 = "1162" / >
< line class = "st6" x1 = "807.5" y1 = "1161.5" x2 = "806.4" y2 = "1161.5" / >
< / g >
< line class = "st6" x1 = "818.5" y1 = "1161" x2 = "818.5" y2 = "1162" / >
< line class = "st6" x1 = "819.1" y1 = "1161.5" x2 = "818" y2 = "1161.5" / >
< line class = "st6" x1 = "830.1" y1 = "1161" x2 = "830.1" y2 = "1162" / >
< line class = "st6" x1 = "830.6" y1 = "1161.5" x2 = "829.5" y2 = "1161.5" / >
< / g >
< g >
< g >
< line class = "st6" x1 = "725.9" y1 = "1171.8" x2 = "725.9" y2 = "1172.9" / >
< line class = "st6" x1 = "726.5" y1 = "1172.4" x2 = "725.4" y2 = "1172.4" / >
< line class = "st6" x1 = "737.5" y1 = "1171.8" x2 = "737.5" y2 = "1172.9" / >
< line class = "st6" x1 = "738" y1 = "1172.4" x2 = "736.9" y2 = "1172.4" / >
< line class = "st6" x1 = "749" y1 = "1171.8" x2 = "749" y2 = "1172.9" / >
< line class = "st6" x1 = "749.6" y1 = "1172.4" x2 = "748.5" y2 = "1172.4" / >
< line class = "st6" x1 = "760.6" y1 = "1171.8" x2 = "760.6" y2 = "1172.9" / >
< line class = "st6" x1 = "761.1" y1 = "1172.4" x2 = "760" y2 = "1172.4" / >
< / g >
< g >
< line class = "st6" x1 = "772.2" y1 = "1171.8" x2 = "772.1" y2 = "1172.9" / >
< line class = "st6" x1 = "772.7" y1 = "1172.4" x2 = "771.6" y2 = "1172.4" / >
< line class = "st6" x1 = "783.7" y1 = "1171.8" x2 = "783.7" y2 = "1172.9" / >
< line class = "st6" x1 = "784.3" y1 = "1172.4" x2 = "783.2" y2 = "1172.4" / >
< line class = "st6" x1 = "795.3" y1 = "1171.8" x2 = "795.3" y2 = "1172.9" / >
< line class = "st6" x1 = "795.8" y1 = "1172.4" x2 = "794.7" y2 = "1172.4" / >
< line class = "st6" x1 = "806.8" y1 = "1171.8" x2 = "806.8" y2 = "1172.9" / >
< line class = "st6" x1 = "807.4" y1 = "1172.4" x2 = "806.3" y2 = "1172.4" / >
< / g >
< line class = "st6" x1 = "818.4" y1 = "1171.8" x2 = "818.4" y2 = "1172.9" / >
< line class = "st6" x1 = "818.9" y1 = "1172.4" x2 = "817.8" y2 = "1172.4" / >
< line class = "st6" x1 = "830" y1 = "1171.8" x2 = "829.9" y2 = "1172.9" / >
< line class = "st6" x1 = "830.5" y1 = "1172.4" x2 = "829.4" y2 = "1172.4" / >
< / g >
< g >
< g >
< line class = "st6" x1 = "725.8" y1 = "1182.7" x2 = "725.8" y2 = "1183.8" / >
< line class = "st6" x1 = "726.3" y1 = "1183.2" x2 = "725.2" y2 = "1183.2" / >
< line class = "st6" x1 = "737.4" y1 = "1182.7" x2 = "737.3" y2 = "1183.8" / >
< line class = "st6" x1 = "737.9" y1 = "1183.2" x2 = "736.8" y2 = "1183.2" / >
< line class = "st6" x1 = "748.9" y1 = "1182.7" x2 = "748.9" y2 = "1183.8" / >
< line class = "st6" x1 = "749.5" y1 = "1183.2" x2 = "748.4" y2 = "1183.2" / >
< line class = "st6" x1 = "760.5" y1 = "1182.7" x2 = "760.5" y2 = "1183.8" / >
< line class = "st6" x1 = "761" y1 = "1183.2" x2 = "759.9" y2 = "1183.2" / >
< / g >
< g >
< line class = "st6" x1 = "772" y1 = "1182.7" x2 = "772" y2 = "1183.8" / >
< line class = "st6" x1 = "772.6" y1 = "1183.2" x2 = "771.5" y2 = "1183.2" / >
< line class = "st6" x1 = "783.6" y1 = "1182.7" x2 = "783.6" y2 = "1183.8" / >
< line class = "st6" x1 = "784.1" y1 = "1183.2" x2 = "783" y2 = "1183.2" / >
< line class = "st6" x1 = "795.1" y1 = "1182.7" x2 = "795.1" y2 = "1183.8" / >
< line class = "st6" x1 = "795.7" y1 = "1183.2" x2 = "794.6" y2 = "1183.2" / >
< line class = "st6" x1 = "806.7" y1 = "1182.7" x2 = "806.7" y2 = "1183.8" / >
< line class = "st6" x1 = "807.3" y1 = "1183.2" x2 = "806.2" y2 = "1183.2" / >
< / g >
< line class = "st6" x1 = "818.3" y1 = "1182.7" x2 = "818.3" y2 = "1183.8" / >
< line class = "st6" x1 = "818.8" y1 = "1183.2" x2 = "817.7" y2 = "1183.2" / >
< line class = "st6" x1 = "829.8" y1 = "1182.7" x2 = "829.8" y2 = "1183.8" / >
< line class = "st6" x1 = "830.4" y1 = "1183.2" x2 = "829.3" y2 = "1183.2" / >
< / g >
< / g >
< g >
< rect x = "726" y = "1197.9" class = "st6" width = "115.3" height = "79.1" / >
< line class = "st6" x1 = "726" y1 = "1237.9" x2 = "841.4" y2 = "1237.9" / >
< / g >
< line class = "st6" x1 = "640" y1 = "487" x2 = "640" y2 = "1762" / >
< g >
< rect x = "659.3" y = "1813.6" class = "st21" width = "597.1" height = "1335.1" / >
< rect x = "667.1" y = "1821" class = "st22" width = "580.8" height = "33.9" / >
< rect x = "667.1" y = "1862.6" class = "st22" width = "580.8" height = "1277.6" / >
< rect x = "680.2" y = "1834.2" class = "st1" width = "77.8" height = "8.4" / >
< text transform = "matrix(1 0 0 1 680.1709 1841.7874)" class = "st23 st24 st25" > OPTICAL FLOW< / text >
< rect x = "680.2" y = "1875.3" class = "st1" width = "558.1" height = "1265" / >
< text transform = "matrix(1 0 0 1 680.1709 1881.6899)" > < tspan x = "0" y = "0" class = "st23 st9 st25" > #!/usr/bin/env python< / tspan > < tspan x = "0" y = "21.4" class = "st23 st9 st25" > import numpy as np< / tspan > < tspan x = "0" y = "32.1" class = "st23 st9 st25" > import cv2, math< / tspan > < tspan x = "0" y = "42.8" class = "st23 st9 st25" > import video< / tspan > < tspan x = "0" y = "64.2" class = "st23 st9 st25" > help_message = ' ' ' < / tspan > < tspan x = "0" y = "74.9" class = "st23 st9 st25" > USAGE: opt_flow.py [< video_source> ]< / tspan > < tspan x = "0" y = "96.3" class = "st23 st9 st25" > Keys:< / tspan > < tspan x = "0" y = "107" class = "st23 st9 st25" > 1 - toggle HSV flow visualization< / tspan > < tspan x = "0" y = "117.7" class = "st23 st9 st25" > 2 - toggle glitch< / tspan > < tspan x = "0" y = "139.1" class = "st23 st9 st25" > ' ' ' < / tspan > < tspan x = "0" y = "160.5" class = "st23 st9 st25" > # def draw_flow(img, flow, step=4): # size grid < / tspan > < tspan x = "0" y = "171.2" class = "st23 st9 st25" > # h, w = img.shape[:2]< / tspan > < tspan x = "0" y = "181.9" class = "st23 st9 st25" > # y, x = np.mgrid[step/2:h:step, step/2:w:step].reshape(2,-1)< / tspan > < tspan x = "0" y = "192.6" class = "st23 st9 st25" > # fx, fy = flow[y,x].T< / tspan > < tspan x = "0" y = "203.3" class = "st23 st9 st25" > # lines = np.vstack([x, y, x+fx, y+fy]).T.reshape(-1, 2, 2)< / tspan > < tspan x = "0" y = "214" class = "st23 st9 st25" > # lines = np.int32(lines + 0.5)< / tspan > < tspan x = "0" y = "224.7" class = "st23 st9 st25" > # vis = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)< / tspan > < tspan x = "0" y = "235.4" class = "st23 st9 st25" > # cv2.polylines(vis, lines, 0, (0, 0, 255)) # BGR< / tspan > < tspan x = "0" y = "246.1" class = "st23 st9 st25" > # for (x1, y1), (x2, y2) in lines:< / tspan > < tspan x = "0" y = "256.8" class = "st23 st9 st25" > # cv2.circle(vis, (x1, y1), 1, (0, 255, 0), -1)< / tspan > < tspan x = "0" y = "267.5" class = "st23 st9 st25" > # return vis< / tspan > < tspan x = "0" y = "288.9" class = "st23 st9 st25" > import OSC< / tspan > < tspan x = "0" y = "299.6" class = "st23 st9 st25" > # from pythonosc import osc_message_builder< / tspan > < tspan x = "0" y = "310.3" class = "st23 st9 st25" > # from pythonosc import udp_client< / tspan > < tspan x = "0" y = "321" class = "st23 st9 st25" > import time< / tspan > < tspan x = "0" y = "342.4" class = "st23 st9 st25" > def send_flow0(img, flow, step=4): # size grid < / tspan > < tspan x = "0" y = "353.1" class = "st23 st9 st25" > h, w = img.shape[:2]< / tspan > < tspan x = "0" y = "363.8" class = "st23 st9 st25" > y, x = np.mgrid[step/2:h:step, step/2:w:step].reshape(2,-1)< / tspan > < tspan x = "0" y = "374.5" class = "st23 st9 st25" > fx, fy = flow[y,x].T< / tspan > < tspan x = "0" y = "385.2" class = "st23 st9 st25" > #print " fx, fy" , fx, fy< / tspan > < tspan x = "0" y = "395.9" class = "st23 st9 st25" > lines = np.vstack([x, y, x+fx, y+fy]).T.reshape(-1, 2, 2)< / tspan > < tspan x = "0" y = "406.6" class = "st23 st9 st25" > lines = np.int32(lines + 0.5)< / tspan > < tspan x = "0" y = "417.3" class = "st23 st9 st25" > vis = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)< / tspan > < tspan x = "0" y = "449.4" class = "st23 st9 st25" > flines = []< / tspan > < tspan x = "0" y = "460.1" class = "st23 st9 st25" > for (x1, y1), (x2, y2) in lines:< / tspan > < tspan x = "0" y = "470.8" class = "st23 st9 st25" > # print (" y1" , y1)< / tspan > < tspan x = "0" y = "481.5" class = "st23 st9 st25" > if (x1 == 38 or x1 == 46 or x1 == 54 or x1 == 62 or x1 == 70 or x1 == 78 or x1 == 86 < / tspan > < tspan x = "0" y = "492.2" class = "st23 st9 st25" > or x1 == 94 or x1 == 102 or x1 == 110 or x1 == 118) and y1 in range(38, 90, 8):< / tspan > < tspan x = "0" y = "502.9" class = "st23 st9 st25" > flines.append(((x1,y1),(x2,y2)))< / tspan > < tspan x = "0" y = "513.6" class = "st23 st9 st25" > normx = x1 / 8 - 4< / tspan > < tspan x = "0" y = "524.3" class = "st23 st9 st25" > normy = 1 - ((y1 / 8 - 4) / 3.0)< / tspan > < tspan x = "0" y = "535" class = "st23 st9 st25" > dx = x2-x1< / tspan > < tspan x = "0" y = "545.7" class = "st23 st9 st25" > dy = y2 - y1< / tspan > < tspan x = "0" y = "556.4" class = "st23 st9 st25" > m = int(math.sqrt( (dx*dx) + (dy*dy) ))< / tspan > < tspan x = "0" y = "567.1" class = "st23 st9 st25" > if m> 2:< / tspan > < tspan x = "0" y = "577.8" class = "st23 st9 st25" >
< / g >
< rect x = "50.6" y = "1246.8" class = "st1" width = "547.5" height = "247.7" / >
< text transform = "matrix(1 0 0 1 50.6133 1259.8176)" > < tspan x = "0" y = "0" class = "st2 st3" > By exploring the connection between motion and sound, experiments < / tspan > < tspan x = "0" y = "23" class = "st2 st3" > have been performed through different software and tools, which has < / tspan > < tspan x = "0" y = "46" class = "st2 st3" > strengthen substantially the following additional material in this < / tspan > < tspan x = "0" y = "69" class = "st2 st3" > project. For instance, Kinect sensor and Synapse, which receives input < / tspan > < tspan x = "0" y = "92" class = "st2 st3" > data from Kinect and sends it out to Ableton or Max MSP, have been < / tspan > < tspan x = "0" y = "115" class = "st2 st3" > tested out. Similarly, motion detection was together explored with < / tspan > < tspan x = "0" y = "138" class = "st2 st3" > “color detection” in Puredata, which brought up more interesting < / tspan > < tspan x = "0" y = "161" class = "st2 st3" > alternatives. Sound recording and feedback loop was further tested with < / tspan > < tspan x = "0" y = "184" class = "st2 st3" > this method, though mechanically it was hardly accurate. Finally with < / tspan > < tspan x = "0" y = "207" class = "st2 st3" > “Optical Flow”, this work was reconfigured with a wider sense for < / tspan > < tspan x = "0" y = "230" class = "st2 st3" > interacting with data.< / tspan > < / text >
< polygon class = "st26" points = "587.3,3146.4 51.3,3146.4 51.3,2804.1 587.3,2804.1 " / >
< polygon class = "st27" points = "626.8,3131.4 65.7,3131.4 65.7,2773 626.8,2772.9 " / >
< polygon class = "st28" points = "654.8,3113.4 80.8,3113.4 80.8,2746.8 654.8,2746.8 " / >
< polygon class = "st29" points = "702,3093.9 98.8,3093.9 98.8,2708.6 701.9,2708.6 " / >
< polygon class = "st30" points = "779.3,3074.4 118.4,3074.4 118.4,2652.2 779.3,2652.2 " / >
< image style = "overflow:visible;" width = "600" height = "304" xlink:href = "edited/8-optflow.jpg" transform = "matrix(0.3988 0 0 0.3988 179.3978 1614.6321)" >
< / image >
< image style = "overflow:visible;" width = "600" height = "304" xlink:href = "edited/10-optflow.jpg" transform = "matrix(0.3943 0 6.752105e-06 0.3943 256.7634 1761.7285)" >
< / image >
< image style = "overflow:visible;" width = "400" height = "250" xlink:href = "edited/6-pd.jpg" transform = "matrix(0.3991 0 0 0.3991 212.8855 1803.1924)" >
< / image >
< image style = "overflow:visible;" width = "400" height = "250" xlink:href = "edited/5-pd.jpg" transform = "matrix(0.3996 0 0 0.3996 179.7984 1837.965)" >
< / image >
< image style = "overflow:visible;" width = "400" height = "250" xlink:href = "edited/2-ableton-kinect.jpg" transform = "matrix(0.3996 0 0 0.3996 133.2772 1884.1931)" >
< / image >
< image style = "overflow:visible;" width = "653" height = "408" xlink:href = "2.gif" transform = "matrix(0.6528 0 0 0.6528 67.8154 2054.3865)" >
< / image >
< g >
< image style = "overflow:visible;" width = "944" height = "603" xlink:href = "pd.png" transform = "matrix(0.7541 0 0 0.7541 139.3997 2600.1714)" >
< / image >
< polygon class = "st31" points = "852.6,3054.9 139.4,3054.9 139.4,2599.4 852.6,2599.4 " / >
< / g >
< image style = "overflow:visible;" width = "600" height = "304" xlink:href = "edited/7-optflow.jpg" transform = "matrix(0.3988 0 0 0.3988 66.3565 1554.0214)" >
< / image >
< / g >
< g id = "Layer_2" >
< / g >
< / svg >
< / body >
< / html >