Comprehensive Construction of Circles, Lines, and Symmetry Transformations
2019-05-12 10:12
This applet demonstrates the comprehensive construction of circles, lines, angle bisectors, and symmetry transformations in plane geometry. Using GeoGebra tools, it illustrates how to utilize geometric operations such as lines, perpendicular lines, perpendicular bisectors, and mirror reflections to explore special points generated by the intersection of circles and lines. The construction covers foundational geometric drafting techniques and is suitable for understanding the application of geometric transformations in plane figures and the generation principles of special points.
Within the applet, users begin by constructing a circle with a given center and radius, then draw multiple secant lines that intersect the circle at distinct points. Perpendicular lines are dropped from selected points onto existing lines or chords, and perpendicular bisectors are constructed to reveal the classical locus property: every point on a perpendicular bisector is equidistant from the two endpoints of the segment. Angle bisectors are simultaneously constructed at intersection vertices, allowing students to observe the concurrence of internal bisectors at the incenter and the relationship between bisectors and symmetric reflection.
The mirror-reflection tool completes the symmetry exploration. By selecting a line of reflection and a set of geometric objects, the applet generates their mirrored images and displays the invariant properties that persist under reflection, such as preserved distances, preserved angles, and the perpendicular relationship between any point and its image. Students can drag key construction points freely and watch all dependent objects recompute dynamically, reinforcing the concept that geometric truth is independent of visual appearance.
This applet serves as an interactive laboratory for secondary school students studying Euclidean construction and transformation geometry. It helps learners verify classical theorems through exploration, develop intuition for symmetry and congruence, and bridge the gap between static textbook diagrams and dynamic geometric reasoning.
Loading the math board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.536.0" app="graphing" platform="w" id="2D3D9DD4-E341-42D3-8773-E04E5CD7C58F" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1920" height="1016" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.19791666666666666" 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 | 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="1540" window="100,100,600,400" />
<view id="2" visible="true" inframe="false" stylebar="false" location="3" size="380" window="100,100,600,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" />
<view id="43" visible="false" inframe="false" stylebar="false" location="1" size="450" window="50,50,500,500" />
</views>
<toolbar show="true" 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="true" cmd="true" top="algebra" />
<dockBar show="false" east="false" />
</perspective>
</perspectives>
<labelingStyle val="1"/>
<font size="16"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="1540" height="788"/>
<coordSystem xZero="690.3143986669346" yZero="413.7644883111751" scale="76.71064991545374" yscale="76.71064991545404"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="0" rightAngleStyle="1" checkboxSize="26" gridType="-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="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<algebraView>
<mode val="3"/>
</algebraView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="13"/>
<angleUnit val="degree"/>
<algebraStyle val="3" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<tableview min="-2" max="2" step="1"/>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<element type="point" label="A">
<show object="true" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="1.3526374841169992" y="0.4425320095795713" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<element type="point" label="B">
<show object="true" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="-7.030502273952017" y="-5.021929968177931" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="A" a1="B"/>
<output a0="f"/>
</command>
<element type="line" label="f">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="5.464461977757502" y="-8.383139758069015" z="-3.681628417922227"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<element type="point" label="C">
<show object="true" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="3.02" y="-4.96" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="B" a1="C"/>
<output a0="g"/>
</command>
<element type="line" label="g">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.06192996817793084" y="10.050502273952016" z="50.037519782699356"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<command name="Line">
<input a0="C" 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"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.402532009579572" y="-1.6673625158830008" z="8.04552859015062"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<command name="AngularBisector">
<input a0="f" a1="h"/>
<output a0="i" a1="j"/>
</command>
<element type="line" label="i">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.3399734145536797" y="-0.940435046878152" z="0.8760333953026015"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<element type="line" label="j">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.940435046878152" y="-0.3399734145536797" z="-1.121618577438647"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="g" a1="j"/>
<output a0="D_{(G')}"/>
</command>
<element type="point" label="D_{(G')}">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.738596393267651" y="-46.98757545970077" z="9.430790034408385"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="OrthogonalLine">
<input a0="A" a1="g"/>
<output a0="k"/>
</command>
<element type="line" label="k">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-10.050502273952016" y="-0.06192996817793084" z="13.622092103221613"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="g" a1="k"/>
<output a0="H_{(J')}"/>
</command>
<element type="point" label="H_{(J')}">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="140.00768966725778" y="-502.0585906284695" z="101.01643127967317"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="B" a1="H_{(J')}" a2="A"/>
<output a0="c"/>
</command>
<element type="conic" label="c">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-11.732085668702947" A3="0" A4="2.838932394917509" A5="2.28969897929918"/>
<eqnStyle style="specific"/>
</element>
<command name="Circle">
<input a0="A" a1="H_{(J')}" a2="C"/>
<output a0="d"/>
</command>
<element type="conic" label="d">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="1.8900064345186625" A3="0" A4="-2.1863187420584986" A5="2.2587339952102146"/>
<eqnStyle style="specific"/>
</element>
<command name="LineBisector">
<input a0="D_{(G')}" a1="A"/>
<output a0="l"/>
</command>
<element type="line" label="l">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.9611333123912256" y="-5.424890357953977" z="-11.58434957085119"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
</element>
<command name="Intersect">
<input a0="c" a1="l" a2="2"/>
<output a0="E"/>
</command>
<element type="point" label="E">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-7.049567809591292" y="0.41305769345433596" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Intersect">
<input a0="d" a1="l" a2="1"/>
<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"/>
<labelMode val="0"/>
<coords x="4.565368524359836" y="-3.785817687025385" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Intersect">
<input a0="j" a1="l"/>
<output a0="G_{(D')}"/>
</command>
<element type="point" label="G_{(D')}">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.1462869270632385" y="-13.093971887728127" z="5.768490206699896"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="A" a1="B"/>
<output a0="m"/>
</command>
<element type="segment" label="m">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="5.464461977757502" y="-8.383139758069015" z="-3.681628417922227"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="B" a1="D_{(G')}"/>
<output a0="n"/>
</command>
<element type="segment" label="n">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.03957161980352453" y="6.42200644567779" z="31.97265826236849"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="D_{(G')}" a1="H_{(J')}"/>
<output a0="p"/>
</command>
<element type="segment" label="p">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.012289773703868967" y="1.9944850964917284" z="9.929761195184657"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="H_{(J')}" a1="C"/>
<output a0="q"/>
</command>
<element type="segment" label="q">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.010068574670537345" y="1.6340107317824981" z="8.135100325146215"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="C" a1="A"/>
<output a0="r"/>
</command>
<element type="segment" label="r">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.402532009579572" y="-1.6673625158830008" z="8.04552859015062"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="A" a1="G_{(D')}"/>
<output a0="s"/>
</command>
<element type="segment" label="s">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.712445178976989" y="-0.980566656195613" z="-3.2350228898037527"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="G_{(D')}" a1="D_{(G')}"/>
<output a0="t"/>
</command>
<element type="segment" label="t">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.7124451789769886" y="-0.9805666561956126" z="-3.235022889803752"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="H_{(J')}" a1="A"/>
<output a0="a"/>
</command>
<element type="segment" label="a">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.412600584250109" y="-0.03335178410050266" z="7.336045668851327"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="E" a1="G_{(D')}"/>
<output a0="b"/>
</command>
<element type="segment" label="b">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.6829708628517537" y="7.421638637512679" z="15.84822009156853"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="G_{(D')}" a1="F"/>
<output a0="e"/>
</command>
<element type="segment" label="e">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="1.515904517627967" y="4.193297696438449" z="8.954397815425885"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Circle">
<input a0="D_{(G')}" a1="H_{(J')}" a2="F"/>
<output a0="c_1"/>
</command>
<element type="conic" label="c_1">
<show object="true" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="15" typeHidden="1" opacity="178"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-52.455976696239546" A3="0" A4="-0.3414830056397497" A5="-2.69412906155563"/>
<eqnStyle style="specific"/>
</element>
<command name="Intersect">
<input a0="l" a1="a"/>
<output a0="J_{(H')}"/>
</command>
<element type="point" label="J_{(H')}">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="40.183602140293374" y="-77.08842079775437" z="29.297357426127306"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="A" a1="sqrt((Distance[A, G_{(D')}] * Distance[A, D_{(G')}]))"/>
<output a0="d_1"/>
</command>
<element type="conic" label="d_1">
<show object="false" label="true"/>
<objColor r="46" g="125" b="50" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="178"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-14.612276889455405" A3="0" A4="-1.3526374841169992" A5="-0.4425320095795713"/>
<eqnStyle style="specific"/>
</element>
<command name="Mirror">
<input a0="c" a1="d_1"/>
<output a0="c'"/>
</command>
<element type="conic" label="c'">
<show object="true" label="false"/>
<objColor r="211" g="47" b="47" alpha="0" inverseFill="true"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="178"/>
<eigenvectors x0="-0.5460712386122666" y0="0.8377387434997052" z0="1.0" x1="-0.8377387434997052" y1="-0.5460712386122666" z1="1.0"/>
<matrix A0="0" A1="0" A2="-1.440095610376228" A3="0" A4="-2.0957849395172543" A5="-1.3661154944393756"/>
<eqnStyle style="specific"/>
</element>
<command name="Mirror">
<input a0="E" a1="d_1"/>
<output a0="E'"/>
</command>
<element type="point" label="E'">
<show object="true" label="true"/>
<objColor r="97" g="97" b="97" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.6275015766245282" y="0.43558582787987804" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Mirror">
<input a0="g" a1="d_1"/>
<output a0="g'"/>
</command>
<element type="conic" label="g'">
<show object="true" label="false"/>
<objColor r="211" g="47" b="47" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="178"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="0.6908388506333314" A3="0" A4="-1.3621075924969048" A5="1.0943547127464495"/>
<eqnStyle style="implicit"/>
</element>
<command name="Mirror">
<input a0="l" a1="d_1"/>
<output a0="l'"/>
</command>
<element type="conic" label="l'">
<show object="true" label="false"/>
<objColor r="46" g="125" b="50" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="178"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-3.027927318604215" A3="0" A4="-0.37207082792138824" A5="2.269913169397417"/>
<eqnStyle style="implicit"/>
</element>
<command name="Mirror">
<input a0="F" a1="d_1"/>
<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"/>
<labelMode val="0"/>
<coords x="3.2480800234918066" y="-2.052103795878892" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Mirror">
<input a0="d" a1="d_1"/>
<output a0="d'"/>
</command>
<element type="conic" label="d'">
<show object="true" label="false"/>
<objColor r="211" g="47" b="47" alpha="0" inverseFill="true"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="20" typeHidden="1" opacity="178"/>
<eigenvectors x0="-0.9555278559117792" y0="-0.29490085889437173" z0="1.0" x1="0.29490085889437173" y1="-0.9555278559117792" z1="1.0"/>
<matrix A0="0" A1="0" A2="-8.251141661987033" A3="0" A4="0.4168406289707497" A5="-1.350633002394893"/>
<eqnStyle style="specific"/>
</element>
<command name="Mirror">
<input a0="B" a1="d_1"/>
<output a0="B'"/>
</command>
<element type="point" label="B'">
<show object="true" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-0.04021402549016306" y="-0.465383680074116" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Mirror">
<input a0="C" a1="d_1"/>
<output a0="C'"/>
</command>
<element type="point" label="C'">
<show object="true" label="true"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.2204309278075116" y="-2.369263153488769" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="G_{(D')}" a1="B'"/>
<output a0="f_1"/>
</command>
<element type="segment" label="f_1">
<show object="true" label="false" ev="4"/>
<objColor r="219" g="97" b="20" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<decoration type="1"/>
<coords x="-1.8045294893233017" y="-0.41228485341154925" z="-0.26443803720088244"/>
<lineStyle thickness="5" type="30" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="G_{(D')}" a1="C'"/>
<output a0="g_1"/>
</command>
<element type="segment" label="g_1">
<show object="true" label="false"/>
<objColor r="219" g="97" b="20" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<decoration type="1"/>
<coords x="0.0993499840913512" y="1.8483600998861254" z="4.158651701685397"/>
<lineStyle thickness="5" type="30" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="G_{(D')}" a1="E'"/>
<output a0="h_1"/>
</command>
<element type="segment" label="h_1">
<show object="true" label="false"/>
<objColor r="219" g="97" b="20" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<decoration type="2"/>
<coords x="-2.705498997277296" y="-0.9995724045459145" z="-1.2623053129875708"/>
<lineStyle thickness="5" type="30" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="G_{(D')}" a1="F'"/>
<output a0="i_1"/>
</command>
<element type="segment" label="i_1">
<show object="true" label="false"/>
<objColor r="219" g="97" b="20" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<decoration type="2"/>
<coords x="-0.2178093735185258" y="2.8760091955704206" z="6.609331662267447"/>
<lineStyle thickness="5" type="30" typeHidden="1" opacity="178"/>
<eqnStyle style="explicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Angle">
<input a0="E'" a1="B'" a2="G_{(D')}"/>
<output a0="α"/>
</command>
<element type="angle" label="α">
<angleStyle val="0"/>
<value val="2.7885422255647265"/>
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="3" type="0" typeHidden="2"/>
<arcSize val="15"/>
</element>
<command name="Angle">
<input a0="F'" a1="C'" a2="G_{(D')}"/>
<output a0="β"/>
</command>
<element type="angle" label="β">
<angleStyle val="0"/>
<value val="2.7885422255647274"/>
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="3" type="0" typeHidden="2"/>
<arcSize val="15"/>
</element>
<expression label="text1" exp=""题:在△ABC中,作∠BAC平分线交BC于点D,作AH⊥BC于H点,AD中垂线分别交ΔABH外接圆和ΔACH外接圆于点E、F,求证:D、E、F、H四点共圆""/>
<element type="text" label="text1">
<show object="true" label="true" ev="40"/>
<objColor r="219" g="97" b="20" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-8.425354228901291" y="5.34168969709934" z="1"/>
</element>
<expression label="text2" exp=""解:设EF交AD于点G,交AH于点J,以A为反演中心,\sqrt{AD·AG}为反演半径作原图像的反演,记任一点X(X∈{A,B,C,D,E,F,G,H})经反演后至X'""/>
<element type="text" label="text2">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-8.425354228901291" y="4.885429711835559" z="1"/>
</element>
<expression label="text3" exp=""则由于∠AGJ=∠AHD=90°,AG·AD=AJ·AH,从而反演后D'与G、G'与D、H'与J、J与H'重合""/>
<element type="text" label="text3">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<startPoint x="-7.916950245321648" y="4.585601721519361" z="1"/>
</element>
<expression label="text4" exp=""而且由反演性质,直线BC→⊙AD'H',直线EF→⊙AG'J',其中由于∠AJ'G'=90°,D'为AG'中点,则⊙AG'J'的圆心为点D',即⊙D'过点E'、F'""/>
<element type="text" label="text4">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-7.916950245321648" y="4.324881729940059" z="1"/>
</element>
<expression label="text5" exp=""且⊙ABH→直线B'H',⊙ACH→直线C'H',由于∠AB'E'=∠AEB=180°-∠AHB=90°,则AB'⊥B'H'
同理AC'⊥C'H'""/>
<element type="text" label="text5">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-7.916950245321647" y="4.064161738360757" z="1"/>
</element>
<expression label="text6" exp=""连接D'E'、D'F'、B'D'、C'D',由于AD平分∠BAC,∠B'AD'=∠BAD=∠CAD=∠C'AD',而A、B'、C'、D'四点共圆,则B'D'=C'D'""/>
<element type="text" label="text6">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-7.916950245321649" y="3.777369747623524" z="1"/>
</element>
<expression label="text7" exp=""又D'E'=D'F'为⊙D'半径,则D、E、F、H四点共圆⇔D'、E'、F'、H'四点共圆⇔∠D'E'H'=∠D'F'H'⇔∠B'E'D'=∠C'F'D'⇔ΔB'E'D'≅ΔC'F'D'""/>
<element type="text" label="text7">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-7.916950245321648" y="3.5036137564652563" z="1"/>
</element>
<expression label="text8" exp=""而∠D'B'E'=∠BB'E'+∠BB'G'=90°+∠AC'D'=∠AC'D'+∠AC'F'=∠D'C'F'且由于此角大小为90°+∠AC'D'>90°为钝角""/>
<element type="text" label="text8">
<show object="true" label="true" ev="40"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-7.929986244900613" y="3.268965764043884" z="1"/>
</element>
<expression label="text9" exp=""又B'D'=C'F',D'E'=D'F',从而满足SSA型全等判定,从而ΔB'E'D'≅ΔC'F'D'⇔D、E、F、H四点共圆,得证""/>
<element type="text" label="text9">
<show object="true" label="true" ev="8"/>
<objColor r="21" g="101" b="192" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1" size="0" style="0"/>
<startPoint x="-7.943022244479579" y="2.982173773306651" z="1"/>
</element>
</construction>
</geogebra>