Dynamic Demonstration of Why ASS Does Not Prove Triangle Congruence
2014-02-26 01:36
This applet demonstrates why the ASS condition is invalid for proving triangle congruence. By fixing an angle, adjacent side, and opposite side, it uses a circle and ray intersection to show two distinct triangles can satisfy the same ASS conditions. This illustrates the ambiguous case, helping students understand valid congruence theorems and avoid assuming ASS guarantees congruence.
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="4.4" version="4.4.13.0" id="10feb6e2-314e-44ed-af5b-ea5464e950ed" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1366" height="728" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.0" orientation="0" />
</panes>
<views>
<view id="4" toolbar="0 59 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="false" location="2,2" size="200" window="0,0,400,400" />
<view id="1" visible="true" inframe="false" stylebar="true" location="2" size="582" window="0,0,400,400" />
<view id="2" visible="false" inframe="false" stylebar="false" location="0" size="200" window="0,0,200,400" />
<view id="8" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="4097" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="70" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
</views>
<toolbar show="true" items="0 39 59 | 1 501 67 , 5 19 , 72 | 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 | 30 29 54 32 31 33 | 17 26 62 73 , 14 66 68 | 25 52 60 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false" />
<input show="true" cmd="true" top="false" />
<dockBar show="false" east="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="12"/>
<graphicsSettings javaLatexFonts="false"/>
</gui>
<euclidianView>
<size width="1350" height="555"/>
<coordSystem xZero="440.8420503117367" yZero="479.24678064561215" scale="77.51111628246721" yscale="77.51111628246723"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="0"/>
<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="10"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0"/>
<coordStyle val="0"/>
<angleFromInvTrig val="false"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="ASS" author="何嘉誠" date="">
<element type="angle" label="α">
<angleStyle val="0"/>
<value val="0.9250245035569946"/>
<slider min="0.9250245035569946" max="1.9722220547535925" absoluteScreenLocation="true" width="100.0" x="45.0" y="132.0" fixed="true" horizontal="true"/>
<show object="true" label="true"/>
<objColor r="0" g="100" b="0" alpha="0.1"/>
<layer val="0"/>
<labelOffset x="8" y="-2"/>
<labelMode val="0"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="30"/>
<animation step="1.0471975511965976" speed="1" type="0" playing="false"/>
</element>
<element type="point" label="A'">
<show object="false" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<auxiliary val="true"/>
<coords x="5.9" y="0.12" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="A">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-18" y="20"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<auxiliary val="true"/>
<coords x="-0.98" y="0.1" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Ray">
<input a0="A" a1="A'"/>
<output a0="k"/>
</command>
<element type="ray" label="k">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-0.01999999999999999" y="6.880000000000001" z="-0.7076000000000001"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="numeric" label="a">
<value val="5.5"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelOffset x="8" y="2"/>
<labelMode val="0"/>
<slider min="3.5" max="5.5" absoluteScreenLocation="true" width="100.0" x="44.0" y="81.0" fixed="true" horizontal="true"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<animation step="0.5" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<command name="Rotate">
<input a0="A'" a1="α" a2="A"/>
<output a0="A''"/>
</command>
<element type="point" label="A''">
<show object="false" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="3.144514649085147" y="5.606648609588416" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Angle">
<input a0="A'" a1="A" a2="A''"/>
<output a0="α_2"/>
</command>
<element type="angle" label="α_2">
<angleStyle val="0"/>
<value val="0.9250245035569947"/>
<show object="true" label="false"/>
<objColor r="0" g="100" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="30"/>
<auxiliary val="true"/>
</element>
<command name="Ray">
<input a0="A" a1="A''"/>
<output a0="b"/>
</command>
<element type="ray" label="b">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-5.506648609588416" y="4.124514649085147" z="-5.808967102305162"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Circle">
<input a0="A" a1="5"/>
<output a0="c"/>
</command>
<element type="conic" label="c">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="1.0" x1="-0.0" y1="1.0" z1="1.0"/>
<matrix A0="1.0" A1="1.0" A2="-24.0296" A3="0.0" A4="0.98" A5="-0.1"/>
<eqnStyle style="specific"/>
</element>
<command name="Intersect">
<input a0="c" a1="b"/>
<output a0="C" a1=""/>
</command>
<element type="point" label="C">
<show object="true" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="2.0174543764982804" y="4.101907952566037" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="A" a1="C"/>
<output a0="d"/>
</command>
<element type="segment" label="d">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-4.001907952566038" y="2.9974543764982804" z="-4.221615231164545"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Point">
<input a0="Circle[C, a]"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="true" label="true"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<trace val="true"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<auxiliary val="true"/>
<coords x="6.437906436285246" y="0.8293548839168561" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="C" a1="B"/>
<output a0="e"/>
</command>
<element type="segment" label="e">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="3.2725530686491813" y="4.420452059786966" z="-24.734513968646244"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
</construction>
</geogebra>