Similar Triangles and Translation Transformation
2015-01-30 11:16
This GeoGebra applet demonstrates the properties of similar triangles and their relationship with translation transformations. By constructing polygons, segments, and vectors, it dynamically displays the proportional relationships of corresponding side lengths and distances during the translation of a triangle. Users can visually observe the effect of translation vectors and verify the geometric t
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.59.0" id="e8af924a-502e-400b-acee-3f3a740f4465" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="870" height="768" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.29310344827586204" orientation="1" />
</panes>
<views>
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="false" location="1,1" size="200" window="0,0,400,400" />
<view id="1" visible="true" inframe="false" stylebar="true" location="1" size="854" window="0,0,400,400" />
<view id="2" visible="false" inframe="false" stylebar="false" location="3" 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="true" inframe="true" stylebar="true" location="1" size="150" window="1022,108,500,500" />
<view id="70" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="512" visible="false" inframe="false" stylebar="false" location="1" size="300" window="50,50,500,500" />
</views>
<toolbar show="true" items="0 39 | 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 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>
<viewNumber viewNo="1"/>
<size width="854" height="595"/>
<coordSystem xZero="150.99999999999997" yZero="299.99999999999994" scale="49.999999999999964" yscale="49.999999999999986"/>
<evSettings axes="false" grid="true" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="13" 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="相似三角形" author="游增進" date="">
<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="-8" y="-2"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="1.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="B">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-18" y="12"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="0.0" y="-2.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="C">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="5" y="15"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="2.0" y="-1.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="A" a1="B" a2="C"/>
<output a0="poly1" a1="c" a2="a" a3="b"/>
</command>
<element type="polygon" label="poly1">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="true" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="c">
<show object="true" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<coords x="2.0" y="-1.0" z="-2.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="a">
<show object="true" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<coords x="-1.0" y="2.0" z="4.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="b">
<show object="true" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<coords x="-1.0" y="-1.0" z="1.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="P">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-25" y="11"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="3.0" y="4.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="Q">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="5" y="12"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="10.0" y="4.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="P" a1="Q"/>
<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"/>
<fixed val="true"/>
<coords x="0.0" y="7.0" z="-28.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Point">
<input a0="d"/>
<output a0="M"/>
</command>
<element type="point" label="M">
<show object="true" label="true"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-8" y="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="4.0" y="4.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="d"/>
<output a0="N"/>
</command>
<element type="point" label="N">
<show object="true" label="true"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-9" y="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="5.0" y="4.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Distance">
<input a0="P" a1="M"/>
<output a0="distancePM"/>
</command>
<element type="numeric" label="distancePM">
<value val="1.0"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<expression label="文字DF" exp=""\overline{" + (Name[P]) + (Name[M]) + "} \, = \, " + distancePM" />
<element type="text" label="文字DF">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.0" size="0" style="0"/>
<startPoint x="-1.9399999999999988" y="3.9399999999999977" z="1.0"/>
</element>
<command name="Distance">
<input a0="P" a1="N"/>
<output a0="distancePN"/>
</command>
<element type="numeric" label="distancePN">
<value val="2.0"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<command name="Distance">
<input a0="P" a1="N"/>
<output a0="e"/>
</command>
<element type="numeric" label="e">
<value val="2.0"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<expression label="文字DG" exp=""\overline{" + (Name[P]) + (Name[N]) + "} \, = \, " + e" />
<element type="text" label="文字DG">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.0" size="0" style="0"/>
<startPoint x="0.06000000000000083" y="3.9399999999999986" z="1.0"/>
</element>
<expression label="r" exp="distancePN / distancePM" />
<element type="numeric" label="r">
<value val="2.0"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<element type="point" label="D">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-7" y="-3"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<coords x="8.0" y="1.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Vector">
<input a0="A" a1="B"/>
<output a0="u"/>
</command>
<element type="vector" label="u">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.0" y="-2.0" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<coordStyle style="cartesian"/>
<startPoint exp="A"/>
</element>
<command name="Vector">
<input a0="A" a1="C"/>
<output a0="v"/>
</command>
<element type="vector" label="v">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="1.0" y="-1.0" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<coordStyle style="cartesian"/>
<startPoint exp="A"/>
</element>
<command name="Translate">
<input a0="D" a1="Vector[(r * u)]"/>
<output a0="E"/>
</command>
<element type="point" label="E">
<show object="true" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-23" y="19"/>
<labelMode val="0"/>
<coords x="6.0" y="-3.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Translate">
<input a0="D" a1="Vector[(r * v)]"/>
<output a0="F"/>
</command>
<element type="point" label="F">
<show object="true" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="18" y="13"/>
<labelMode val="0"/>
<coords x="10.0" y="-1.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="D" a1="E" a2="F"/>
<output a0="poly2" a1="h'_1" a2="h" a3="h'"/>
</command>
<element type="polygon" label="poly2">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="true" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="h'_1">
<show object="true" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<coords x="4.0" y="-2.0" z="-30.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h">
<show object="true" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<coords x="-2.0" y="4.0" z="24.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h'">
<show object="true" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="false"/>
<coords x="-2.0" y="-2.0" z="18.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Distance">
<input a0="A" a1="B"/>
<output a0="distanceAB"/>
</command>
<element type="numeric" label="distanceAB">
<value val="2.23606797749979"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<expression label="文字AB" exp=""\overline{" + (Name[A]) + (Name[B]) + "} \, = \, " + distanceAB" />
<element type="text" label="文字AB">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.0" size="0" style="0"/>
<startPoint x="-1.9399999999999986" y="2.9399999999999986" z="1.0"/>
</element>
<command name="Distance">
<input a0="D" a1="E"/>
<output a0="distanceDE"/>
</command>
<element type="numeric" label="distanceDE">
<value val="4.47213595499958"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<expression label="文字DE" exp=""\overline{" + (Name[D]) + (Name[E]) + "} \, = \, " + distanceDE" />
<element type="text" label="文字DE">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.0" size="0" style="0"/>
<startPoint x="0.06000000000000144" y="2.939999999999997" z="1.0"/>
</element>
<expression label="text3" exp=""ratio = \frac{\overline{" + (Name[P]) + (Name[N]) + "}}{\overline{" + (Name[P]) + (Name[M]) + " }}=" + "\frac{\overline{" + (Name[D]) + (Name[E]) + "}}{\overline{" + (Name[A]) + (Name[B]) + " }}=" + r" />
<element type="text" label="text3">
<show object="true" label="true"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.1666666666666667" size="2" style="0"/>
<startPoint x="2.400000000000002" y="3.66" z="1.0"/>
</element>
<expression label="text1" exp=""【相似三角形(一)】""/>
<element type="text" label="text1">
<show object="true" label="false"/>
<objColor r="0" g="102" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<font serif="false" sizeM="4.0" size="36" style="1"/>
<absoluteScreenLocation x="207" y="47"/>
</element>
<expression label="文字1" exp=""請拖曳M、N點來改變倍率。""/>
<element type="text" label="文字1">
<show object="true" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<font serif="false" sizeM="1.5" size="6" style="0"/>
<startPoint x="6.76" y="3.08" z="1.0"/>
</element>
</construction>
</geogebra>