Impact Velocity From Given Height
Determining how fast something will be traveling upon impact when it is released from a given height
<?xml version="1.0" encoding="UTF-8"?>
<!--Tue Jan 17 2012 13:12:21 GMT-0500 (EST)-->
<XholonWorkbook>
<Notes>
Khan Academy
------------
Title: Impact Velocity From Given Height
Description: Determining how fast something will be traveling upon impact when it is released from a given height
Url: http://www.khanacademy.org/video/impact-velocity-from-given-height?playlist=Physics
InternalName: impact-velocity-from-given-height
YoutubeId: 2ZgBJxT9pbU
Keywords: projectile, motion
My Notes
--------
ledge on a building or cliff
height h in meters = 5 m
a Person (me) is on the ledge
I can jump off the cliff, or drop a rock
Rock is one possible falling object
initial velocity vi = 0
final velocity vf will have a negative value, because it's falling downwards
ignore air resistance; assume there's no air (we're on the Moon)
directions for vectors
+ is up
- is down
acceleration of gravity
a_e = -9.8 m/s^2
displacement = average velocity * change in time
s = v_avg * delta t
average velocity = (vf + vi) / 2
delta t = delta v / a
delta v = a * delta t
if height = 5 m
final velocity = -9.9 m/s
JavaScript with Xholon Bootstrap
(function(h){alert(Math.sqrt(2.0*9.8*h)*-1);})(5.0)
JavaScript bookmarklet
Paste directly into your browser's address bar.
javascript:(function(h){alert(Math.sqrt(2.0*9.8*h)*-1);})(5.0)
JavaScript with Firebug
If you have Firebug installed in Firefox or another browser,
then you can run the following directly in your browser's address bar, or with the Firebug console.
javascript:(function(h){console.log(Math.sqrt(2.0*9.8*h)*-1);})(5.0)
</Notes>
<script implName="lang:python:inline:"><![CDATA[
import math
h = 5.0
print math.sqrt(2.0*9.8*h)*-1
#http://ideone.com/XHtZA
# result: -9.89949493661
]]></script>
<script implName="lang:javascript:inline:"><![CDATA[
var h = 5.0;
print((Math.sqrt(2.0*9.8*h)*-1) + "\n");
//javascript:(function(h){alert(Math.sqrt(2.0*9.8*h)*-1);})(5.0)
// result: -9.899494936611665
]]></script>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Cliff/>
<FallingObject>
<Rock/>
</FallingObject>
<!-- quantities -->
<Height superClass="Length"/> <!-- height of cliff -->
<Displacement superClass="Length"/> <!-- vertical displacement of rock, person, or other falling object -->
<AccelerationOfGravity superClass="Acceleration"/>
</_-.XholonClass>
<xholonClassDetails>
<FallingObject>
<port name="displacement" connector="#xpointer(Displacement)"/>
<port name="velocity" connector="#xpointer(Velocity)"/>
<port name="acceleration" connector="#xpointer(../AccelerationOfGravity)"/>
<port name="cliffHeight" connector="#xpointer(../Cliff/Height)"/>
</FallingObject>
</xholonClassDetails>
<PhysicalSystem>
<Rock>
<Displacement>0.0 m</Displacement>
<Velocity>0.0 m/s</Velocity>
</Rock>
<Cliff>
<Height>5.0 m</Height>
</Cliff>
<AccelerationOfGravity>-9.8 m/s^2</AccelerationOfGravity>
</PhysicalSystem>
<Heightbehavior implName="lang:python:inline:"><![CDATA[
import math
h = contextNodeKey.val
print(math.sqrt(2.0*9.8*h)*-1)
]]></Heightbehavior>
<Heightbehavior implName="lang:javascript:inline:"><![CDATA[
var h = contextNodeKey.val;
println(Math.sqrt(2.0*9.8*h)*-1);
]]></Heightbehavior>
<Blockbehavior implName="lang:bsh:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//System.out.print("Java/Beanshell wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<Blockbehavior implName="lang:jruby:inline:"><![CDATA[
#require 'java'
# This works if pasted in as a last child of Block.
#$height.incVal(0.02)
#puts "Ruby wants something to do. Height: #{$height}"
]]></Blockbehavior>
<Blockbehavior implName="lang:groovy:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//System.out.print("Groovy wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
</XholonWorkbook>