<snapdata remixID="11448974"><project name="physics" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes>Please check the experimental option "Live coding support"&#xD;&#xD;(Shift+Click on settings)</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABHRJREFUeF7tmU9L0wEcxr8b5bJCR2praEJBB+vkpYsXD76ADobLk28h6GUEvQCppMgO0SWxUwrexE5BKhF4MJyNLRwJMktb7BcNRoo7CA/0fLwo8vvzPM/nw/6m6vV6PfhhAdECKQQULc9tkwUQEBGkCyCgdH5ujoA4IF2gKeD29nZUq9XI5/OnEqhYLEYul4uenp5TuR4X+T8XSATc3NyMra2t6OvrO7blxf1yXCout7VC5dZE7O3tRblcjv7+/hgcHGzrPA7yWyARcGFh4cRHviufXkfH8nTLQh1j9+PHu0f/rLZTeBa7mcvJ/3d2dmJkZMRvWRq3tUAi4OzsbAwNDSUnLC4uRq1Wi3Q6HaVSKQqFQmQymbi68SbOrTxuXvTs7XuRyt2Ieulz/Fx52XKz8viTqJ7589S7vr4ek5OTbYXhIL8FEgFnZmaaAq6trUUqlUqWWFpaimw2m0h47cvbOP/+aXOhdP5mZO4+jP1XD+LX9lrLcl/vTMe3dLYp4NTUlN+yNG5rgUTA+fn56OrqSk7o7u5unnhwcBCdnZ1RqVQSAbMfXrR10eL48yjV0smxh4eHMTo62tZ5HOS3QCJg4w3D3Nxc9Pb2HrtA45HwwsfXEfu70fjyrvEgeeTv7nx8vz6WvKNuvP6bmJjwW5XGbS/Q8jngxsZGrK6unnjy36foxtfIjb+P+jp5eHg4BgYGTrwWB3gvwAfR3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3R0A5Au8ACOjNX94eAeUIvAMgoDd/eXsElCPwDoCA3vzl7RFQjsA7AAJ685e3/w1gHXK3mRjNmAAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="physics"><notes>Please check the experimental option "Live coding support"&#xD;&#xD;(Shift+Click on settings)</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;op&apos; of vec %&apos;vec&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">magn<options>magn&#xD;magn sq&#xD;unit&#xD;x&#xD;y</options></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="op"/><l>x</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="vec"/></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="op"/><l>y</l></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="vec"/></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="op"/><l>magn sq</l></block><script><block s="doReport"><block s="reportVariadicSum"><block s="reportVariadicProduct"><list><block var="vec"/><block var="vec"/></list></block></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="op"/><l>magn</l></block><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><block s="reportVariadicProduct"><list><block var="vec"/><block var="vec"/></list></block></block></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="op"/><l>unit</l></block><script><block s="doDeclareVariables"><list><l>m</l></list></block><block s="doSetVar"><l>m</l><custom-block s="%s of vec %l"><l>magn</l><block var="vec"/></custom-block></block><block s="doReport"><block s="reportIfElse"><block s="reportEquals"><block var="m"/><l>0</l></block><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportQuotient"><block var="vec"/><block var="m"/></block></block></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; cross %&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="reportVariadicProduct"><list><custom-block s="%s of vec %l"><l>x</l><block var="a"/></custom-block><custom-block s="%s of vec %l"><l>y</l><block var="b"/></custom-block></list></block><block s="reportVariadicProduct"><list><custom-block s="%s of vec %l"><l>y</l><block var="a"/></custom-block><custom-block s="%s of vec %l"><l>x</l><block var="b"/></custom-block></list></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; dot %&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="reportVariadicSum"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></block></script></block-definition><block-definition s="contact points of %&apos;self&apos; and %&apos;other&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>offset</l><l>normal</l><l>out</l><l>pointa</l><l>pointb</l></list></block><block s="doSetVar"><l>out</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>offset</l><block s="reportDifference"><block s="reportAttributeOf"><l>position</l><block var="other"/></block><block s="reportAttributeOf"><l>position</l><block var="self"/></block></block></block><block s="doIf"><block s="reportLessThan"><custom-block s="%s of vec %l"><l>magn</l><block var="offset"/></custom-block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block s="reportAttributeOf"><l>shape</l><block var="other"/></block></block><block s="reportListItem"><l>2</l><block s="reportAttributeOf"><l>shape</l><block var="self"/></block></block></list></block><l>1</l></block></block><script><block s="doSetVar"><l>normal</l><custom-block s="%s of vec %l"><l>unit</l><block s="reportMonadic"><l><option>neg</option></l><block var="offset"/></block></custom-block></block><block s="doSetVar"><l>pointa</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>neg</option></l><block var="normal"/></block><block s="reportListItem"><l>2</l><block s="reportAttributeOf"><l>shape</l><block var="self"/></block></block></list></block><block s="reportAttributeOf"><l>position</l><block var="self"/></block></list></block></block><block s="doSetVar"><l>pointb</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="normal"/><block s="reportListItem"><l>2</l><block s="reportAttributeOf"><l>shape</l><block var="other"/></block></block></list></block><block s="reportAttributeOf"><l>position</l><block var="other"/></block></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="pointb"/><block var="normal"/><custom-block s="%s of vec %l"><l>magn</l><block s="reportDifference"><block var="pointa"/><block var="pointb"/></block></custom-block></list></block><block var="out"/></block></script></block><block s="doReport"><block var="out"/></block></script></block-definition><block-definition s="apply force %&apos;force&apos; at %&apos;pos&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>torque</l><l>dir</l></list></block><block s="doSetVar"><l>dir</l><block s="reportDifference"><block var="pos"/><block var="position"/></block></block><block s="doSetVar"><l>torque</l><custom-block s="%l cross %l"><block var="dir"/><block var="force"/></custom-block></block><block s="doChangeVar"><l>rot velocity</l><block s="reportQuotient"><block var="torque"/><block var="mass"/></block></block><block s="doSetVar"><l>velocity</l><block s="reportVariadicSum"><list><block var="velocity"/><block s="reportQuotient"><block var="force"/><block var="mass"/></block></list></block></block></script></block-definition><block-definition s="apply force %&apos;force&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>velocity</l><block s="reportVariadicSum"><list><block var="velocity"/><block s="reportQuotient"><block var="force"/><block var="mass"/></block></list></block></block></script></block-definition><block-definition s="collision" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>force a</l><l>force b</l></list></block><block s="doForEach"><l>body</l><block s="reportGet"><l><option>other clones</option></l></block><script><block s="doForEach"><l>contact</l><custom-block s="contact points of %obj and %obj"><block s="reportGet"><l><option>self</option></l></block><block var="body"/></custom-block><script><block s="doSetVar"><l>position</l><block s="reportVariadicSum"><list><block var="position"/><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="contact"/></block><block s="reportListItem"><l>3</l><block var="contact"/></block></list></block></list></block></block><block s="doSetVar"><l>force a</l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportListItem"><l>2</l><block var="contact"/></block><block var="velocity"/></custom-block><block s="reportListItem"><l>2</l><block var="contact"/></block></list></block><block var="mass"/></list></block><block var="elasticity"/></list></block></block><block s="doSetVar"><l>force b</l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportListItem"><l>2</l><block var="contact"/></block><block s="reportAttributeOf"><l>velocity</l><block var="body"/></block></custom-block><block s="reportListItem"><l>2</l><block var="contact"/></block></list></block><block s="reportAttributeOf"><l>mass</l><block var="body"/></block></list></block><block s="reportAttributeOf"><l>elasticity</l><block var="body"/></block></list></block></block><block s="doTellTo"><block var="body"/><block s="reifyScript"><script><custom-block s="apply force %l"><block s="reportVariadicProduct"><list><block var="force a"/><l>1</l></list></block></custom-block><custom-block s="apply force %l"><block s="reportVariadicProduct"><list><block var="force b"/><l>-1</l></list></block></custom-block></script><list></list></block><list></list></block><custom-block s="apply force %l"><block s="reportVariadicProduct"><list><block var="force a"/><l>-1</l></list></block></custom-block><custom-block s="apply force %l"><block s="reportVariadicProduct"><list><block var="force b"/><l>1</l></list></block></custom-block></script></block></script></block><block s="doIf"><block s="reportLessThan"><block s="reportDifference"><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>2</l><block var="position"/><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block></block><custom-block s="apply force %l at %l"><block s="reportNewList"><list><l>0</l><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block></list></block><block s="reportNewList"><list><custom-block s="%s of vec %l"><l>x</l><block var="position"/></custom-block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block></custom-block></script></block><block s="doIf"><block s="reportLessThan"><block s="reportDifference"><custom-block s="%s of vec %l"><l>x</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>1</l><block var="position"/><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block></block><custom-block s="apply force %l at %l"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>-1</l><l>0</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block><l>0</l></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block></list></block></custom-block></script></block><block s="doIf"><block s="reportGreaterThan"><block s="reportVariadicSum"><list><custom-block s="%s of vec %l"><l>x</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>1</l><block var="position"/><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></block></block><custom-block s="apply force %l at %l"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>-1</l><l>0</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block><l>0</l></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block></list></block></custom-block></script></block><block s="doIf"><block s="reportGreaterThan"><block s="reportVariadicSum"><list><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>2</l><block var="position"/><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></block></block><custom-block s="apply force %l at %l"><block s="reportNewList"><list><l>0</l><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block></list></block></custom-block></script></block></script></block-definition><block-definition s="update" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setHeading"><block s="reportDifference"><l>90</l><block var="rotation"/></block></block><block s="doGotoObject"><block var="position"/></block><block s="setSize"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="shape"/></block><l>2</l></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block var="color"/></block><block s="down"></block><block s="changeXPosition"><l>1</l></block><block s="up"></block><block s="doSetVar"><l>velocity</l><block s="reportVariadicSum"><list><block var="velocity"/><block var="gravity"/></list></block></block><block s="doChangeVar"><l>rotation</l><block var="rot velocity"/></block><block s="doSetVar"><l>position</l><block s="reportVariadicSum"><list><block var="position"/><block var="velocity"/></list></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" 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" id="816"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="817"></list></costumes><sounds><list struct="atomic" id="818"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="63.09999999999991" y="-126.90000000000003" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="823"><costumes><list struct="atomic" id="824"></list></costumes><sounds><list struct="atomic" id="825"></list></sounds><blocks><block-definition s="apply force %&apos;force&apos; at %&apos;pos&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>torque</l><l>dir</l></list></block><block s="doSetVar"><l>dir</l><block s="reportDifference"><block var="pos"/><block var="position"/></block></block><block s="doSetVar"><l>torque</l><custom-block s="%l cross %l"><block var="dir"/><block var="force"/></custom-block></block><block s="doChangeVar"><l>rot velocity</l><block s="reportQuotient"><block var="torque"/><block var="mass"/></block></block><block s="doSetVar"><l>velocity</l><block s="reportVariadicSum"><list><block var="velocity"/><block s="reportQuotient"><block var="force"/><block var="mass"/></block></list></block></block></script></block-definition><block-definition s="apply force %&apos;force&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>velocity</l><block s="reportVariadicSum"><list><block var="velocity"/><block s="reportQuotient"><block var="force"/><block var="mass"/></block></list></block></block></script></block-definition><block-definition s="collision" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>force a</l><l>force b</l></list></block><block s="doForEach"><l>body</l><block s="reportGet"><l><option>other clones</option></l></block><script><block s="doForEach"><l>contact</l><custom-block s="contact points of %obj and %obj"><block s="reportGet"><l><option>self</option></l></block><block var="body"/></custom-block><script><block s="doSetVar"><l>position</l><block s="reportVariadicSum"><list><block var="position"/><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="contact"/></block><block s="reportListItem"><l>3</l><block var="contact"/></block></list></block></list></block></block><block s="doSetVar"><l>force a</l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportListItem"><l>2</l><block var="contact"/></block><block var="velocity"/></custom-block><block s="reportListItem"><l>2</l><block var="contact"/></block></list></block><block var="mass"/></list></block><block var="elasticity"/></list></block></block><block s="doSetVar"><l>force b</l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportListItem"><l>2</l><block var="contact"/></block><block s="reportAttributeOf"><l>velocity</l><block var="body"/></block></custom-block><block s="reportListItem"><l>2</l><block var="contact"/></block></list></block><block s="reportAttributeOf"><l>mass</l><block var="body"/></block></list></block><block s="reportAttributeOf"><l>elasticity</l><block var="body"/></block></list></block></block><block s="doTellTo"><block var="body"/><block s="reifyScript"><script><custom-block s="apply force %l" scope="local"><block s="reportVariadicProduct"><list><block var="force a"/><l>1</l></list></block></custom-block><custom-block s="apply force %l" scope="local"><block s="reportVariadicProduct"><list><block var="force b"/><l>-1</l></list></block></custom-block></script><list></list></block><list></list></block><custom-block s="apply force %l" scope="local"><block s="reportVariadicProduct"><list><block var="force a"/><l>-1</l></list></block></custom-block><custom-block s="apply force %l" scope="local"><block s="reportVariadicProduct"><list><block var="force b"/><l>1</l></list></block></custom-block></script></block></script></block><block s="doIf"><block s="reportLessThan"><block s="reportDifference"><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>2</l><block var="position"/><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block></block><custom-block s="apply force %l at %l" scope="local"><block s="reportNewList"><list><l>0</l><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block></list></block><block s="reportNewList"><list><custom-block s="%s of vec %l"><l>x</l><block var="position"/></custom-block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block></custom-block></script></block><block s="doIf"><block s="reportLessThan"><block s="reportDifference"><custom-block s="%s of vec %l"><l>x</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>1</l><block var="position"/><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block></block><custom-block s="apply force %l at %l" scope="local"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>-1</l><l>0</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block><l>0</l></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block></list></block></custom-block></script></block><block s="doIf"><block s="reportGreaterThan"><block s="reportVariadicSum"><list><custom-block s="%s of vec %l"><l>x</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>1</l><block var="position"/><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></block></block><custom-block s="apply force %l at %l" scope="local"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>-1</l><l>0</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block><l>0</l></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block></list></block></custom-block></script></block><block s="doIf"><block s="reportGreaterThan"><block s="reportVariadicSum"><list><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block><block s="reportListItem"><l>2</l><block var="shape"/></block></list></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></block><script><block s="doReplaceInList"><l>2</l><block var="position"/><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="shape"/></block></block></block><custom-block s="apply force %l at %l" scope="local"><block s="reportNewList"><list><l>0</l><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>1</l><block var="elasticity"/></list></block><block s="reportVariadicProduct"><list><custom-block s="%l dot %l"><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block var="velocity"/></custom-block><block var="mass"/></list></block></list></block></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><custom-block s="%s of vec %l"><l>y</l><block var="position"/></custom-block></list></block></custom-block></script></block></script></block-definition><block-definition s="update" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setHeading"><block s="reportDifference"><l>90</l><block var="rotation"/></block></block><block s="doGotoObject"><block var="position"/></block><block s="setSize"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="shape"/></block><l>2</l></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block var="color"/></block><block s="down"></block><block s="changeXPosition"><l>1</l></block><block s="up"></block><block s="doSetVar"><l>velocity</l><block s="reportVariadicSum"><list><block var="velocity"/><block var="gravity"/></list></block></block><block s="doChangeVar"><l>rotation</l><block var="rot velocity"/></block><block s="doSetVar"><l>position</l><block s="reportVariadicSum"><list><block var="position"/><block var="velocity"/></list></block></block></script></block-definition></blocks><variables><variable name="rot velocity"><l>0</l></variable><variable name="velocity"><list struct="atomic" id="1370">-7,20</list></variable><variable name="position"><list struct="atomic" id="1371">20,-61</list></variable><variable name="mass"><l>14</l></variable><variable name="rotation"><l>0</l></variable><variable name="gravity"><list struct="atomic" id="1372">0,-0.5</list></variable><variable name="shape"><list struct="atomic" id="1373">sphere,14</list></variable><variable name="color"><l>0</l></variable><variable name="elasticity"><l>0.8</l></variable></variables><scripts><script x="49" y="10"><block s="receiveGo"></block><block s="hide"></block><block s="doSetVar"><l>gravity</l><block s="reportNewList"><list><l>0</l><l>-0.5</l></list></block></block><block s="doRepeat"><l>4</l><script><block s="doSetVar"><l>elasticity</l><l>0.8</l></block><block s="doSetVar"><l>mass</l><block s="reportRandom"><l>10</l><l>30</l></block></block><block s="doSetVar"><l>position</l><block s="reportNewList"><list><block s="reportRandom"><l>-100</l><l>100</l></block><block s="reportRandom"><l>-100</l><l>100</l></block></list></block></block><block s="doSetVar"><l>velocity</l><block s="reportNewList"><list><block s="reportRandom"><l>-20</l><l>20</l></block><block s="reportRandom"><l>-20</l><l>20</l></block></list></block></block><block s="doSetVar"><l>rot velocity</l><l>0</l></block><block s="doSetVar"><l>rotation</l><l>0</l></block><block s="doSetVar"><l>shape</l><block s="reportNewList"><list><l>sphere</l><block var="mass"/></list></block></block><block s="createClone"><l><option>myself</option></l></block></script></block><block s="doDeclareVariables"><list><l>last</l></list></block><block s="doForever"><script><block s="doWarp"><script><block s="doSetVar"><l>last</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doForEach"><l>body</l><block s="reportGet"><l><option>clones</option></l></block><script><block s="doTellTo"><block var="body"/><block s="reifyScript"><script><custom-block s="collision"></custom-block></script><list></list></block><list></list></block></script></block><block s="doSetVar"><l>ms</l><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="last"/></block></block><block s="clear"></block><block s="doForEach"><l>body</l><block s="reportGet"><l><option>clones</option></l></block><script><block s="doTellTo"><block var="body"/><block s="reifyScript"><script><custom-block s="update"></custom-block></script><list></list></block><list></list></block></script></block></script></block></script></block></script><script x="620" y="539.6666666666667"><block s="doSetVar"><l>mass</l><l>10</l></block><block s="doSetVar"><l>position</l><block s="reportNewList"><list><l>-20</l><l>0</l></list></block></block><block s="doSetVar"><l>velocity</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>rot velocity</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>rot velocity</l><l>0</l></block><block s="doSetVar"><l>rotation</l><l>0</l></block><block s="doSetVar"><l>gravity</l><block s="reportNewList"><list><l>0</l><l>-0.5</l></list></block></block><block s="doSetVar"><l>shape</l><block s="reportNewList"><list><l>sphere</l><l>10</l></list></block></block><block s="doTellTo"><block s="newClone"><l><option>myself</option></l></block><block s="reifyScript"><script><custom-block s="apply force %l" scope="local"><block s="reportNewList"><list><l>10</l><l>0</l></list></block></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>position</l><block s="reportNewList"><list><l>20</l><l>0</l></list></block></block><block s="doSetVar"><l>mass</l><l>20</l></block><block s="doTellTo"><block s="newClone"><l><option>myself</option></l></block><block s="reifyScript"><script><custom-block s="apply force %l" scope="local"><block s="reportNewList"><list><l>20</l><l>0</l></list></block></custom-block></script><list></list></block><list></list></block></script><script x="535" y="54.500000000000796"><block s="receiveOnClone"></block><block s="doSetVar"><l>color</l><block s="reportNewList"><list><block s="reportRandom"><l>0</l><l>255</l></block><block s="reportRandom"><l>0</l><l>255</l></block><block s="reportRandom"><l>0</l><l>255</l></block></list></block></block></script></scripts></sprite><watcher scope="Sprite" var="rot velocity" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="velocity" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="position" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="mass" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="rotation" style="normal" x="10" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="gravity" style="normal" x="10" y="115.00000999999997" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="shape" style="normal" x="10" y="136.00001199999997" color="243,118,29" hidden="true"/><watcher scope="Sprite" var="color" style="normal" x="10" y="157.00001399999996" color="243,118,29" hidden="true"/><watcher var="ms" style="normal" x="3" y="16.00001599999996" color="243,118,29"/><watcher scope="Sprite" var="elasticity" style="normal" x="10" y="178.00001599999996" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="ms"><l>0</l></variable></variables></scene></scenes></project><media name="physics" app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>