Proof of Angle at Centre and Angle at Circumference Theorem
2015-03-13 12:41
This GeoGebra applet dynamically demonstrates and proves the theorem relating the angle at the centre to the angle at the circumference. By constructing circles, points, segments, and rays, it shows that the central angle subtended by an arc is twice the inscribed angle. Features angle calculations, intersection constructions, and conditional logic, with multi-language support and interactive elem
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.295.0" id="d0dd3230-25fa-4d35-9970-9ea0036d4b91" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="960" height="660" />
<perspectives>
</perspectives>
<labelingStyle val="3"/>
<font size="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="958" height="658"/>
<coordSystem xZero="595" yZero="338.00000000000017" scale="214.6836786726534" yscale="214.68367867265357"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="0"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="10"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="0"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<expression label ="O" exp="(0, 0)" type="point"/>
<element type="point" label="O">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="0" y="0" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="O" a1="1"/>
<output a0="c"/>
</command>
<element type="conic" label="c">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-1" A3="0" A4="0" A5="0"/>
<eqnStyle style="specific"/>
</element>
<command name="Point">
<input a0="c"/>
<output a0="A"/>
</command>
<element type="point" label="A">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelOffset x="-33" y="26"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="-0.9001592514155138" y="-0.4355609281042802" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="c"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelOffset x="2" y="34"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="0.8516583167045441" y="-0.5240974256643345" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="c"/>
<output a0="P"/>
</command>
<element type="point" label="P">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelOffset x="-18" y="-3"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="0.24058314106197906" y="0.9706285346293668" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="A" a1="P"/>
<output a0="a"/>
</command>
<element type="segment" label="a">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<coords x="-1.406189462733647" y="1.1407423924774929" z="-0.7689316389273093"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="B" a1="P"/>
<output a0="b"/>
</command>
<element type="segment" label="b">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<coords x="-1.4947259602937013" y="-0.611075175642565" z="0.9527328688366675"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Ray">
<input a0="P" a1="O"/>
<output a0="e"/>
</command>
<element type="ray" label="e">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<coords x="0.9706285346293668" y="-0.24058314106197906" z="0"/>
<lineStyle thickness="3" type="10" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="A" a1="O"/>
<output a0="f"/>
</command>
<element type="segment" label="f">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<coords x="-0.4355609281042802" y="0.9001592514155138" z="0"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="B" a1="O"/>
<output a0="g"/>
</command>
<element type="segment" label="g">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<coords x="-0.5240974256643345" y="-0.8516583167045441" z="0"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Angle">
<input a0="A" a1="P" a2="O"/>
<output a0="a1"/>
</command>
<element type="angle" label="a1">
<angleStyle val="1"/>
<value val="0.438584203653383"/>
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0.4"/>
<layer val="0"/>
<labelOffset x="-23" y="37"/>
<labelMode val="3"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="35"/>
<selectionAllowed val="false"/>
<caption val="a"/>
</element>
<command name="Angle">
<input a0="O" a1="A" a2="P"/>
<output a0="a2"/>
</command>
<element type="angle" label="a2">
<angleStyle val="1"/>
<value val="0.438584203653383"/>
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0.4"/>
<layer val="0"/>
<labelOffset x="26" y="-23"/>
<labelMode val="3"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="35"/>
<selectionAllowed val="false"/>
<caption val="a"/>
</element>
<command name="Angle">
<input a0="O" a1="P" a2="B"/>
<output a0="b1"/>
</command>
<element type="angle" label="b1">
<angleStyle val="1"/>
<value val="0.6310539688369239"/>
<show object="true" label="true" ev="4"/>
<objColor r="255" g="127" b="0" alpha="0.4"/>
<layer val="0"/>
<labelOffset x="1" y="44"/>
<labelMode val="3"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="50"/>
<selectionAllowed val="false"/>
<caption val="b"/>
</element>
<command name="Angle">
<input a0="P" a1="B" a2="O"/>
<output a0="b2"/>
</command>
<element type="angle" label="b2">
<angleStyle val="1"/>
<value val="0.6310539688369239"/>
<show object="true" label="true" ev="4"/>
<objColor r="255" g="127" b="0" alpha="0.4"/>
<layer val="0"/>
<labelOffset x="-28" y="-25"/>
<labelMode val="3"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="50"/>
<selectionAllowed val="false"/>
<caption val="b"/>
</element>
<command name="Intersect">
<input a0="c" a1="e"/>
<output a0="C" a1="D"/>
</command>
<element type="point" label="C">
<show object="false" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="0.24058314106197906" y="0.9706285346293668" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="D">
<show object="false" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<coords x="-0.24058314106197906" y="-0.9706285346293668" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Angle">
<input a0="A" a1="O" a2="D"/>
<output a0="aSum"/>
</command>
<element type="angle" label="aSum">
<angleStyle val="1"/>
<value val="0.8771684073067658"/>
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0.4"/>
<layer val="0"/>
<labelOffset x="-40" y="31"/>
<labelMode val="3"/>
<decoration type="1"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="35"/>
<selectionAllowed val="false"/>
<caption val="2a"/>
</element>
<command name="Angle">
<input a0="D" a1="O" a2="B"/>
<output a0="bSum"/>
</command>
<element type="angle" label="bSum">
<angleStyle val="1"/>
<value val="1.2621079376738478"/>
<show object="true" label="true" ev="4"/>
<objColor r="255" g="127" b="0" alpha="0.4"/>
<layer val="0"/>
<labelOffset x="27" y="33"/>
<labelMode val="3"/>
<decoration type="1"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="50"/>
<selectionAllowed val="false"/>
<caption val="2b"/>
</element>
<expression label="OPtouchArc" exp="Intersect[CircleArc[O, A, B], Segment[O, P]] ≟ P" />
<element type="boolean" label="OPtouchArc">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<command name="If">
<input a0="OPtouchArc" a1="CircleArc[O, B, A]" a2="CircleArc[O, A, B]"/>
<output a0="arc"/>
</command>
<element type="conicpart" label="arc">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="204" b="0" alpha="0"/>
<layer val="0"/>
<labelOffset x="10" y="44"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="9" type="0" typeHidden="1"/>
<eigenvectors x0="1" y0="0" z0="1.0" x1="0" y1="1" z1="1.0"/>
<matrix A0="1" A1="1" A2="-1" A3="0" A4="0" A5="0"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<expression label="text1" exp=""為什麼圓心角∠AOB是圓周角∠APB的兩倍?""/>
<element type="text" label="text1">
<show object="true" label="false" ev="4"/>
<condition showObject="lang ≟ 1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
<absoluteScreenLocation x="17" y="48"/>
</element>
<element type="boolean" label="box">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="1"/>
<labelOffset x="19" y="600"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<ggbscript onUpdate="SetLabelMode[a1,If[box,2,3]] SetLabelMode[a2,If[box,2,3]] SetLabelMode[aSum,If[box,2,3]] SetLabelMode[b1,If[box,2,3]] SetLabelMode[b2,If[box,2,3]] SetLabelMode[bSum,If[box,2,3]]"/>
<caption val="Show values of angles"/>
</element>
<element type="button" label="button0">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelOffset x="857" y="602"/>
<labelMode val="3"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetValue[lang,If[lang==1,2,1]] RunClickScript[buttonLang] "/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
<caption val="中文"/>
</element>
<element type="button" label="buttonLang">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelOffset x="754" y="595"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
<ggbscript val="SetCaption[button0,If[lang==1,"ENG","中文"]] SetCaption[box,If[lang==1,"顯示角的大小","Show values of angles"]]"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
</element>
<element type="numeric" label="lang">
<value val="2"/>
<symbolic val="true" />
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="3"/>
<labelMode val="1"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<expression label="text2" exp=""Why is the angle at centre ∠AOB twice the angle at circumference ∠APB ?""/>
<element type="text" label="text2">
<show object="true" label="false" ev="40"/>
<condition showObject="lang ≠ 1"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="3"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<absoluteScreenLocation x="15" y="41"/>
</element>
</construction>
</geogebra>