Perfectly Elastic Collisions of Objects A, B, and C
2020-09-06 11:52
Perfectly Elastic Collisions of Objects A, B, and C is an interactive GeoGebra applet that models the physics of perfectly elastic collisions among three objects labeled A, B, and C on a one-dimensional plane. The applet allows students to observe how momentum and kinetic energy are conserved during successive collision events, providing a dynamic visual reinforcement of classical mechanics principles.
The simulation employs GeoGebra's vector tools to represent velocity before and after each collision, distance measurements to track positional changes, and angle and segment displays to illustrate the geometric relationships governing collision dynamics. Users can watch in real time as Object A, Object B, and Object C approach, collide, and rebound according to the laws of conservation of momentum and conservation of kinetic energy. The velocities are represented as directed line segments whose magnitudes correspond to speed and whose orientations indicate direction of motion.
Key learning outcomes include understanding that in a perfectly elastic collision, the total momentum of the system remains constant before and after impact, and the total kinetic energy is also preserved. Students can compare the pre-collision and post-collision states by examining the vector arrows attached to each object, observing how the transfer of energy and momentum between objects follows predictable mathematical relationships. The applet supports conceptual connections between algebraic formulas and geometric representations, enabling learners to see that conservation equations have direct visual counterparts on the coordinate plane.
This interactive environment is particularly valuable for physics and mathematics students encountering elastic collisions for the first time. By manipulating parameters or stepping through collision sequences, users develop intuition for how mass ratios, initial velocities, and collision angles affect the outcomes. The visual clarity of vector diagrams and distance tracking helps bridge abstract equations with concrete physical behavior, making this applet an effective teaching tool for classical mechanics curricula.
In collections
Momentum Conservation Phase Diagram Analysis
Loading the math board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.600.0" app="classic" platform="w" id="87D4FEA9-1C3F-4938-929B-B5E107CFF78F" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/apps/xsd/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1366" height="705" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.24377745241581258" orientation="1" />
</panes>
<views>
<view id="4097" visible="false" inframe="false" stylebar="true" location="1,1,1,1" size="400" window="100,100,700,550" />
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 51 | 551 550 11 , 20 22 21 23 , 55 56 57 , 12 | 69 | 510 511 , 512 513 | 533 531 , 534 532 , 522 523 , 537 536 , 535 , 538 | 521 520 | 36 , 38 49 560 | 571 30 29 570 31 33 | 17 | 540 40 41 42 , 27 28 35 , 6 , 502" visible="false" inframe="false" stylebar="false" location="1,1,1" size="500" window="100,100,600,400" />
<view id="4" toolbar="0 || 2020 , 2021 , 2022 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="false" location="1,1" size="300" window="100,100,600,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 || 1008 | 1009 || 6" visible="false" inframe="false" stylebar="false" location="1,3" size="300" window="100,100,600,400" />
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="1025" window="100,100,600,400" />
<view id="2" visible="true" inframe="false" stylebar="false" location="3" size="333" window="100,100,250,400" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="300" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="300" window="50,50,500,500" />
<view id="64" toolbar="0" visible="false" inframe="false" stylebar="false" location="1" size="480" window="50,50,500,500" />
<view id="128" visible="false" inframe="false" stylebar="false" location="1" size="480" window="50,50,500,500" />
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="false" stylebar="true" location="1" size="900" window="50,50,500,500" />
</views>
<toolbar show="false" items="0 77 73 62 | 1 501 67 , 5 19 , 72 75 76 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 | 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 | 36 46 , 38 49 50 , 71 14 68 | 30 29 54 32 31 33 | 25 17 26 60 52 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false" />
<input show="false" cmd="true" top="algebra" />
<dockBar show="false" east="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="1025" height="705"/>
<coordSystem xZero="546.8987091045692" yZero="343.1661895921168" scale="31.04606615295771" yscale="31.04606615295771"/>
<evSettings axes="true" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="-1" lockedAxesRatio="1"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="0"/>
<axis id="0" show="true" label="v_A" unitLabel="" tickStyle="2" showNumbers="false"/>
<axis id="1" show="true" label="√kv_c,√kv_B" unitLabel="" tickStyle="2" showNumbers="false"/>
</euclidianView>
<algebraView>
<mode val="3"/>
</algebraView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="4"/>
<angleUnit val="degree"/>
<algebraStyle val="1" spreadsheet="1"/>
<coordStyle val="0"/>
</kernel>
<tableview min="-2" max="2" step="1"/>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<expression label="O" exp="(0, 0)" type="point"/>
<element type="point" label="O">
<show object="false" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="-43" y="9"/>
<labelMode val="0"/>
<fixed val="true"/>
<coords x="0" y="0" z="1"/>
<pointSize val="3"/>
<pointStyle val="10"/>
</element>
<command name="Point">
<input a0="xAxis"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="false" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="7.619703834348241" y="0" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="O" a1="B"/>
<output a0="c"/>
</command>
<element type="conic" label="c">
<show object="true" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="76"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-58.059886523181284" A3="0" A4="0" A5="0"/>
<eqnStyle style="specific"/>
</element>
<command name="Point">
<input a0="c"/>
<output a0="I"/>
</command>
<element type="point" label="I">
<show object="true" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelOffset x="0" y="39"/>
<labelMode val="3"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="7.619703834348241" y="0" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<caption val="A(v_0,0)"/>
</element>
<command name="Point">
<input a0="c"/>
<output a0="K"/>
</command>
<element type="point" label="K">
<show object="true" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelOffset x="29" y="6"/>
<labelMode val="0"/>
<animation step="0.1" speed="0.1" type="1" playing="false"/>
<ggbscript onUpdate="If(Angle(K,O,B)>90°,SetValue(K,B'))
If(y(K)<0,SetValue(K,B'_1))
"/>
<coords x="2.7409088708027" y="7.1096627968657105" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="K" a1="O"/>
<output a0="f"/>
</command>
<element type="line" label="f">
<show object="true" label="true" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelOffset x="15" y="26"/>
<labelMode val="3"/>
<coords x="7.1096627968657105" y="-2.7409088708027" z="0"/>
<lineStyle thickness="5" type="15" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
<caption val="v_A = v_C"/>
</element>
<command name="OrthogonalLine">
<input a0="I" a1="f"/>
<output a0="g"/>
</command>
<element type="line" label="g">
<show object="false" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.7409088708027" y="7.1096627968657105" z="-20.884913832454437"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="f" a1="g"/>
<output a0="C"/>
</command>
<element type="point" label="C">
<show object="false" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelOffset x="9" y="-1"/>
<labelMode val="0"/>
<coords x="57.24364558932438" y="148.48469489034738" z="58.05988652318129"/>
<pointSize val="3"/>
<pointStyle val="10"/>
</element>
<command name="Vector">
<input a0="I" a1="C"/>
<output a0="u"/>
</command>
<element type="vector" label="u">
<show object="false" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-6.633762438020003" y="2.5574403220898927" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<coordStyle style="cartesian"/>
<startPoint exp="I"/>
</element>
<command name="Distance">
<input a0="C" a1="I"/>
<output a0="distanceIC"/>
</command>
<element type="numeric" label="distanceIC">
<value val="7.1096627968657105"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Point">
<input a0="g"/>
<output a0="S"/>
</command>
<element type="point" label="S">
<show object="false" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<animation step="0.1" speed="0.2" type="2" playing="false"/>
<ggbscript onUpdate="If(o>1,SetValue(S,F))
If(o<0,SetValue(S,I))"/>
<coords x="6.400587198693968" y="0.4699924168950786" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Vector">
<input a0="C" a1="S"/>
<output a0="v"/>
</command>
<element type="vector" label="v">
<show object="false" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="5.4146458023657305" y="-2.0874479051948143" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<coordStyle style="cartesian"/>
<startPoint exp="C"/>
</element>
<expression label="w" exp="(u * v)" />
<element type="numeric" label="w">
<value val="-41.257997381923765"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Distance">
<input a0="C" a1="S"/>
<output a0="distanceCS"/>
</command>
<element type="numeric" label="distanceCS">
<value val="5.803087792027537"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Slope">
<input a0="f"/>
<output a0="m"/>
</command>
<element type="numeric" label="m">
<value val="2.5939070330286396"/>
<show object="false" label="true"/>
<objColor r="21" g="101" b="192" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<command name="Segment">
<input a0="O" a1="S"/>
<output a0="h"/>
</command>
<element type="segment" label="h">
<show object="false" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.4699924168950786" y="6.400587198693968" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="O" a1="I"/>
<output a0="i"/>
</command>
<element type="segment" label="i">
<show object="true" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelOffset x="41" y="12"/>
<labelMode val="3"/>
<coords x="0" y="7.619703834348241" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<caption val="v_0"/>
</element>
<command name="Distance">
<input a0="O" a1="I"/>
<output a0="distanceOI"/>
</command>
<element type="numeric" label="distanceOI">
<value val="7.619703834348241"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="文字OI" exp="Name[O] + (Name[I]) + " = " + distanceOI" />
<element type="text" label="文字OI">
<show object="false" label="false" ev="20"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[O, I]"/>
</element>
<command name="Distance">
<input a0="O" a1="C"/>
<output a0="distanceOC"/>
</command>
<element type="numeric" label="distanceOC">
<value val="2.7409088708026994"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="文字OC" exp="Name[O] + (Name[C]) + " = " + distanceOC" />
<element type="text" label="文字OC">
<show object="false" label="false" ev="20"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[O, C]"/>
</element>
<expression label="文字IC" exp="Name[C] + (Name[I]) + " = " + distanceIC" />
<element type="text" label="文字IC">
<show object="false" label="false" ev="20"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[C, I]"/>
</element>
<expression label="文字CS" exp="Name[C] + (Name[S]) + " = " + distanceCS" />
<element type="text" label="文字CS">
<show object="false" label="false" ev="20"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[C, S]"/>
</element>
<command name="Distance">
<input a0="O" a1="S"/>
<output a0="distanceOS"/>
</command>
<element type="numeric" label="distanceOS">
<value val="6.417819673380047"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="文字OS" exp="Name[O] + (Name[S]) + " = " + distanceOS" />
<element type="text" label="文字OS">
<show object="false" label="false" ev="20"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[O, S]"/>
</element>
<expression label="k" exp="m^(2)" />
<element type="numeric" label="k">
<value val="6.72835369599544"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="text1" exp=""k=" + k + """ />
<element type="text" label="text1">
<show object="true" label="false" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
<startPoint x="-4.639883837277948" y="8.161165590592162" z="1"/>
</element>
<command name="Distance">
<input a0="S" a1="K"/>
<output a0="EC"/>
</command>
<element type="numeric" label="EC">
<value val="7.581455547472158"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<auxiliary val="true"/>
</element>
<expression label="a" exp="distanceOC^(2) / distanceOI^(2)" />
<element type="numeric" label="a">
<value val="0.1293936638171936"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="b" exp="distanceIC^(2) / distanceOI^(2)" />
<element type="numeric" label="b">
<value val="0.8706063361828065"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Intersect">
<input a0="c" a1="g" a2="2"/>
<output a0="F"/>
</command>
<element type="point" label="F">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelOffset x="-66" y="-20"/>
<labelMode val="3"/>
<coords x="-5.647821041691766" y="5.114880644179786" z="1"/>
<pointSize val="3"/>
<pointStyle val="10"/>
<caption val="C(v_A_1,√kv_C)"/>
</element>
<expression label="d" exp="((distanceCS * w)) / distanceIC^(3)" />
<element type="numeric" label="d">
<value val="-0.6662240027486956"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Distance">
<input a0="F" a1="S"/>
<output a0="distanceSF"/>
</command>
<element type="numeric" label="distanceSF">
<value val="12.912750588893246"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="文字SF" exp=""" + F + Name[S] + " = " + distanceSF + """ />
<element type="text" label="文字SF">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[F, S]"/>
</element>
<expression label="e" exp="distanceOS^(2) / distanceOI^(2)" />
<element type="numeric" label="e">
<value val="0.7094125019272797"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Distance">
<input a0="S" a1="I"/>
<output a0="distanceIS"/>
</command>
<element type="numeric" label="distanceIS">
<value val="1.3065750048381726"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="文字IS" exp="Name[S] + (Name[I]) + " = " + distanceIS" />
<element type="text" label="文字IS">
<show object="false" label="false" ev="20"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<startPoint exp="Midpoint[S, I]"/>
</element>
<expression label="j" exp="(distanceSF * distanceIS / distanceOI^(2))" />
<element type="numeric" label="j">
<value val="0.29058749807272044"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="text4" exp=""恢復系數e=" + (LaTeX[d]) + """ />
<element type="text" label="text4">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="2"/>
<startPoint x="9.694788406802168" y="-0.7713213524218652" z="1"/>
</element>
<command name="Slope">
<input a0="i"/>
<output a0="m_1"/>
</command>
<element type="numeric" label="m_1">
<value val="0"/>
<show object="false" label="true"/>
<objColor r="21" g="101" b="192" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<expression label="l" exp="m_1 / m" />
<element type="numeric" label="l">
<value val="0"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Intersect">
<input a0="c" a1="yAxis" a2="2"/>
<output a0="A"/>
</command>
<element type="point" label="A">
<show object="false" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0" y="7.6197038343482415" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<expression label="q" exp="x(K)" />
<element type="numeric" label="q">
<value val="2.7409088708027"/>
<objColor r="99" g="219" b="219" alpha="0.5"/>
</element>
<command name="Rotate">
<input a0="B" a1="89.9°" a2="O"/>
<output a0="B'"/>
</command>
<element type="point" label="B'">
<show object="false" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="0.013298885241831733" y="7.619692228878579" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Angle">
<input a0="B" a1="O" a2="B'"/>
<output a0="α"/>
</command>
<element type="angle" label="α">
<angleStyle val="0"/>
<value val="1.5690509975429023"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="1"/>
<labelMode val="2"/>
<lineStyle thickness="4" type="0" typeHidden="2" opacity="153"/>
<arcSize val="30"/>
</element>
<command name="Rotate">
<input a0="B" a1="0.1°" a2="O"/>
<output a0="B'_1"/>
</command>
<element type="point" label="B'_1">
<show object="false" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="7.619692228878579" y="0.013298885241832092" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Angle">
<input a0="B" a1="O" a2="B'_1"/>
<output a0="β"/>
</command>
<element type="angle" label="β">
<angleStyle val="0"/>
<value val="0.0017453292519943294"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="1"/>
<labelMode val="2"/>
<lineStyle thickness="4" type="0" typeHidden="2" opacity="153"/>
<arcSize val="30"/>
</element>
<command name="Vector">
<input a0="I" a1="S"/>
<output a0="n"/>
</command>
<element type="vector" label="n">
<show object="false" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelOffset x="-75" y="-28"/>
<labelMode val="0"/>
<coords x="-1.2191166356542729" y="0.4699924168950786" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<coordStyle style="cartesian"/>
<startPoint exp="I"/>
</element>
<expression label="o" exp="(u * n / ((2 * u^(2))))" />
<element type="numeric" label="o">
<value val="0.09188726963353137"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<expression label="text7" exp=""\frac{v_B_0}{v_A_0}=" + (LaTeX[l]) + """ />
<element type="text" label="text7">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<startPoint x="16.404665704058367" y="10.208314623127297" z="1"/>
</element>
<expression label="text2" exp=""\frac{E_c}{E_0}=" + (LaTeX[a]) + """ />
<element type="text" label="text2">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="2"/>
<decimals val="3"/>
<startPoint x="9.599263227111466" y="6.7751678431435085" z="1"/>
</element>
<expression label="text3" exp=""\frac{ΔE_m_a_x}{E_0}=" + (LaTeX[b]) + """ />
<element type="text" label="text3">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="2"/>
<decimals val="3"/>
<startPoint x="15.903925086697706" y="6.775167843143509" z="1"/>
</element>
<expression label="text5" exp=""\frac{E'}{E_0}=" + (LaTeX[e]) + """ />
<element type="text" label="text5">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="2"/>
<decimals val="3"/>
<startPoint x="9.503738047420764" y="3.8138872727317805" z="1"/>
</element>
<expression label="text6" exp=""\frac{ΔE}{E_0}=" + (LaTeX[j]) + """ />
<element type="text" label="text6">
<show object="false" label="false" ev="8"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="2"/>
<decimals val="3"/>
<startPoint x="16.047212856233756" y="3.527311733659677" z="1"/>
</element>
<expression label="p" exp="x(F)" />
<element type="numeric" label="p">
<value val="-5.647821041691766"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="OrthogonalLine">
<input a0="F" a1="xAxis"/>
<output a0="r"/>
</command>
<element type="line" label="r">
<show object="true" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="-1" y="0" z="-5.647821041691766"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="76"/>
<eqnStyle style="explicit"/>
</element>
<command name="Point">
<input a0="xAxis"/>
<output a0="D"/>
</command>
<element type="point" label="D">
<show object="false" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="-9.39123760667563" y="0" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="D" a1="O"/>
<output a0="s"/>
</command>
<element type="line" label="s">
<show object="false" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="0" y="9.39123760667563" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="r" a1="s"/>
<output a0="E"/>
</command>
<element type="point" label="E">
<show object="true" label="true" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelOffset x="-69" y="-14"/>
<labelMode val="3"/>
<coords x="-53.04002936250964" y="0" z="9.39123760667563"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<caption val="A'(v_A_1,0)"/>
</element>
<command name="Circle">
<input a0="O" a1="E"/>
<output a0="t"/>
</command>
<element type="conic" label="t">
<show object="true" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="76"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-31.897882518976264" A3="0" A4="0" A5="0"/>
<eqnStyle style="specific"/>
</element>
<command name="OrthogonalLine">
<input a0="E" a1="f"/>
<output a0="f_1"/>
</command>
<element type="line" label="f_1">
<show object="false" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="25.74052646395315" y="66.76853262870789" z="145.37788698733834"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
</element>
<command name="Point">
<input a0="r"/>
<output a0="G"/>
</command>
<element type="point" label="G">
<show object="false" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="-5.647821041691766" y="5.11138494510677" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="G" a1="s"/>
<output a0="g_1"/>
</command>
<element type="line" label="g_1">
<show object="true" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="0" y="9.39123760667563" z="-48.002230518682346"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="76"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="t" a1="f_1" a2="2"/>
<output a0="H"/>
</command>
<element type="point" label="H">
<show object="true" label="true" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelOffset x="2" y="25"/>
<labelMode val="3"/>
<coords x="4.186236527355091" y="-3.7912143511036467" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<caption val="B(v_A_2,√kv_B)"/>
</element>
<command name="OrthogonalLine">
<input a0="H" a1="s"/>
<output a0="h_1"/>
</command>
<element type="line" label="h_1">
<show object="true" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="-9.39123760667563" y="0" z="39.31394190613632"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="76"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="g_1" a1="h_1"/>
<output a0="J"/>
</command>
<element type="point" label="J">
<show object="true" label="true" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelOffset x="-38" y="-28"/>
<labelMode val="3"/>
<coords x="369.20656969556836" y="450.80035245136224" z="88.1953437850386"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<caption val="F(v_A_2,√kv_c)"/>
</element>
<command name="Vector">
<input a0="I" a1="F"/>
<output a0="u_1"/>
</command>
<element type="vector" label="u_1">
<show object="true" label="true" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelOffset x="15" y="3"/>
<labelMode val="3"/>
<fixed val="true"/>
<coords x="-13.267524876040007" y="5.114880644179786" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<coordStyle style="cartesian"/>
<startPoint exp="I"/>
<caption val="A,C相碰"/>
</element>
<command name="Vector">
<input a0="E" a1="H"/>
<output a0="v_1"/>
</command>
<element type="vector" label="v_1">
<show object="true" label="true" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelOffset x="-15" y="59"/>
<labelMode val="3"/>
<coords x="9.834057569046857" y="-3.7912143511036467" z="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<coordStyle style="cartesian"/>
<startPoint exp="E"/>
<caption val="A,B相碰"/>
</element>
<command name="Segment">
<input a0="J" a1="E"/>
<output a0="i_1"/>
</command>
<element type="segment" label="i_1">
<show object="false" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="5.11138494510677" y="-9.834057569046855" z="28.868187445160526"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="204"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Intersect">
<input a0="r" a1="g_1"/>
<output a0="L"/>
</command>
<element type="point" label="L">
<show object="true" label="false" ev="4"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="-53.04002936250964" y="48.002230518682346" z="9.39123760667563"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="L" a1="H"/>
<output a0="j_1"/>
</command>
<element type="segment" label="j_1">
<show object="true" label="false"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="8.902599296210417" y="9.834057569046857" z="0.014633823148113123"/>
<lineStyle thickness="5" type="10" typeHidden="1" opacity="76"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="CircleSector">
<input a0="O" a1="I" a2="K"/>
<output a0="c_1"/>
</command>
<element type="conicpart" label="c_1">
<show object="true" label="true" ev="4"/>
<objColor r="211" g="47" b="47" alpha="0.1"/>
<layer val="1"/>
<labelOffset x="-72" y="36"/>
<labelMode val="3"/>
<selectionAllowed val="false"/>
<lineStyle thickness="1" type="0" typeHidden="1" opacity="204"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-58.059886523181284" A3="0" A4="0" A5="0"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<caption val="v_A>v_C"/>
</element>
<command name="CircleSector">
<input a0="O" a1="K" a2="B'"/>
<output a0="d_1"/>
</command>
<element type="conicpart" label="d_1">
<show object="true" label="true" ev="4"/>
<objColor r="21" g="101" b="192" alpha="0.13"/>
<layer val="1"/>
<labelOffset x="-48" y="55"/>
<labelMode val="3"/>
<selectionAllowed val="false"/>
<lineStyle thickness="1" type="0" typeHidden="1" opacity="204"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-58.059886523181284" A3="0" A4="0" A5="0"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<caption val="v_A<v_C"/>
</element>
<expression label="text8" exp=""α""/>
<element type="text" label="text8">
<show object="true" label="false" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<startPoint x="5.480860000000004" y="0.16107999999999856" z="1"/>
</element>
<expression label="text8_1" exp=""α""/>
<element type="text" label="text8_1">
<show object="true" label="false" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<startPoint x="-3.6498000000000057" y="-0.5310400000000024" z="1"/>
</element>
<expression label="text8_2" exp=""2α""/>
<element type="text" label="text8_2">
<show object="true" label="true" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<startPoint x="-1.706540000000003" y="0.13445999999999853" z="1"/>
</element>
<expression label="text8_3" exp=""2α""/>
<element type="text" label="text8_3">
<show object="true" label="true" ev="40"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<startPoint x="1.0353199999999998" y="-0.6907600000000025" z="1"/>
</element>
</construction>
</geogebra>