<snapdata remixID="10392728"><project name="oriented polygons collision detection" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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AAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIAAARzAECgBAQQQQCA+AQI4vpnTMQIIIIBAAAIEcABDoAQEEEAAgfgECOD4Zk7HCCCAAAIBCBDAAQyBEhBAAAEE4hMggOObOR0jgAACCAQgQAAHMARKQAABBBCIT4AAjm/mdIwAAgggEIDA/wf4thEssBDPoQAAAABJRU5ErkJggg==</pentrails><costumes><list id="2"><item><costume name="costume1" center-x="240" center-y="180" image="data:image/png;base64,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ZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgLKOBweEYnQIAAga6AAu5mZ3ICBAgQCAso4HB4RidAgACBroAC7mZncgIECBAICyjgcHhGJ0CAAIGugALuZmdyAgQIEAgL/AehW+cQn7at4AAAAABJRU5ErkJggg==" id="3"/></item></list></costumes><sounds><list struct="atomic" id="4"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="-114.58984374999977" y="170.00000000000082" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,255,1" pen="tip" id="9"><costumes><list struct="atomic" id="10"></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables><variable name="COM"><list struct="atomic" id="14">8.666666000000001,40.933332</list></variable><variable name="l"><list id="15"><item><list id="16"><item><list struct="atomic" id="17">-133.33333000000002,-17.333330000000004</list></item><item><l>2</l></item><item><l>3</l></item></list></item><item><list id="18"><item><list struct="atomic" id="19">40.66667000000001,-104</list></item><item><l>3</l></item><item><l>4</l></item></list></item><item><list id="20"><item><list struct="atomic" id="21">132.66666,-46</list></item><item><l>4</l></item><item><l>5</l></item></list></item><item><list id="22"><item><list struct="atomic" id="23">59.333330000000004,64</list></item><item><l>5</l></item><item><l>1</l></item></list></item><item><list id="24"><item><list struct="atomic" id="25">-99.33333000000002,103.33333</list></item><item><l>1</l></item><item><l>2</l></item></list></item></list></variable><variable name="concaveVertices"><list struct="atomic" id="26"></list></variable></variables><scripts><script x="30" y="10"><block s="receiveGo"></block><block s="doDeleteFromList"><l><option>all</option></l><block var="polygon"/></block><block s="doFor"><l>i</l><l>1</l><l>2</l><script><block s="doSetVar"><l>knot</l><block s="reportNewList"><list></list></block></block><block s="doDeleteFromList"><l><option>all</option></l><block var="concaveVertices"/></block><custom-block s="Knot( %l )"><custom-block s="vec2( %n , %n )"><l>-50</l><l>20</l></custom-block></custom-block><custom-block s="Knot( %l )"><custom-block s="vec2( %n , %n )"><l>50</l><l>-20</l></custom-block></custom-block><block s="doUntil"><block s="reportAnd"><block s="reportAnd"><block s="reportKeyPressed"><l><option>space</option></l></block><block s="reportLessThan"><block s="reportListAttribute"><l><option>length</option></l><block var="concaveVertices"/></block><l>1</l></block></block><block s="reportGreaterThan"><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block><l>1</l></block></block><script><block s="doWarp"><script><custom-block s="UpdateKnot( %n )"><block var="i"/></custom-block></script></block></script></block><custom-block s="Polygon( %l , %l , %n )"><block var="COM"/><block var="knot"/><l>0</l></custom-block><block s="doUntil"><block s="reportNot"><block s="reportKeyPressed"><l><option>space</option></l></block></block><script></script></block></script></block><block s="doUntil"><block s="reportBoolean"><l><bool>false</bool></l></block><script><block s="doWarp"><script><custom-block s="UpdatePolygon()"></custom-block></script></block></script></block></script></scripts></sprite><watcher var="knot" style="normal" x="5" y="36.999998000000005" color="243,118,29" hidden="true"/><watcher var="k" style="normal" x="5" y="61.50000199999995" color="243,118,29" hidden="true"/><watcher var="keyDown" style="normal" x="5" y="72.00000299999999" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="COM" style="normal" x="5" y="82.50000399999979" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="l" style="normal" x="0" y="0" color="243,118,29" hidden="true"/><watcher var="N" style="normal" x="146" y="108.5" color="243,118,29" hidden="true"/><watcher var="spaceDown" style="normal" x="5" y="5" color="243,118,29" hidden="true"/><watcher var="polygon" style="normal" x="0" y="0" color="243,118,29" hidden="true"/><watcher var="c" style="normal" x="172" y="152" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="vec2( %&apos;x&apos; , %&apos;y&apos; )" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block-definition><block-definition s="%&apos;vec2&apos; .x" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="vec2"/></block></block></script></block-definition><block-definition s="%&apos;vec2&apos; .y" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="vec2"/></block></block></script></block-definition><block-definition s="%&apos;vec2&apos; .mag" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="pythagorean( %n , %n )"><custom-block s="%l .x"><block var="vec2"/></custom-block><custom-block s="%l .y"><block var="vec2"/></custom-block></custom-block></block></script></block-definition><block-definition s="pythagorean( %&apos;a&apos; , %&apos;b&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportSum"><block s="reportPower"><block var="a"/><l>2</l></block><block s="reportPower"><block var="b"/><l>2</l></block></block></block></block></script></block-definition><block-definition s="%&apos;vec2&apos; .normalize" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="vec2( %n , %n )"><block s="reportQuotient"><custom-block s="%l .x"><block var="vec2"/></custom-block><custom-block s="%l .mag"><block var="vec2"/></custom-block></block><block s="reportQuotient"><custom-block s="%l .y"><block var="vec2"/></custom-block><custom-block s="%l .mag"><block var="vec2"/></custom-block></block></custom-block></block></script></block-definition><block-definition s="DotProduct( %&apos;a&apos; , %&apos;b&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportSum"><block s="reportProduct"><custom-block s="%l .x"><block var="a"/></custom-block><custom-block s="%l .x"><block var="b"/></custom-block></block><block s="reportProduct"><custom-block s="%l .y"><block var="a"/></custom-block><custom-block s="%l .y"><block var="b"/></custom-block></block></block></block></script></block-definition><block-definition s="CrossProduct( %&apos;a&apos; , %&apos;b&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportProduct"><custom-block s="%l .x"><block var="a"/></custom-block><custom-block s="%l .y"><block var="b"/></custom-block></block><block s="reportProduct"><custom-block s="%l .y"><block var="a"/></custom-block><custom-block s="%l .x"><block var="b"/></custom-block></block></block></block></script></block-definition><block-definition s="CrossProduct2( %&apos;vec2&apos; , %&apos;s&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="vec2( %n , %n )"><block s="reportProduct"><block var="s"/><custom-block s="%l .y"><block var="vec2"/></custom-block></block><block s="reportProduct"><block s="reportDifference"><l></l><block var="s"/></block><custom-block s="%l .x"><block var="vec2"/></custom-block></block></custom-block></block></script></block-definition><block-definition s="CrossProduct3( %&apos;s&apos; , %&apos;vec2&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="vec2( %n , %n )"><block s="reportProduct"><block s="reportDifference"><l></l><block var="s"/></block><custom-block s="%l .y"><block var="vec2"/></custom-block></block><block s="reportProduct"><block var="s"/><custom-block s="%l .x"><block var="vec2"/></custom-block></block></custom-block></block></script></block-definition><block-definition s="Line( %&apos;pos1&apos; , %&apos;pos2&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="gotoXY"><custom-block s="%l .x"><block var="pos1"/></custom-block><custom-block s="%l .y"><block var="pos1"/></custom-block></block><block s="down"></block><block s="gotoXY"><custom-block s="%l .x"><block var="pos2"/></custom-block><custom-block s="%l .y"><block var="pos2"/></custom-block></block><block s="up"></block></script></block-definition><block-definition s="DrawCircle( %&apos;position&apos; , %&apos;rad&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>pos1</l><l>pos2</l><l>a2</l></list></block><block s="doRepeat"><l>24</l><script><block s="doSetVar"><l>a2</l><block var="a"/></block><block s="doChangeVar"><l>a</l><block s="reportQuotient"><l>360</l><l>24</l></block></block><block s="doSetVar"><l>pos1</l><custom-block s="vec2( %n , %n )"><block s="reportSum"><custom-block s="%l .x"><block var="position"/></custom-block><block s="reportProduct"><block var="rad"/><block s="reportMonadic"><l><option>cos</option></l><block var="a2"/></block></block></block><block s="reportSum"><custom-block s="%l .y"><block var="position"/></custom-block><block s="reportProduct"><block var="rad"/><block s="reportMonadic"><l><option>sin</option></l><block var="a2"/></block></block></block></custom-block></block><block s="doSetVar"><l>pos2</l><custom-block s="vec2( %n , %n )"><block s="reportSum"><custom-block s="%l .x"><block var="position"/></custom-block><block s="reportProduct"><block var="rad"/><block s="reportMonadic"><l><option>cos</option></l><block var="a"/></block></block></block><block s="reportSum"><custom-block s="%l .y"><block var="position"/></custom-block><block s="reportProduct"><block var="rad"/><block s="reportMonadic"><l><option>sin</option></l><block var="a"/></block></block></block></custom-block></block><custom-block s="Line( %l , %l )"><block var="pos1"/><block var="pos2"/></custom-block></script></block></script></block-definition><block-definition s="%&apos;a&apos; = %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportEquals"><custom-block s="%l .x"><block var="a"/></custom-block><custom-block s="%l .x"><block var="b"/></custom-block></block><block s="reportEquals"><custom-block s="%l .y"><block var="a"/></custom-block><custom-block s="%l .y"><block var="b"/></custom-block></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; .clamp( %&apos;min&apos; , %&apos;max&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportLessThan"><block var="a"/><block var="min"/></block><script><block s="doReport"><block var="min"/></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="a"/><block var="max"/></block><script><block s="doReport"><block var="max"/></block></script><script><block s="doReport"><block var="a"/></block></script></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; .projection_on( %&apos;b&apos; )" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportProduct"><block s="reportQuotient"><custom-block s="DotProduct( %l , %l )"><block var="a"/><block var="b"/></custom-block><block s="reportPower"><custom-block s="%l .mag"><block var="b"/></custom-block><l>2</l></block></block><block var="b"/></block></block></script></block-definition><block-definition s="DrawPolygon( %&apos;p&apos; , %&apos;pos&apos; , %&apos;vertices&apos; , %&apos;orient&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>v</l><l>n</l></list></block><block s="doSetVar"><l>v</l><custom-block s="%l .vertices"><block var="p"/><variables><variable name="v"><list id="446"><item><list struct="atomic" id="447">-50.00000000000001,20</list></item><item><list struct="atomic" id="448">50.00000000000001,-20</list></item><item><list struct="atomic" id="449">83.33333,37.333330000000004</list></item><item><list struct="atomic" id="450">9.33333,84</list></item><item><list struct="atomic" id="451">-49.333330000000004,83.33333</list></item></list></variable></variables></custom-block></block><block s="setColor"><color>251,255,246,1</color></block><block s="setPenHSVA"><l><option>transparency</option></l><l>80</l></block><custom-block s="BoundingBox( %l )"><block var="v"/></custom-block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertices"/></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><custom-block s="%n .range( %n , %n )"><block s="reportSum"><block var="i"/><l>1</l></block><l>0</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertices"/></block></custom-block></block><block s="setSize"><l>2</l></block><block s="setColor"><color>254,255,254,1</color></block><block s="doIfElse"><block var="c"/><script><block s="setPenHSVA"><l><option>brightness</option></l><l>100</l></block></script><script><block s="setPenHSVA"><l><option>brightness</option></l><l>50</l></block></script></block><custom-block s="Line( %l , %l )"><custom-block s="%l [ %n ]"><block var="v"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="v"/><block var="i2"/></custom-block></custom-block></script></block><block s="doDeclareVariables"><list><l>mat2</l><l>X</l><l>Y</l></list></block><block s="doSetVar"><l>mat2</l><custom-block s="Mat2( %n )"><block var="orient"/><variables><variable name="c"><l>1</l></variable><variable name="s"><l>0</l></variable></variables></custom-block></block><block s="doSetVar"><l>X</l><custom-block s="%l .xCol"><block var="mat2"/></custom-block></block><block s="doSetVar"><l>Y</l><custom-block s="%l .yCol"><block var="mat2"/></custom-block></block><block s="doDeclareVariables"><list><l>l</l></list></block><block s="doSetVar"><l>l</l><l>20</l></block><block s="setSize"><l>1</l></block><block s="setColor"><color>255,36,29,1</color></block><custom-block s="Arrow( %l , %l , %n , %n )"><block var="pos"/><block s="reportSum"><block var="pos"/><block s="reportProduct"><block var="X"/><block var="l"/></block></block><l>2</l><l>5</l></custom-block><block s="setColor"><color>64,255,15,1</color></block><custom-block s="Arrow( %l , %l , %n , %n )"><block var="pos"/><block s="reportSum"><block var="pos"/><block s="reportProduct"><block var="Y"/><block var="l"/></block></block><l>2</l><l>5</l></custom-block></script><scripts><script x="420" y="101.1666666666667"><block s="doAddToList"><block s="reportQuotient"><block s="reportSum"><custom-block s="%l [ %n ]"><block var="v"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="v"/><block var="i2"/></custom-block></block><l>2</l></block><block var="m"/></block><block s="doSetVar"><l>n</l><custom-block s="%l .normals"><block var="p"/><variables><variable name="n"><l>0</l></variable></variables></custom-block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="m"/></block><script><block s="setSize"><l>2</l></block><custom-block s="Line( %l , %l )"><custom-block s="%l [ %n ]"><block var="m"/><block var="i"/></custom-block><block s="reportSum"><custom-block s="%l [ %n ]"><block var="m"/><block var="i"/></custom-block><block s="reportProduct"><custom-block s="%l [ %n ]"><block var="n"/><block var="i"/></custom-block><l>10</l></block></block></custom-block></script></block></script></scripts></block-definition><block-definition s="Mat2( %&apos;radians&apos; )" type="reporter" category="lists"><variables><list struct="atomic" id="616">c,s</list></variables><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doSetVar"><l>c</l><block s="reportMonadic"><l><option>cos</option></l><block var="radians"/></block></block><block s="doSetVar"><l>s</l><block s="reportMonadic"><l><option>sin</option></l><block var="radians"/></block></block><block s="doReport"><block s="reportReshape"><block s="reportNewList"><list><custom-block s="vec2( %n , %n )"><block var="c"/><block s="reportDifference"><l></l><block var="s"/></block></custom-block><custom-block s="vec2( %n , %n )"><block var="s"/><block var="c"/></custom-block></list></block><list><l>2</l><l>2</l></list></block></block></script></block-definition><block-definition s="%&apos;mat2&apos; .xCol" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="mat2"/></block></block></script></block-definition><block-definition s="%&apos;mat2&apos; .yCol" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="mat2"/></block></block></script></block-definition><block-definition s="%&apos;a&apos; [ %&apos;i&apos; ]" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="i"/><block var="a"/></block></block></script></block-definition><block-definition s="Polygon( %&apos;COM&apos; , %&apos;vertices&apos; , %&apos;orient&apos; )" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>p</l></list></block><block s="doSetVar"><l>p</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="COM"/><block var="p"/></block><block s="doDeclareVariables"><list><l>dis</l></list></block><block s="doSetVar"><l>dis</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertices"/></block><script><block s="doAddToList"><block s="reportDifference"><custom-block s="%l [ %n ]"><block var="vertices"/><block var="i"/></custom-block><block var="COM"/></block><block var="dis"/></block></script></block><block s="doAddToList"><block var="dis"/><block var="p"/></block><block s="doAddToList"><block var="orient"/><block var="p"/></block><block s="doAddToList"><block var="p"/><block var="polygon"/></block></script></block-definition><block-definition s="RandomizeVertices( %&apos;n&apos; )" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>v</l></list></block><block s="doSetVar"><l>v</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doAddToList"><custom-block s="vec2( %n , %n )"><block s="reportRandom"><l>-240</l><l>240</l></block><block s="reportRandom"><l>-180</l><l>180</l></block></custom-block><block var="v"/></block></script></block><block s="doReport"><block var="v"/></block></script></block-definition><block-definition s="%&apos;a&apos; .vertices" type="reporter" category="lists"><variables><list struct="atomic" id="758">v</list></variables><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>mat2</l><l>X</l><l>Y</l></list></block><block s="doSetVar"><l>v</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>mat2</l><custom-block s="Mat2( %n )"><block s="reportDifference"><l></l><custom-block s="%l [ %n ]"><block var="a"/><l>3</l></custom-block></block><variables><variable name="c"><l>0</l></variable><variable name="s"><l>0</l></variable></variables></custom-block></block><block s="doSetVar"><l>X</l><custom-block s="%l .xCol"><block var="mat2"/></custom-block></block><block s="doSetVar"><l>Y</l><custom-block s="%l .yCol"><block var="mat2"/></custom-block></block><block s="doDeclareVariables"><list><l>vertices</l></list></block><block s="doSetVar"><l>vertices</l><custom-block s="%l [ %n ]"><block var="a"/><l>2</l></custom-block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertices"/></block><script><block s="doWarp"><script><block s="doAddToList"><block s="reportSum"><custom-block s="%l [ %n ]"><block var="a"/><l>1</l></custom-block><custom-block s="%l * %l"><block var="mat2"/><custom-block s="%l [ %n ]"><block var="vertices"/><block var="i"/></custom-block></custom-block></block><block var="v"/></block></script></block></script></block><block s="doReport"><block var="v"/></block></script></block-definition><block-definition s="%&apos;a&apos; .normals" type="reporter" category="lists"><variables><list struct="atomic" id="833">n</list></variables><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>v</l></list></block><block s="doSetVar"><l>v</l><custom-block s="%l .vertices"><block var="a"/><variables><variable name="v"><l>0</l></variable></variables></custom-block></block><block s="doSetVar"><l>n</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="v"/></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><custom-block s="%n .range( %n , %n )"><block s="reportSum"><block var="i"/><l>1</l></block><l>0</l><block s="reportListAttribute"><l><option>length</option></l><block var="v"/></block></custom-block></block><block s="doAddToList"><custom-block s="CrossProduct3( %n , %l )"><l>1</l><custom-block s="%l .normalize"><block s="reportDifference"><custom-block s="%l [ %n ]"><block var="v"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="v"/><block var="i2"/></custom-block></block></custom-block></custom-block><block var="n"/></block></script></block></script></block><block s="doReport"><block var="n"/></block></script></block-definition><block-definition s="Knot( %&apos;pos&apos; )" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doAddToList"><block var="pos"/><block var="knot"/></block></script></block-definition><block-definition s="UpdateKnot( %&apos;polygon&apos; )" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="clear"></block><custom-block s="Grid( %n )"><l>100</l></custom-block><custom-block s="KnotCollisions()"></custom-block><custom-block s="LineThroughKnots()"></custom-block><custom-block s="ConcaveDetection()"></custom-block><custom-block s="DrawKnot()"></custom-block><custom-block s="ConcaveVertices()"></custom-block><custom-block s="Spawn()"></custom-block><custom-block s="GetCom()"></custom-block><custom-block s="TextRender()"></custom-block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><l>-235</l><l>165</l></custom-block><block s="reportJoinWords"><list><l>POLYGON </l><block var="polygon"/></list></block><l>15</l></custom-block></script></block-definition><block-definition s="DrawKnot()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>pos</l><block var="knot"/><script><block s="setColor"><color>74,127,255,1</color></block><block s="setSize"><l>10</l></block><custom-block s="Line( %l , %l )"><block var="pos"/><block s="reportSum"><block var="pos"/><custom-block s="vec2( %n , %n )"><l></l><l>0.000001</l></custom-block></block></custom-block><block s="setColor"><color>255,255,255,1</color></block><custom-block s="Print( %l , %s , %n )"><block s="reportSum"><block var="pos"/><custom-block s="vec2( %n , %n )"><l>-1.8</l><l>-2</l></custom-block></block><block s="reportListIndex"><block var="pos"/><block var="knot"/></block><l>6</l></custom-block><custom-block s="Print( %l , %s , %n )"><block s="reportSum"><block var="pos"/><custom-block s="vec2( %n , %n )"><l>3</l><l>3</l></custom-block></block><block s="reportJoinWords"><list><l></l><l>[</l><custom-block s="Round( %n , %n )"><custom-block s="%l .x"><block var="pos"/></custom-block><l>1</l></custom-block><l>, </l><custom-block s="Round( %n , %n )"><custom-block s="%l .y"><block var="pos"/></custom-block><l>1</l></custom-block><l>]</l></list></block><l>6</l></custom-block></script></block></script></block-definition><block-definition s="LineThroughKnots()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><custom-block s="%n .range( %n , %n )"><block s="reportSum"><block var="i"/><l>1</l></block><l>0</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></custom-block></block><block s="doIfElse"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="concaveVertices"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></block><script><block s="setColor"><color>221,16,0,1</color></block></script><script><block s="setColor"><color>0,79,180,1</color></block></script></block><block s="setSize"><l>2</l></block><custom-block s="Line( %l , %l )"><custom-block s="%l [ %n ]"><block var="knot"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="knot"/><block var="i2"/></custom-block></custom-block></script></block></script></block-definition><block-definition s="KnotCollisions()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>pos</l><block var="knot"/><script><block s="doIfElse"><block s="reportLessThan"><custom-block s="%l .mag"><block s="reportDifference"><custom-block s="vec2( %n , %n )"><block s="reportMouseX"></block><block s="reportMouseY"></block></custom-block><block var="pos"/></block></custom-block><l>5</l></block><script><block s="doIfElse"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>k</l><block s="reportListIndex"><block var="pos"/><block var="knot"/></block></block></script><script></script></block></script><script></script></block></script></block><block s="doIfElse"><block s="reportMouseDown"></block><script><block s="doReplaceInList"><block var="k"/><block var="knot"/><custom-block s="vec2( %n , %n )"><block s="reportMouseX"></block><block s="reportMouseY"></block></custom-block></block></script><script><block s="doSetVar"><l>k</l><l>0</l></block></script></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block><script><block s="doReplaceInList"><block var="i"/><block var="knot"/><custom-block s="vec2( %n , %n )"><custom-block s="Round( %n , %n )"><custom-block s="%l .x"><custom-block s="%l [ %n ]"><block var="knot"/><block var="i"/></custom-block></custom-block><l>0.00001</l></custom-block><custom-block s="Round( %n , %n )"><custom-block s="%l .y"><custom-block s="%l [ %n ]"><block var="knot"/><block var="i"/></custom-block></custom-block><l>0.00001</l></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="UpdatePolygon()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block><custom-block s="DrawPolygon()"></custom-block><custom-block s="CollisionDetection()"></custom-block><block s="doIf"><block s="reportMouseDown"></block><script><block s="doReplaceInList"><l>3</l><custom-block s="%l [ %n ]"><block var="polygon"/><l>1</l></custom-block><block s="reportSum"><custom-block s="%l [ %n ]"><custom-block s="%l [ %n ]"><block var="polygon"/><l>1</l></custom-block><l>3</l></custom-block><l>4</l></block></block></script></block><block s="doReplaceInList"><l>1</l><custom-block s="%l [ %n ]"><block var="polygon"/><l>1</l></custom-block><custom-block s="vec2( %n , %n )"><block s="reportMouseX"></block><block s="reportMouseY"></block></custom-block></block><block s="setColor"><color>255,255,255,1</color></block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><l>-235</l><l>170</l></custom-block><l>hold left mouse to rotate</l><l>8</l></custom-block></script></block-definition><block-definition s="%&apos;a&apos; .faces" type="reporter" category="lists"><variables><list struct="atomic" id="1186">face</list></variables><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>v</l></list></block><block s="doSetVar"><l>v</l><custom-block s="%l .vertices"><block var="a"/><variables><variable name="v"><l>0</l></variable></variables></custom-block></block><block s="doSetVar"><l>face</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="v"/></block><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportSum"><block var="i"/><l>1</l></block><block s="reportListAttribute"><l><option>length</option></l><block var="v"/></block></block><script><block s="doSetVar"><l>i2</l><l>1</l></block></script><script><block s="doSetVar"><l>i2</l><block s="reportSum"><block var="i"/><l>1</l></block></block></script></block><block s="doAddToList"><block s="reportDifference"><custom-block s="%l [ %n ]"><block var="v"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="v"/><block var="i2"/></custom-block></block><block var="face"/></block></script></block><block s="doReport"><block var="face"/></block></script></block-definition><block-definition s="%&apos;n&apos; .range( %&apos;min&apos; , %&apos;max&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportLessThan"><block var="n"/><block var="min"/></block><script><block s="doReport"><block s="reportDifference"><block var="max"/><block s="reportDifference"><block var="min"/><block var="n"/></block></block></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="n"/><block var="max"/></block><script><block s="doReport"><block s="reportSum"><block var="min"/><block s="reportDifference"><block var="n"/><block var="max"/></block></block></block></script><script><block s="doReport"><block var="n"/></block></script></block></script></block></script></block-definition><block-definition s="Spawn()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportKeyPressed"><l><option>s</option></l></block><script><block s="doIf"><block s="reportEquals"><block var="keyDown"/><block s="reportBoolean"><l><bool>false</bool></l></block></block><script><custom-block s="Knot( %l )"><custom-block s="vec2( %n , %n )"><block s="reportMouseX"></block><block s="reportMouseY"></block></custom-block></custom-block><block s="doSetVar"><l>keyDown</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><script><block s="doSetVar"><l>keyDown</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="GetCom()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>COM</l><l></l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block><script><block s="doSetVar"><l>COM</l><block s="reportSum"><block var="COM"/><custom-block s="%l [ %n ]"><block var="knot"/><block var="i"/></custom-block></block></block></script></block><block s="doSetVar"><l>COM</l><block s="reportQuotient"><block var="COM"/><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></block></block><block s="setSize"><l>4</l></block><block s="setColor"><color>242,225,0,1</color></block><custom-block s="Line( %l , %l )"><block var="COM"/><block s="reportSum"><block var="COM"/><custom-block s="vec2( %n , %n )"><l></l><l>0.000001</l></custom-block></block></custom-block></script></block-definition><block-definition s="ConcaveDetection()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeleteFromList"><l><option>all</option></l><block var="concaveVertices"/></block><block s="doDeleteFromList"><l><option>all</option></l><block var="l"/></block><block s="doDeleteFromList"><l><option>all</option></l><block var="N"/></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>i2</l></list></block><block s="doSetVar"><l>i2</l><custom-block s="%n .range( %n , %n )"><block s="reportSum"><block var="i"/><l>2</l></block><l>0</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportDifference"><custom-block s="%l [ %n ]"><block var="knot"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="knot"/><block var="i2"/></custom-block></block><custom-block s="%n .range( %n , %n )"><block s="reportSum"><block var="i"/><l>1</l></block><l>0</l><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></custom-block><block var="i2"/></list></block><block var="l"/></block><block s="doAddToList"><custom-block s="%l .normalize"><custom-block s="CrossProduct3( %n , %l )"><l>1</l><block s="reportDifference"><custom-block s="%l [ %n ]"><block var="knot"/><block var="i"/></custom-block><custom-block s="%l [ %n ]"><block var="knot"/><block var="i2"/></custom-block></block></custom-block></custom-block><block var="N"/></block></script></block></script></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="l"/></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>start</l><l>end</l></list></block><block s="doSetVar"><l>start</l><custom-block s="%l [ %n ]"><block var="knot"/><custom-block s="%l [ %n ]"><custom-block s="%l [ %n ]"><block var="l"/><block var="i"/></custom-block><l>3</l></custom-block></custom-block></block><block s="doSetVar"><l>end</l><custom-block s="%l [ %n ]"><block var="knot"/><custom-block s="%l [ %n ]"><custom-block s="%l [ %n ]"><block var="l"/><block var="i"/></custom-block><l>2</l></custom-block></custom-block></block><block s="doDeclareVariables"><list><l>face</l><l>projection</l><l>vd</l><l>d</l></list></block><block s="doSetVar"><l>face</l><block s="reportDifference"><block var="end"/><block var="start"/></block></block><block s="doSetVar"><l>projection</l><custom-block s="%l .projection_on( %l )"><block var="face"/><custom-block s="%l [ %n ]"><custom-block s="%l [ %n ]"><block var="l"/><block var="i"/></custom-block><l>1</l></custom-block></custom-block></block><block s="doSetVar"><l>vd</l><block s="reportDifference"><block var="end"/><block s="reportSum"><block var="start"/><block var="projection"/></block></block></block><block s="doSetVar"><l>d</l><custom-block s="DotProduct( %l , %l )"><custom-block s="%l .normalize"><block var="vd"/></custom-block><custom-block s="%l [ %n ]"><block var="N"/><block var="i"/></custom-block></custom-block></block><block s="doIfElse"><block s="reportLessThan"><block var="d"/><l>0</l></block><script><block s="doAddToList"><block s="reportListIndex"><block var="end"/><block var="knot"/></block><block var="concaveVertices"/></block></script><script></script></block></script></block></script></block></script><scripts><script x="275" y="697.7999999999997"><custom-block s="Line( %l , %l )"><block s="reportSum"><block var="start"/><block var="projection"/></block><block s="reportSum"><block s="reportSum"><block var="start"/><block var="projection"/></block><block var="vd"/></block></custom-block></script></scripts></block-definition><block-definition s="ConcaveVertices()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListAttribute"><l><option>length</option></l><block var="concaveVertices"/></block><l>0</l></block><script><block s="doIf"><block s="reportLessThan"><block s="reportListAttribute"><l><option>length</option></l><block var="concaveVertices"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></block><script><block s="doForEach"><l>index</l><block var="concaveVertices"/><script><block s="setColor"><color>209,23,0,1</color></block><block s="setSize"><l>15</l></block><custom-block s="Line( %l , %l )"><custom-block s="%l [ %n ]"><block var="knot"/><block var="index"/></custom-block><block s="reportSum"><custom-block s="%l [ %n ]"><block var="knot"/><block var="index"/></custom-block><custom-block s="vec2( %n , %n )"><l></l><l>0.000001</l></custom-block></block></custom-block><block s="setColor"><color>255,255,255,1</color></block><block s="changeXPosition"><l>-1.8</l></block><block s="changeYPosition"><l>-2</l></block><block s="write"><block s="reportListIndex"><custom-block s="%l [ %n ]"><block var="knot"/><block var="index"/></custom-block><block var="knot"/></block><l>6</l></block></script></block></script></block></script></block></script></block-definition><block-definition s="GetSupport( %&apos;a&apos; , %&apos;dir&apos; )" type="reporter" category="other"><variables><list struct="atomic" id="1635">bestVertex</list></variables><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>bestProjection</l><l>vertices</l></list></block><block s="doSetVar"><l>bestProjection</l><block s="reportDifference"><l></l><custom-block s="FLT_MAX"></custom-block></block></block><block s="doSetVar"><l>bestVertex</l><custom-block s="vec2( %n , %n )"><l>0</l><l>0</l></custom-block></block><block s="doSetVar"><l>vertices</l><custom-block s="%l .vertices"><block var="a"/><variables><variable name="v"><list id="1660"><item><list struct="atomic" id="1661">-50.00000000000001,20</list></item><item><list struct="atomic" id="1662">50.00000000000001,-20</list></item><item><list struct="atomic" id="1663">83.33333,37.333330000000004</list></item><item><list struct="atomic" id="1664">9.33333,84</list></item><item><list struct="atomic" id="1665">-49.333330000000004,83.33333</list></item></list></variable></variables></custom-block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertices"/></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>v</l><l>projection</l></list></block><block s="doSetVar"><l>v</l><custom-block s="%l [ %n ]"><block var="vertices"/><block var="i"/></custom-block></block><block s="doSetVar"><l>projection</l><custom-block s="DotProduct( %l , %l )"><block var="v"/><block var="dir"/></custom-block></block><block s="doIf"><block s="reportGreaterThan"><block var="projection"/><block var="bestProjection"/></block><script><block s="doSetVar"><l>bestVertex</l><block var="v"/></block><block s="doSetVar"><l>bestProjection</l><block var="projection"/></block></script></block></script></block></script></block><block s="doReport"><block var="bestVertex"/></block></script></block-definition><block-definition s="FLT_MAX" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>340282346638528859811704183484516925440.000000</l></block></script></block-definition><block-definition s="FindAxisLeastPenetration( %&apos;a&apos; , %&apos;b&apos; )" type="reporter" category="other"><variables><list struct="atomic" id="1715">bestDistance,bestIndex,bestVertex</list></variables><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>bestDistance</l><block s="reportDifference"><l></l><custom-block s="FLT_MAX"></custom-block></block></block><block s="doDeclareVariables"><list><l>nromals</l><l>vertices</l></list></block><block s="doSetVar"><l>vertices</l><custom-block s="%l .vertices"><block var="a"/><variables><variable name="v"><list id="1734"><item><list struct="atomic" id="1735">367.3567869336199,206.84739519539363</list></item><item><list struct="atomic" id="1736">461.56680989279,130.6982359191603</list></item><item><list struct="atomic" id="1737">523.2068364062164,164.777511965881</list></item><item><list struct="atomic" id="1738">347.4339541571316,267.7915589005072</list></item><item><list struct="atomic" id="1739">340.43561261024206,236.55196468572458</list></item></list></variable></variables></custom-block></block><block s="doSetVar"><l>nromals</l><custom-block s="%l .normals"><block var="a"/><variables><variable name="n"><list id="1745"><item><list struct="atomic" id="1746">-0.6286190779342232,-0.7777133500571577</list></item><item><list struct="atomic" id="1747">0.4838497990533287,-0.8751510566502524</list></item><item><list struct="atomic" id="1748">0.5056273353577659,0.8627519908635419</list></item><item><list struct="atomic" id="1749">-0.9758138130477464,0.21860329884340257</list></item><item><list struct="atomic" id="1750">-0.7409694721458671,-0.6715387117269378</list></item></list></variable></variables></custom-block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertices"/></block><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>n</l><l>s</l><l>v</l><l>d</l></list></block><block s="doSetVar"><l>n</l><custom-block s="%l [ %n ]"><block var="nromals"/><block var="i"/></custom-block></block><block s="doSetVar"><l>s</l><custom-block s="GetSupport( %l , %l )"><block var="b"/><block s="reportDifference"><l></l><block var="n"/></block><variables><variable name="bestVertex"><l>0</l></variable></variables></custom-block></block><block s="doSetVar"><l>v</l><custom-block s="%l [ %n ]"><block var="vertices"/><block var="i"/></custom-block></block><block s="doSetVar"><l>d</l><custom-block s="DotProduct( %l , %l )"><block var="n"/><block s="reportDifference"><block var="s"/><block var="v"/></block></custom-block></block><block s="doIf"><block s="reportGreaterThan"><block var="d"/><block var="bestDistance"/></block><script><block s="doSetVar"><l>bestDistance</l><block var="d"/></block><block s="doSetVar"><l>bestIndex</l><block var="i"/></block><block s="doSetVar"><l>bestVertex</l><block var="s"/></block></script></block></script></block></script></block><block s="doReport"><block s="reportNewList"><list><block var="bestDistance"/><custom-block s="%l [ %n ]"><block var="nromals"/><block var="bestIndex"/></custom-block><block var="bestVertex"/></list></block></block></script></block-definition><block-definition s="CollisionDetection()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>A</l><l>B</l></list></block><block s="doSetVar"><l>A</l><custom-block s="FindAxisLeastPenetration( %l , %l )"><custom-block s="%l [ %n ]"><block var="polygon"/><l>1</l></custom-block><custom-block s="%l [ %n ]"><block var="polygon"/><l>2</l></custom-block><variables><variable name="bestDistance"><l>324.2879679220595</l></variable><variable name="bestIndex"><l>5</l></variable><variable name="bestVertex"><ref id="1663"></ref></variable></variables></custom-block></block><block s="doIfElse"><block s="reportLessThan"><custom-block s="%l [ %n ]"><block var="A"/><l>1</l></custom-block><l>0</l></block><script><block s="doSetVar"><l>B</l><custom-block s="FindAxisLeastPenetration( %l , %l )"><custom-block s="%l [ %n ]"><block var="polygon"/><l>2</l></custom-block><custom-block s="%l [ %n ]"><block var="polygon"/><l>1</l></custom-block><variables><variable name="bestDistance"><l>-50.978487289330516</l></variable><variable name="bestIndex"><l>3</l></variable><variable name="bestVertex"><list struct="atomic" id="1868">65.03024582100178,-11.393068765803385</list></variable></variables></custom-block></block><block s="doIfElse"><block s="reportLessThan"><custom-block s="%l [ %n ]"><block var="B"/><l>1</l></custom-block><l>0</l></block><script><block s="doSetVar"><l>c</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doSetVar"><l>c</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doSetVar"><l>c</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block var="c"/><script><block s="doDeclareVariables"><list><l>m</l></list></block><block s="doIfElse"><block s="reportLessThan"><block s="reportMonadic"><l><option>abs</option></l><custom-block s="%l [ %n ]"><block var="A"/><l>1</l></custom-block></block><block s="reportMonadic"><l><option>abs</option></l><custom-block s="%l [ %n ]"><block var="B"/><l>1</l></custom-block></block></block><script><block s="doSetVar"><l>m</l><block var="A"/></block></script><script><block s="doSetVar"><l>m</l><block var="B"/></block></script></block><block s="doDeclareVariables"><list><l>pen</l><l>n</l><l>v</l></list></block><block s="doSetVar"><l>pen</l><block s="reportMonadic"><l><option>abs</option></l><custom-block s="%l [ %n ]"><block var="m"/><l>1</l></custom-block></block></block><block s="doSetVar"><l>n</l><custom-block s="%l [ %n ]"><block var="m"/><l>2</l></custom-block></block><block s="doSetVar"><l>v</l><custom-block s="%l [ %n ]"><block var="m"/><l>3</l></custom-block></block><block s="setColor"><color>3,77,255,1</color></block><custom-block s="Arrow( %l , %l , %n , %n )"><block var="v"/><block s="reportSum"><block var="v"/><block s="reportProduct"><block var="n"/><block var="pen"/></block></block><l>3</l><l>6</l></custom-block><block s="setColor"><color>254,255,252,1</color></block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><l>-235</l><l>-175</l></custom-block><block s="reportJoinWords"><list><l>penetration depth </l><block var="pen"/></list></block><l>8</l></custom-block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><l>-235</l><l>-165</l></custom-block><block s="reportJoinWords"><list><l>normal </l><l>[</l><custom-block s="%l .x"><block var="n"/></custom-block><l>, </l><custom-block s="%l .y"><block var="n"/></custom-block><l>]</l></list></block><l>8</l></custom-block></script></block></script></block-definition><block-definition s="DrawPolygon()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>p</l><block var="polygon"/><script><block s="doWarp"><script><custom-block s="DrawPolygon( %l , %l , %l , %n )"><block var="p"/><custom-block s="%l [ %n ]"><block var="p"/><l>1</l></custom-block><custom-block s="%l [ %n ]"><block var="p"/><l>2</l></custom-block><custom-block s="%l [ %n ]"><block var="p"/><l>3</l></custom-block></custom-block></script></block></script></block></script></block-definition><block-definition s="Arrow( %&apos;pos1&apos; , %&apos;pos2&apos; , %&apos;scale x&apos; , %&apos;scale y&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n"></input><input type="%n"></input></inputs><script><custom-block s="Line( %l , %l )"><block var="pos1"/><block var="pos2"/></custom-block><block s="doDeclareVariables"><list><l>Tangent</l><l>Normal</l></list></block><block s="doSetVar"><l>Tangent</l><custom-block s="%l .normalize"><block s="reportDifference"><block var="pos2"/><block var="pos1"/></block></custom-block></block><block s="doSetVar"><l>Normal</l><custom-block s="CrossProduct3( %n , %l )"><l>1</l><block var="Tangent"/></custom-block></block><block s="doSetVar"><l>Tangent</l><block s="reportDifference"><l></l><block s="reportProduct"><block var="Tangent"/><block var="scale y"/></block></block></block><block s="doSetVar"><l>Normal</l><block s="reportProduct"><block var="Normal"/><block var="scale x"/></block></block><block s="doDeclareVariables"><list><l>left</l><l>right</l></list></block><block s="doSetVar"><l>left</l><block var="Normal"/></block><block s="doSetVar"><l>right</l><block s="reportDifference"><l></l><block var="Normal"/></block></block><custom-block s="Line( %l , %l )"><block var="pos2"/><block s="reportSum"><block var="pos2"/><block s="reportSum"><block var="Tangent"/><block var="left"/></block></block></custom-block><custom-block s="Line( %l , %l )"><block var="pos2"/><block s="reportSum"><block var="pos2"/><block s="reportSum"><block var="Tangent"/><block var="right"/></block></block></custom-block></script></block-definition><block-definition s="Grid( %&apos;tileWidth&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>space</l></list></block><block s="doSetVar"><l>space</l><custom-block s="vec2( %n , %n )"><l>4</l><l>4</l></custom-block></block><block s="setSize"><l>0.5</l></block><block s="setColor"><color>0,119,3,1</color></block><block s="setPenHSVA"><l><option>saturation</option></l><l>0</l></block><block s="doFor"><l>i</l><block s="reportQuotient"><l>-180</l><block var="tileWidth"/></block><block s="reportQuotient"><l>180</l><block var="tileWidth"/></block><script><custom-block s="Line( %l , %l )"><custom-block s="vec2( %n , %n )"><l>-240</l><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block></custom-block><custom-block s="vec2( %n , %n )"><l>240</l><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block></custom-block></custom-block><custom-block s="Print( %l , %s , %n )"><block s="reportSum"><block var="space"/><custom-block s="vec2( %n , %n )"><l>0</l><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block></custom-block></block><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block><l>6</l></custom-block></script></block><block s="doFor"><l>i</l><block s="reportQuotient"><l>-240</l><block var="tileWidth"/></block><block s="reportQuotient"><l>240</l><block var="tileWidth"/></block><script><custom-block s="Line( %l , %l )"><custom-block s="vec2( %n , %n )"><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block><l>-180</l></custom-block><custom-block s="vec2( %n , %n )"><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block><l>180</l></custom-block></custom-block><custom-block s="Print( %l , %s , %n )"><block s="reportSum"><block var="space"/><custom-block s="vec2( %n , %n )"><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block><l>0</l></custom-block></block><block s="reportProduct"><block var="i"/><block var="tileWidth"/></block><l>6</l></custom-block></script></block><block s="setSize"><l>1</l></block><custom-block s="Line( %l , %l )"><custom-block s="vec2( %n , %n )"><l>0</l><l>-180</l></custom-block><custom-block s="vec2( %n , %n )"><l>0</l><l>180</l></custom-block></custom-block><custom-block s="Line( %l , %l )"><custom-block s="vec2( %n , %n )"><l>-240</l><l>0</l></custom-block><custom-block s="vec2( %n , %n )"><l>240</l><l>0</l></custom-block></custom-block></script></block-definition><block-definition s="Print( %&apos;pos&apos; , %&apos;text&apos; , %&apos;size&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input><input type="%n"></input></inputs><script><block s="gotoXY"><custom-block s="%l .x"><block var="pos"/></custom-block><custom-block s="%l .y"><block var="pos"/></custom-block></block><block s="write"><block var="text"/><block var="size"/></block></script></block-definition><block-definition s="TextRender()" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l></list></block><block s="doSetVar"><l>x</l><l>-235</l></block><block s="doSetVar"><l>y</l><l>-170</l></block><block s="setColor"><color>255,255,255,1</color></block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><block var="x"/><block var="y"/></custom-block><l>press S to spawn a new knot</l><l>8</l></custom-block><block s="doChangeVar"><l>y</l><l>10</l></block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><block var="x"/><block var="y"/></custom-block><l>you can also drag the knots</l><l>8</l></custom-block><block s="doChangeVar"><l>y</l><l>10</l></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListAttribute"><l><option>length</option></l><block var="concaveVertices"/></block><l>0</l></block><script><block s="setColor"><color>255,57,23,1</color></block><block s="doIfElse"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="concaveVertices"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="knot"/></block></block><script><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><block var="x"/><block var="y"/></custom-block><l>normal faces are reversed cannot detect collisions</l><l>8</l></custom-block></script><script><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><block var="x"/><block var="y"/></custom-block><l>the polygon must be convex</l><l>8</l></custom-block></script></block></script><script><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><block var="x"/><block var="y"/></custom-block><l>press space when you done</l><l>8</l></custom-block></script></block><block s="doChangeVar"><l>y</l><l>10</l></block><block s="setColor"><color>247,255,249,1</color></block><custom-block s="Print( %l , %s , %n )"><custom-block s="vec2( %n , %n )"><block var="x"/><block var="y"/></custom-block><block s="reportJoinWords"><list><l>center of mass </l><l>[</l><custom-block s="Round( %n , %n )"><custom-block s="%l .x"><block var="COM"/></custom-block><l>0.01</l></custom-block><l>, </l><custom-block s="Round( %n , %n )"><custom-block s="%l .y"><block var="COM"/></custom-block><l>0.01</l></custom-block><l>]</l></list></block><l>8</l></custom-block></script></block-definition><block-definition s="Round( %&apos;n&apos; , %&apos;unit&apos; )" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportProduct"><block s="reportRound"><block s="reportQuotient"><block var="n"/><block var="unit"/></block></block><block var="unit"/></block></block></script></block-definition><block-definition s="BoundingBox( %&apos;v&apos; )" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>max</l><l>min</l></list></block><block s="doSetVar"><l>max</l><custom-block s="vec2( %n , %n )"><block s="reportDifference"><l></l><custom-block s="FLT_MAX"></custom-block></block><block s="reportDifference"><l></l><custom-block s="FLT_MAX"></custom-block></block></custom-block></block><block s="doSetVar"><l>min</l><custom-block s="vec2( %n , %n )"><custom-block s="FLT_MAX"></custom-block><custom-block s="FLT_MAX"></custom-block></custom-block></block><block s="doForEach"><l>vert</l><block var="v"/><script><block s="doWarp"><script><block s="doIf"><block s="reportGreaterThan"><custom-block s="%l .x"><block var="vert"/></custom-block><custom-block s="%l .x"><block var="max"/></custom-block></block><script><block s="doSetVar"><l>max</l><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="vert"/></custom-block><custom-block s="%l .y"><block var="max"/></custom-block></custom-block></block></script></block><block s="doIf"><block s="reportGreaterThan"><custom-block s="%l .y"><block var="vert"/></custom-block><custom-block s="%l .y"><block var="max"/></custom-block></block><script><block s="doSetVar"><l>max</l><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="max"/></custom-block><custom-block s="%l .y"><block var="vert"/></custom-block></custom-block></block></script></block><block s="doIf"><block s="reportLessThan"><custom-block s="%l .x"><block var="vert"/></custom-block><custom-block s="%l .x"><block var="min"/></custom-block></block><script><block s="doSetVar"><l>min</l><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="vert"/></custom-block><custom-block s="%l .y"><block var="min"/></custom-block></custom-block></block></script></block><block s="doIf"><block s="reportLessThan"><custom-block s="%l .y"><block var="vert"/></custom-block><custom-block s="%l .y"><block var="min"/></custom-block></block><script><block s="doSetVar"><l>min</l><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="min"/></custom-block><custom-block s="%l .y"><block var="vert"/></custom-block></custom-block></block></script></block></script></block></script></block><custom-block s="Line( %l , %l )"><block var="max"/><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="max"/></custom-block><custom-block s="%l .y"><block var="min"/></custom-block></custom-block></custom-block><custom-block s="Line( %l , %l )"><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="max"/></custom-block><custom-block s="%l .y"><block var="min"/></custom-block></custom-block><block var="min"/></custom-block><custom-block s="Line( %l , %l )"><block var="min"/><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="min"/></custom-block><custom-block s="%l .y"><block var="max"/></custom-block></custom-block></custom-block><custom-block s="Line( %l , %l )"><custom-block s="vec2( %n , %n )"><custom-block s="%l .x"><block var="min"/></custom-block><custom-block s="%l .y"><block var="max"/></custom-block></custom-block><block var="max"/></custom-block></script></block-definition><block-definition s="%&apos;mat&apos; * %&apos;v&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="vec2( %n , %n )"><block s="reportSum"><block s="reportProduct"><custom-block s="%l .x"><custom-block s="%l .xCol"><block var="mat"/></custom-block></custom-block><custom-block s="%l .x"><block var="v"/></custom-block></block><block s="reportProduct"><custom-block s="%l .y"><custom-block s="%l .xCol"><block var="mat"/></custom-block></custom-block><custom-block s="%l .y"><block var="v"/></custom-block></block></block><block s="reportSum"><block s="reportProduct"><custom-block s="%l .x"><custom-block s="%l .yCol"><block var="mat"/></custom-block></custom-block><custom-block s="%l .x"><block var="v"/></custom-block></block><block s="reportProduct"><custom-block s="%l .y"><custom-block s="%l .yCol"><block var="mat"/></custom-block></custom-block><custom-block s="%l .y"><block var="v"/></custom-block></block></block></custom-block></block></script></block-definition></blocks><variables><variable name="polygon"><list id="2578"><item><list id="2579"><item><list struct="atomic" id="2580">384,210</list></item><item><list id="2581"><item><list struct="atomic" id="2582">-33.06667,-24.266664000000002</list></item><item><list struct="atomic" id="2583">87.60000000000001,-13.600004</list></item><item><list struct="atomic" id="2584">108.26667000000002,53.73333600000001</list></item><item><list struct="atomic" id="2585">-89.73333,5.733336000000002</list></item><item><list struct="atomic" id="2586">-73.06667,-21.600004000000002</list></item></list></item><item><l>404</l></item></list></item><item><list id="2587"><item><ref id="14"></ref></item><item><list id="2588"><item><list struct="atomic" id="2589">-58.666666000000006,-20.933332</list></item><item><list struct="atomic" id="2590">41.33333400000001,-60.933332</list></item><item><list struct="atomic" id="2591">74.666664,-3.6000019999999964</list></item><item><list struct="atomic" id="2592">0.666663999999999,43.066668</list></item><item><list struct="atomic" id="2593">-57.999996,42.399998000000004</list></item></list></item><item><l>0</l></item></list></item></list></variable><variable name="knot"><list id="2594"><item><list struct="atomic" id="2595">-50.00000000000001,20</list></item><item><list struct="atomic" id="2596">50.00000000000001,-20</list></item><item><list struct="atomic" id="2597">83.33333,37.333330000000004</list></item><item><list struct="atomic" id="2598">9.33333,84</list></item><item><list struct="atomic" id="2599">-49.333330000000004,83.33333</list></item></list></variable><variable name="k"><l>0</l></variable><variable name="keyDown"><bool>false</bool></variable><variable name="N"><list id="2600"><item><list struct="atomic" id="2601">0.1289152090445606,-0.9916556201005453</list></item><item><list struct="atomic" id="2602">0.9313308253676943,0.3641742628466891</list></item><item><list struct="atomic" id="2603">0.32759974231103145,0.9448166006362005</list></item><item><list struct="atomic" id="2604">-0.7333374194109185,0.6798648610508817</list></item><item><list struct="atomic" id="2605">-0.7209224350789006,-0.6930157592724053</list></item></list></variable><variable name="spaceDown"><l>0</l></variable><variable name="c"><bool>false</bool></variable></variables></project><media name="oriented polygons collision detection" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>