Locus of an Ellipse: Geometric Construction with Tangent Circles
2013-06-19 07:00
This applet demonstrates the geometric construction of an ellipse's locus. By constructing a moving circle tangent to a larger and a smaller fixed circle, it visually illustrates the ellipse's definition based on the constant sum of distances from the moving center to the two fixed centers. It involves circles, points, and segments, serving as an excellent tool for exploring conic sections.
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="4.0" id="a5bd0082-5bff-4a0a-b56b-5031de1efa1a" 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.23938506588579794" 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="300" window="100,100,600,400" />
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="1018" window="100,100,600,400" />
<view id="2" visible="true" inframe="false" stylebar="false" location="3" size="327" window="100,100,250,400" />
<view id="16" visible="false" inframe="true" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" visible="false" inframe="true" stylebar="false" 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 , 14 66 68 | 25 52 60 61 || 40 41 42 , 27 28 35 , 6" />
<input show="true" cmd="true" top="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="12"/>
<graphicsSettings javaLatexFonts="false"/>
<consProtColumns col0="true" col1="true" col2="false" col3="true" col4="false" col5="true" col6="true" col7="false"/>
<consProtocol useColors="true" addIcons="false" showOnlyBreakpoints="false"/>
</gui>
<euclidianView>
<size width="1018" height="570"/>
<coordSystem xZero="556.1111111111112" yZero="279.55555555555554" scale="22.2222222222222" yscale="22.2222222222222"/>
<evSettings axes="true" 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="3" grid="10"/>
<axis id="0" show="true" label="" unitLabel="" tickStyle="1" showNumbers="true" tickDistance="1.0"/>
<axis id="1" show="true" label="" unitLabel="" tickStyle="1" showNumbers="true" tickDistance="1.0"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0"/>
<coordStyle val="0"/>
<angleFromInvTrig val="false"/>
<startAnimation val="true"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<element type="point" label="F_1">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="-3.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="F_2">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="3.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="F_1" a1="10"/>
<output a0="c"/>
</command>
<element type="conic" label="c">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<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="-91.0" A3="0.0" A4="3.0" A5="-0.0"/>
<eqnStyle style="specific"/>
</element>
<command name="Point">
<input a0="c"/>
<output a0="A"/>
</command>
<element type="point" label="A">
<show object="false" label="true"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="true"/>
<coords x="-5.698202459159328" y="9.629107097202033" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="A" a1="F_1"/>
<output a0="a"/>
</command>
<element type="segment" label="a">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="9.629107097202033" y="2.6982024591593277" z="28.8873212916061"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="A" a1="F_2"/>
<output a0="b"/>
</command>
<element type="segment" label="b">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="9.629107097202033" y="8.698202459159328" z="-28.8873212916061"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="LineBisector">
<input a0="b"/>
<output a0="d"/>
</command>
<element type="line" label="d">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-8.698202459159328" y="9.629107097202033" z="-58.09460737747798"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<command name="Intersect">
<input a0="a" a1="d"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="true" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<trace val="true"/>
<coords x="-434.91012295796634" y="308.131427110465" z="116.18921475495596"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Ellipse">
<input a0="F_1" a1="F_2" a2="B"/>
<output a0="e"/>
</command>
<element type="conic" label="e">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<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="256.0" A1="400.0" A2="-6400.0" A3="0.0" A4="-0.0" A5="-0.0"/>
<eqnStyle style="implicit"/>
</element>
<command name="Circle">
<input a0="F_2" a1="1"/>
<output a0="f"/>
</command>
<element type="conic" label="f">
<show object="true" label="false"/>
<objColor r="0" g="51" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" 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="8.0" A3="0.0" A4="-3.0" A5="-0.0"/>
<eqnStyle style="specific"/>
</element>
<command name="Circle">
<input a0="F_1" a1="11"/>
<output a0="g"/>
</command>
<element type="conic" label="g">
<show object="true" label="false"/>
<objColor r="0" g="51" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" 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="-112.0" A3="0.0" A4="3.0" A5="-0.0"/>
<eqnStyle style="specific"/>
</element>
<command name="Line">
<input a0="B" a1="A"/>
<output a0="h"/>
</command>
<element type="line" label="h">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-6.977127498576491" y="-1.9550828944458947" z="-20.931382495729473"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<command name="Intersect">
<input a0="g" a1="h"/>
<output a0="C" a1="D"/>
</command>
<element type="point" label="C">
<show object="false" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.03197729492473966" y="-10.592017806922236" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="D">
<show object="false" label="true"/>
<objColor r="64" g="64" b="64" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.96802270507526" y="10.592017806922236" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="B" a1="D"/>
<output a0="k"/>
</command>
<element type="conic" label="k">
<show object="true" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="10" 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="-46.95046086593673" A3="0.0" A4="3.743119564713433" A5="-2.651979598625542"/>
<eqnStyle style="specific"/>
</element>
</construction>
</geogebra>