双曲线的几何性质与圆锥截面构造
2017-11-09 04:46
本GeoGebra范例通过三维圆锥与平面的截面交线动态构造双曲线,并深入演示其核心几何性质。内容涵盖焦点、准线、渐近线及轨迹的几何作图,利用向量、正交线等工具揭示双曲线的对称性。适合解析几何教学,直观展现立体几何到平面解析几何的降维映射过程。
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.396.0" app="classic" platform="d" id="988af7e9-8fd8-4b46-a625-8c93d19ca67f" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1659" height="761" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.28933092224231466" orientation="1" />
</panes>
<views>
<view id="1" visible="false" inframe="false" stylebar="true" location="1,3" size="280" window="100,100,600,400" />
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="true" location="1,1" size="300" window="100,100,600,400" />
<view id="2" visible="false" inframe="false" stylebar="false" location="3,3" size="160" window="100,100,250,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 || 1008 1009 || 66 68 || 6" visible="false" inframe="false" stylebar="false" location="1,3" size="300" window="100,100,600,400" />
<view id="4097" visible="false" inframe="false" stylebar="true" location="1,1" size="368" window="1018,597,700,550" />
<view id="16" visible="true" inframe="false" stylebar="true" location="3" size="480" window="710,270,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" toolbar="0" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 | 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="true" inframe="false" stylebar="true" location="1" size="1158" window="100,100,600,400" />
</views>
<toolbar show="false" items="0 39 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="20"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="1447" height="760"/>
<coordSystem xZero="215.0" yZero="315.0" scale="50.0" yscale="50.00000000000001"/>
<evSettings axes="false" grid="true" 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="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<euclidianView>
<viewNumber viewNo="2"/>
<size width="480" height="615"/>
<coordSystem xZero="258.2730151776471" yZero="431.6935886143958" scale="39.73721431075874" yscale="39.737214310758816"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="3"/>
<bgColor r="255" g="250" b="205"/>
<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>
<kernel>
<uses3D val="true"/>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
<startAnimation val="true"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<euclidianView3D>
<coordSystem xZero="-0.532592097229724" yZero="1.1408564216928712" zZero="-2.1114625956367803" scale="60.247950831907474" xAngle="10.534377667526426" zAngle="50.568989833074085"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" gridType="3"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="2" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<plate show="false"/>
<bgColor r="255" g="255" b="255"/>
<clipping use="false" show="false" size="1"/>
<projection type="0"/>
</euclidianView3D>
<construction title="" author="" date="">
<command name="Point">
<input a0="zAxis"/>
<output a0="A"/>
</command>
<element type="point3d" label="A">
<show object="true" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="14" y="15"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<isShape val="false"/>
<coords x="0.0" y="0.0" z="3.462933231673201" w="1.0"/>
<pointSize val="2"/>
</element>
<command name="Intersect">
<input a0="yAxis" a1="zAxis"/>
<output a0="B"/>
</command>
<element type="point3d" label="B">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.0" y="0.0" z="0.0" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Vector">
<input a0="B" a1="A"/>
<output a0="u"/>
</command>
<element type="vector3d" label="u">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.0" y="0.0" z="3.462933231673201" w="0.0"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<startPoint exp="B"/>
</element>
<command name="Point">
<input a0="yAxis"/>
<output a0="C"/>
</command>
<element type="point" label="C">
<show object="false" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="35" y="-23"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="0.0" y="2.881442114581768" z="1.0"/>
<coordStyle style="cartesian3d"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="zAxis" a1="C"/>
<output a0="c"/>
</command>
<element type="conic3d" label="c">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" 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.30270865968545" A3="0.0" A4="-0.0" A5="-0.0"/>
<eqnStyle style="implicit"/>
</element>
<command name="Cone">
<input a0="B" a1="A" a2="y(C)"/>
<output a0="a" a1="d" a2="b"/>
</command>
<element type="quadriclimited" label="a">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.4000000059604645"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
</element>
<element type="conic3d" label="d">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.4000000059604645"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="false"/>
<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.302708659685452" A3="0.0" A4="0.0" A5="0.0"/>
<eqnStyle style="implicit"/>
</element>
<element type="quadricpart" label="b">
<show object="false" label="false" ev="4"/>
<condition showObject="a_1"/>
<objColor r="0" g="255" b="0" alpha="0.4000000059604645"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="0.0" x1="0.0" y1="1.0" z1="0.0" x2="0.0" y2="0.0" z2="1.0"/>
</element>
<command name="Cone">
<input a0="(0, 0, (2 * z(A)))" a1="A" a2="y(C)"/>
<output a0="e" a1="f" a2="g"/>
</command>
<element type="quadriclimited" label="e">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.4000000059604645"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
</element>
<element type="conic3d" label="f">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.4000000059604645"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="false"/>
<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.302708659685452" A3="0.0" A4="0.0" A5="0.0"/>
<eqnStyle style="implicit"/>
</element>
<element type="quadricpart" label="g">
<show object="false" label="false" ev="4"/>
<condition showObject="a_1"/>
<objColor r="0" g="255" b="0" alpha="0.4000000059604645"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="0.0" x1="0.0" y1="-1.0" z1="0.0" x2="0.0" y2="0.0" z2="-1.0"/>
</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="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="1.9225625753101703" y="0.0" z="1.0"/>
<coordStyle style="cartesian3d"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="yAxis"/>
<output a0="E_2"/>
</command>
<element type="point" label="E_2">
<show object="false" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="0.0" y="4.625714938955085" z="1.0"/>
<coordStyle style="cartesian3d"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="D" a1="E_2"/>
<output a0="i"/>
</command>
<element type="line" label="i">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-4.625714938955085" y="-1.9225625753101703" z="8.893226425688214"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
<element type="point3d" label="F">
<show object="false" label="true" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<isShape val="false"/>
<coords x="4.628744029360128" y="3.046204045643144" z="0.0" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Circle">
<input a0="i" a1="F"/>
<output a0="k"/>
</command>
<element type="conic3d" label="k">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" 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="-13.454638989452437" A3="0.0" A4="-0.0" A5="-0.0"/>
<eqnStyle style="implicit"/>
</element>
<command name="Point">
<input a0="k"/>
<output a0="G"/>
</command>
<element type="point3d" label="G">
<show object="false" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="13" y="6"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<isShape val="false"/>
<coords x="0.9149274964443924" y="1.5026492066662203" z="3.6509579646280694" w="1.0"/>
<pointSize val="3"/>
</element>
<command name="Plane">
<input a0="D" a1="E_2" a2="G"/>
<output a0="h"/>
</command>
<element type="plane3d" label="h">
<show object="true" label="false" ev="4"/>
<condition showObject="m_1"/>
<objColor r="99" g="219" b="219" alpha="0.25"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="16.88829079847711" y="7.019195146824519" z="1.7720955087686212" w="-32.468795850107206"/>
<fading val="0.1"/>
<lineStyle thickness="0" type="0" typeHidden="1"/>
</element>
<command name="IntersectPath">
<input a0="h" a1="a"/>
<output a0="p"/>
</command>
<element type="conic3dpart" label="p">
<show object="false" label="false" ev="4"/>
<objColor r="255" g="127" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<eigenvectors x0="-0.0" y0="1.0" z0="1.0" x1="-1.0" y1="-0.0" z1="1.0"/>
<matrix A0="1.9999999999999998" A1="-1.3532365968846671" A2="-9.212923607404356" A3="0.0" A4="-1.475742105724935" A5="4.43039966874589"/>
<eqnStyle style="implicit"/>
</element>
<command name="Corner">
<input a0="p"/>
<output a0="H" a1="I"/>
</command>
<element type="point3d" label="H">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-16" y="31"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.7683226857967329" y="2.777118814558633" z="0.0" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="I">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="2.5104191411863743" y="-1.414391881781891" z="0.0" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="IntersectPath">
<input a0="h" a1="e"/>
<output a0="q"/>
</command>
<element type="conic3dpart" label="q">
<show object="false" label="false" ev="4"/>
<objColor r="255" g="127" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<eigenvectors x0="-0.0" y0="1.0" z0="1.0" x1="-1.0" y1="-0.0" z1="1.0"/>
<matrix A0="1.9999999999999998" A1="-1.3532365968846671" A2="-9.212923607404356" A3="0.0" A4="-1.475742105724935" A5="4.43039966874589"/>
<eqnStyle style="implicit"/>
</element>
<command name="Corner">
<input a0="q"/>
<output a0="J" a1="K"/>
</command>
<element type="point3d" label="J">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="2.041138681443514" y="-2.0338292806429172" z="6.925866463346402" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="K">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-0.0017705576323048255" y="2.8814415706050887" z="6.925866463346402" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Point">
<input a0="d"/>
<output a0="L"/>
</command>
<element type="point3d" label="L">
<show object="true" label="false" ev="4"/>
<objColor r="204" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="20" y="8"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="true"/>
<isShape val="false"/>
<coords x="-2.806539016403175" y="0.6527230722842197" z="0.0" w="1.0"/>
<pointSize val="3"/>
</element>
<command name="Point">
<input a0="p"/>
<output a0="P"/>
</command>
<element type="point3d" label="P">
<show object="true" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-13" y="37"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<isShape val="false"/>
<coords x="1.0668509116376572" y="1.8263402454042001" z="0.9209824305083067" w="1.0"/>
<pointSize val="4"/>
</element>
<command name="Ray">
<input a0="P" a1="A"/>
<output a0="f_1"/>
</command>
<element type="ray3d" label="f_1">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<eqnStyle style="parametric" parameter="λ"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Midpoint">
<input a0="H" a1="I"/>
<output a0="R"/>
</command>
<element type="point3d" label="R">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.6393709134915535" y="0.6813634663883711" z="0.0" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="OrthogonalLine">
<input a0="R" a1="h"/>
<output a0="l"/>
</command>
<element type="line3d" label="l">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="1.6393709134915535" oy="0.6813634663883711" oz="0.0" ow="1.0" vx="16.88829079847711" vy="7.019195146824519" vz="1.7720955087686212" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Point">
<input a0="l"/>
<output a0="M"/>
</command>
<element type="point3d" label="M">
<show object="false" label="true" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<isShape val="false"/>
<coords x="6.161802501991529" y="2.560998903546251" z="0.47454066265941014" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Plane">
<input a0="M" a1="H" a2="I"/>
<output a0="m"/>
</command>
<element type="plane3d" label="m">
<show object="false" label="false" ev="4"/>
<objColor r="99" g="219" b="219" alpha="0.5"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-1.989042263385438" y="-0.8266956063572102" z="22.23032660916342" w="3.824058216295077"/>
<fading val="0.1"/>
<lineStyle thickness="0" type="0" typeHidden="1"/>
</element>
<command name="OrthogonalLine">
<input a0="R" a1="m"/>
<output a0="r"/>
</command>
<element type="line3d" label="r">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="1.6393709134915535" oy="0.6813634663883711" oz="0.0" ow="1.0" vx="-1.989042263385438" vy="-0.8266956063572102" vz="22.23032660916342" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="r" a1="b"/>
<output a0="N" a1="S"/>
</command>
<element type="point3d" label="N">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.1908542582355621" y="0.4949487505707875" z="5.01280034091368" w="1.0"/>
<pointSize val="5"/>
</element>
<element type="point3d" label="S">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.504753865420002" y="0.6254132614932206" z="1.5045336144333796" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="AngularBisector">
<input a0="A" a1="S" a2="R"/>
<output a0="s"/>
</command>
<element type="line3d" label="s">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="1.504753865420002" oy="0.6254132614932206" oz="1.5045336144333796" ow="1.0" vx="-0.501576017671381" vy="-0.20846751107104347" vz="-0.2266441291825675" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="zAxis" a1="s"/>
<output a0="T"/>
</command>
<element type="point3d" label="T">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.0" y="0.0" z="0.8245895631895631" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="OrthogonalLine">
<input a0="T" a1="h"/>
<output a0="g_1"/>
</command>
<element type="line3d" label="g_1">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="0.0" oy="0.0" oz="0.8245895631895631" ow="1.0" vx="16.88829079847711" vy="7.019195146824519" vz="1.7720955087686212" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="g_1" a1="r"/>
<output a0="U"/>
</command>
<element type="point3d" label="U">
<show object="true" label="true" ev="4"/>
<condition showObject="b_1 ∨ n_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-28" y="23"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.551029410529868" y="0.6446465329667979" z="0.9873397363815046" w="1.0"/>
<pointSize val="4"/>
</element>
<command name="Sphere">
<input a0="T" a1="U"/>
<output a0="v"/>
</command>
<element type="quadric" label="v">
<show object="false" label="false" ev="4"/>
<condition showObject="b_1"/>
<objColor r="255" g="192" b="203" alpha="0.75"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="0.0" x1="0.0" y1="1.0" z1="0.0" x2="0.0" y2="0.0" z2="1.0"/>
<matrix A0="1.0" A1="1.0" A2="1.0" A3="-2.1678010559475958" A4="0.0" A5="0.0" A6="0.0" A7="-0.0" A8="-0.0" A9="-0.8245895631895631"/>
</element>
<command name="Intersect">
<input a0="r" a1="q"/>
<output a0="O" a1="P_1"/>
</command>
<element type="point3d" label="O">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.5047538654200021" y="0.6254132614932207" z="1.5045336144333794" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="P_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.1908542582355621" y="0.4949487505707876" z="5.012800340913682" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Midpoint">
<input a0="K" a1="J"/>
<output a0="V"/>
</command>
<element type="point3d" label="V">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.0196840619056047" y="0.4238061449810857" z="6.925866463346402" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="AngularBisector">
<input a0="A" a1="P_1" a2="V"/>
<output a0="n"/>
</command>
<element type="line3d" label="n">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="1.1908542582355621" oy="0.4949487505707876" oz="5.012800340913682" ow="1.0" vx="-0.6796903927212264" vy="-0.28249629064667114" vz="0.22664412918256738" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="zAxis" a1="n"/>
<output a0="W"/>
</command>
<element type="point3d" label="W">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.0" y="0.0" z="5.40989308965855" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="OrthogonalLine">
<input a0="W" a1="h"/>
<output a0="t"/>
</command>
<element type="line3d" label="t">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="0.0" oy="0.0" oz="5.40989308965855" ow="1.0" vx="16.88829079847711" vy="7.019195146824519" vz="1.7720955087686212" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="t" a1="h"/>
<output a0="Z"/>
</command>
<element type="point3d" label="Z">
<show object="true" label="true" ev="4"/>
<condition showObject="b_1 ∨ n_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.1445787131256904" y="0.4757154790972074" z="5.529994218965555" w="1.0"/>
<pointSize val="3"/>
</element>
<command name="Sphere">
<input a0="W" a1="Z"/>
<output a0="o"/>
</command>
<element type="quadric" label="o">
<show object="true" label="false" ev="4"/>
<condition showObject="b_1"/>
<objColor r="255" g="192" b="203" alpha="0.75"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="0.0" x1="0.0" y1="1.0" z1="0.0" x2="0.0" y2="0.0" z2="1.0"/>
<matrix A0="1.0" A1="1.0" A2="1.0" A3="27.716153312681367" A4="0.0" A5="0.0" A6="0.0" A7="-0.0" A8="-0.0" A9="-5.40989308965855"/>
</element>
<command name="Intersect">
<input a0="f_1" a1="o"/>
<output a0="A_1" a1="B_1"/>
</command>
<element type="point3d" label="A_1">
<show object="true" label="true" ev="4"/>
<condition showObject="e_1"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="7" y="12"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-0.482837512435903" y="-0.8265687092106471" z="4.6133743928330855" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="B_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="8" y="23"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-0.482837512435903" y="-0.8265687092106471" z="4.6133743928330855" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Intersect">
<input a0="f_1" a1="v"/>
<output a0="C_1" a1="D_1"/>
</command>
<element type="point3d" label="C_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.6542976675234771" y="1.120091054557846" z="1.9039595625139747" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="D_1">
<show object="true" label="true" ev="4"/>
<condition showObject="l_1"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="14" y="-12"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.6542976675234771" y="1.120091054557846" z="1.9039595625139747" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Segment">
<input a0="P" a1="U"/>
<output a0="h_1"/>
</command>
<element type="segment3d" label="h_1">
<show object="false" label="false" ev="4"/>
<condition showObject="n_1 ∨ l_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="P" a1="D_1"/>
<output a0="i_1"/>
</command>
<element type="segment3d" label="i_1">
<show object="false" label="false" ev="4"/>
<condition showObject="l_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="P" a1="Z"/>
<output a0="j_1"/>
</command>
<element type="segment3d" label="j_1">
<show object="true" label="false" ev="4"/>
<condition showObject="n_1 ∨ e_1"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="A_1" a1="P"/>
<output a0="k_1"/>
</command>
<element type="segment3d" label="k_1">
<show object="true" label="false" ev="4"/>
<condition showObject="e_1"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Line">
<input a0="L" a1="A"/>
<output a0="j"/>
</command>
<element type="line3d" label="j">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="-2.806539016403175" oy="0.6527230722842197" oz="0.0" ow="1.0" vx="2.806539016403175" vy="-0.6527230722842197" vz="3.462933231673201" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="j" a1="h"/>
<output a0="E"/>
</command>
<element type="point3d" label="E">
<show object="true" label="true" ev="4"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<trace val="true"/>
<isShape val="false"/>
<coords x="1.5096652851331647" y="-0.3511062405595271" z="5.325679501736109" w="1.0"/>
<pointSize val="2"/>
</element>
<element type="boolean" label="w">
<value val="true"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="272" y="16"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="StartAnimation(L,w)"/>
<caption val="動態軌跡"/>
</element>
<element type="boolean" label="a_1">
<value val="true"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="154" y="15"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="If(a_1,StartAnimation(L,false)) If(a_1,SetValue(w,false)) "/>
<caption val="圓錐截痕"/>
</element>
<element type="boolean" label="b_1">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="393" y="17"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
<caption val="焦點"/>
</element>
<expression label="text1_1" exp=""雙曲線是圓錐被平面所截的截痕, \\從射影幾何的觀點,可視為一個圓, \\經過 A點中心投影到另一個平面的軌跡, \\觀察E點的動態,E點何時消失在螢幕外, \\又從何處回歸?""/>
<element type="text" label="text1_1">
<show object="true" label="false" ev="43"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.0" size="0" style="0"/>
<absoluteScreenLocation x="30" y="146"/>
</element>
<expression label="text1" exp=""在上下半部都可以找到一個球,同時 \\內切於圓錐與平面,球與平面的切點 \\Z、U 即是雙曲線的焦點。""/>
<element type="text" label="text1">
<show object="true" label="false" ev="43"/>
<condition showObject="b_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="false" sizeM="1.0" size="0" style="0"/>
<absoluteScreenLocation x="30" y="308"/>
</element>
<command name="Intersect">
<input a0="j" a1="o"/>
<output a0="Q_1" a1="E_1"/>
</command>
<element type="point3d" label="Q_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-33" y="19"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.9323766266528142" y="-0.21684492277423417" z="4.613374392833085" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="E_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="6" y="15"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="0.9323766266528142" y="-0.21684492277423417" z="4.613374392833085" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Intersect">
<input a0="j" a1="v"/>
<output a0="F_1" a1="G_1"/>
</command>
<element type="point3d" label="F_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-27" y="-1"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-1.2634723615293444" y="0.29384860026658527" z="1.903959562513975" w="1.0"/>
<pointSize val="1"/>
</element>
<element type="point3d" label="G_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-1.2634723615293444" y="0.29384860026658527" z="1.903959562513975" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Circle">
<input a0="zAxis" a1="F_1"/>
<output a0="c_1"/>
</command>
<element type="conic3d" label="c_1">
<show object="true" label="false" ev="4"/>
<condition showObject="b_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" 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="-1.68270940822717" A3="0.0" A4="-0.0" A5="-0.0"/>
<eqnStyle style="implicit"/>
</element>
<command name="Circle">
<input a0="zAxis" a1="E_1"/>
<output a0="d_1"/>
</command>
<element type="conic3d" label="d_1">
<show object="true" label="false" ev="4"/>
<condition showObject="b_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" 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="-0.9163478944614448" A3="0.0" A4="-0.0" A5="-0.0"/>
<eqnStyle style="implicit"/>
</element>
<expression label="text2" exp=""雙曲線上任一點P到兩焦點Z,U的連線, \\有|\overline{PZ}-\overline{PU}|為定值""/>
<element type="text" label="text2">
<show object="true" label="false" ev="43"/>
<condition showObject="e_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<absoluteScreenLocation x="28" y="409"/>
</element>
<expression label="text3" exp=""P、Z在上球切平面上,且Z是切點 \\所以\overline{PZ}是上球的切線 \\又,\overrightarrow{PA}是圓錐表面的射線,\overline{PA}切上球於A_1 \\⇒\overline{PZ}=\overline{PA_1} \\同樣的,可以得到\overline{PU}=\overline{PD_1} \\⇒\overline{PZ}-\overline{PU}=\overline{PA_1}-\overline{PD_1}=\overline{A_1D_1} \\即兩球與圓錐切圓的距離,為定值。""/>
<element type="text" label="text3">
<show object="true" label="false" ev="43"/>
<condition showObject="l_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<absoluteScreenLocation x="26" y="485"/>
</element>
<element type="boolean" label="e_1">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="31" y="59"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="If(e_1==false,SetValue(l_1,false)) If(e_1,SetValue(b_1,true)) If(e_1,SetValue(n_1,false)) If(e_1,SetValue(t_1,false))"/>
<caption val="焦點性質"/>
</element>
<element type="boolean" label="l_1">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<condition showObject="e_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="30" y="97"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetValue(m_1,false) "/>
<caption val="證明"/>
</element>
<element type="boolean" label="m_1">
<value val="true"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="32" y="14"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="顯示截面"/>
</element>
<element type="boolean" label="n_1">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="163" y="60"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetValue(e_1,false) SetValue(l_1,false) If(n_1,SetValue(b_1,false)) If(n_1==false,SetValue(t_1,false)) "/>
<caption val="光學性質"/>
</element>
<command name="AngularBisector">
<input a0="U" a1="P" a2="Z"/>
<output a0="p_1"/>
</command>
<element type="line3d" label="p_1">
<show object="true" label="false" ev="4"/>
<condition showObject="n_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="1.0668509116376572" oy="1.8263402454042001" oz="0.9209824305083067" ow="1.0" vx="0.39481230307173637" vy="-1.2052695496834434" vz="1.011411168186326" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Mirror">
<input a0="U" a1="p_1"/>
<output a0="U'"/>
</command>
<element type="point3d" label="U'">
<show object="true" label="true" ev="4"/>
<condition showObject="n_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="-28" y="-2"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.087543365787543" y="1.466781110635534" z="2.1479792486753375" w="1.0"/>
<pointSize val="4"/>
</element>
<command name="Point">
<input a0="p_1"/>
<output a0="Q"/>
</command>
<element type="point3d" label="Q">
<show object="true" label="true" ev="4"/>
<condition showObject="t_1"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="2" y="-2"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<isShape val="false"/>
<coords x="0.683545414321398" y="2.9964822104523723" z="-0.06095115615208169" w="1.0"/>
<pointSize val="3"/>
</element>
<command name="Segment">
<input a0="Q" a1="Z"/>
<output a0="r_1"/>
</command>
<element type="segment3d" label="r_1">
<show object="true" label="false" ev="4"/>
<condition showObject="t_1"/>
<objColor r="255" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="U'" a1="Q"/>
<output a0="q_1"/>
</command>
<element type="segment3d" label="q_1">
<show object="true" label="false" ev="4"/>
<condition showObject="t_1"/>
<objColor r="0" g="255" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="U" a1="Q"/>
<output a0="s_1"/>
</command>
<element type="segment3d" label="s_1">
<show object="true" label="false" ev="4"/>
<condition showObject="t_1"/>
<objColor r="0" g="255" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="boolean" label="t_1">
<value val="false"/>
<show object="true" label="true" ev="3"/>
<condition showObject="n_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="162" y="97"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="證明"/>
</element>
<command name="Ray">
<input a0="U" a1="P"/>
<output a0="f_2"/>
</command>
<element type="ray3d" label="f_2">
<show object="true" label="false" ev="4"/>
<condition showObject="n_1"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<eqnStyle style="parametric" parameter="λ"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<expression label="text4" exp=""從Z點發射至雙曲線上P點的光線, \\反射線的方向延長線會通過U點。""/>
<element type="text" label="text4">
<show object="true" label="false" ev="43"/>
<condition showObject="n_1"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<startPoint x="-5.6789490953558905" y="1.8378143599877443" z="1.0"/>
</element>
<expression label="text5" exp=""\\做\angle ZPU的角平分線L \\則U對L的對稱點U'會落在\overline{PZ}上 \\且\overline{PU}=\overline{PU'} \\⇒\overline{PZ}-\overline{PU}=\overline{PZ}-\overline{PU'}=\overline{ZU'} \\對L上異於P的點Q \\\overline{QZ}-\overline{QU}=\overline{QZ}-\overline{QU'}<\overline{ZU'} \\⇒Q不在雙曲線上 \\⇒L與雙曲線僅交一點P,L為切線 \\\overrightarrow{ZP}在P點的反射方向即是\overrightarrow{UP}方向""/>
<element type="text" label="text5">
<show object="true" label="false" ev="43"/>
<condition showObject="t_1"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<absoluteScreenLocation x="33" y="435"/>
</element>
<command name="Locus">
<input a0="E" a1="L"/>
<output a0="loc1"/>
</command>
<element type="locus" label="loc1">
<show object="true" label="false" ev="4"/>
<condition showObject="a_1"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
</element>
<command name="OrthogonalLine">
<input a0="A" a1="h"/>
<output a0="g_2"/>
</command>
<element type="line3d" label="g_2">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<coords ox="0.0" oy="0.0" oz="3.462933231673201" ow="1.0" vx="16.88829079847711" vy="7.019195146824519" vz="1.7720955087686212" vw="0.0"/>
<eqnStyle style="parametric" parameter="λ"/>
</element>
<command name="Intersect">
<input a0="g_2" a1="h"/>
<output a0="H_1"/>
</command>
<element type="point3d" label="H_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="1.317161223209917" y="0.5474450775311255" z="3.6011435168836474" w="1.0"/>
<pointSize val="1"/>
</element>
<command name="Vector">
<input a0="H_1" a1="A"/>
<output a0="u_1"/>
</command>
<element type="vector3d" label="u_1">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-1.317161223209917" y="-0.5474450775311255" z="-0.13821028521044632" w="0.0"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<startPoint exp="H_1"/>
</element>
<element type="button" label="button1">
<show object="true" label="true" ev="3"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelOffset x="336" y="59"/>
<labelMode val="0"/>
<fixed val="true"/>
<isShape val="false"/>
<auxiliary val="true"/>
<ggbscript val="SetViewDirection(u_1)"/>
<font serif="false" sizeM="2.0" size="20" style="0"/>
<caption val="平面視角"/>
</element>
</construction>
</geogebra>