Trigonometric Ratios: Cosine & Tangent in Context
2013-03-21 02:46
This interactive example demonstrates the definitions and applications of trigonometric ratios (cosine and tangent) using a fishing scenario. Users can observe the right triangle formed by the fishing rod, string, and water surface, and toggle buttons to display the values and geometric relationships of sine, cosine, and tangent, aiding in understanding the real-world significance of trigonometric
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.400.0" app="classic" platform="w" id="6a3e6ec0-f2ec-436c-8c24-09b04837bfcf" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1000" height="690" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.2" orientation="1" />
</panes>
<views>
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="500" window="100,100,600,400" />
<view id="2" visible="false" inframe="false" stylebar="false" location="3" size="200" window="100,100,250,400" />
<view id="4" visible="false" inframe="false" stylebar="false" location="1,1" size="300" window="100,100,600,400" />
<view id="8" visible="false" inframe="false" stylebar="false" location="1,3" size="300" window="100,100,600,400" />
<view id="4097" visible="false" inframe="true" stylebar="true" location="1,1,1,1" size="400" window="100,100,700,550" />
<view id="512" visible="false" inframe="false" stylebar="false" location="1,1,1" size="500" 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="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="997" height="687"/>
<coordSystem xZero="91.13309948835834" yZero="578.6969442978893" scale="219.89071674222393" yscale="219.8907167422254"/>
<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"/>
<grid distX="0.05" distY="0.05" distTheta="0.5235987755982988"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="3"/>
<angleUnit val="degree"/>
<algebraStyle val="1" spreadsheet="1"/>
<coordStyle val="0"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<command name="Point">
<input a0="Sequence[((0.5 * cos(i°)), (0.5 * sin(i°))), i, 0, 90]"/>
<output a0="R"/>
</command>
<element type="point" label="R">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="204" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="0.43301270189221935" y="0.24999999999999997" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Ray">
<input a0="(2 * R)" a1="(3 * R)"/>
<output a0="ray"/>
</command>
<element type="ray" label="ray">
<show object="false" label="true"/>
<objColor r="255" g="0" b="0" alpha="0"/>
<layer val="6"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<coords x="-0.24999999999999994" y="0.4330127018922193" z="0"/>
<lineStyle thickness="3" type="30" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="O">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="4"/>
<labelMode val="0"/>
<fixed val="true"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<coords x="0" y="0" z="1"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="ray"/>
<output a0="P"/>
</command>
<element type="point" label="P">
<show object="true" label="false" ev="4"/>
<objColor r="0" g="204" b="0" alpha="0"/>
<layer val="4"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="2.078418853426088" y="1.199975684514345" z="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="O" a1="P"/>
<output a0="rod"/>
</command>
<element type="segment" label="rod">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="2"/>
<labelOffset x="-65" y="-47"/>
<labelMode val="3"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<coords x="-1.199975684514345" y="2.078418853426088" z="0"/>
<lineStyle thickness="7" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<caption val="c = %v m"/>
</element>
<expression label="Q" exp="(x(P), 0)" type="point" />
<element type="point" label="Q">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="4"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="2.078418853426088" y="0" z="1"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="P" a1="Q"/>
<output a0="string"/>
</command>
<element type="segment" label="string">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="2"/>
<labelOffset x="30" y="37"/>
<labelMode val="3"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<coords x="1.199975684514345" y="0" z="-2.49405208634749"/>
<lineStyle thickness="7" type="20" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<caption val="a = %v m"/>
</element>
<expression label ="water" exp="water(y) = y ≤ 0" type="function"/>
<element type="function" label="water">
<show object="true" label="false"/>
<objColor r="102" g="153" b="255" alpha="0.5"/>
<layer val="0"/>
<labelOffset x="-1" y="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
</element>
<command name="Angle">
<input a0="(1, 0)" a1="O" a2="P"/>
<output a0="α"/>
</command>
<element type="angle" label="α">
<angleStyle val="0"/>
<value val="0.5235987755982987"/>
<show object="true" label="true" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0.5"/>
<layer val="4"/>
<labelOffset x="33" y="-11"/>
<labelMode val="2"/>
<lineStyle thickness="2" type="0" typeHidden="2"/>
<arcSize val="60"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="fish">
<file name="62aea3f20ede593a48d115d7b7f77ebc/31ec4f8660244a942f3e2336b3cdd13a\fish.png"/>
<inBackground val="false"/>
<startPoint number="0" exp="Q - (0, 0.2)"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="6"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
</element>
<command name="Angle">
<input a0="P" a1="Q" a2="O"/>
<output a0="β"/>
</command>
<element type="angle" label="β">
<angleStyle val="0"/>
<value val="1.5707963267948966"/>
<show object="true" label="false"/>
<objColor r="0" g="100" b="0" alpha="0.5"/>
<layer val="0"/>
<labelMode val="2"/>
<lineStyle thickness="1" type="0" typeHidden="2"/>
<arcSize val="30"/>
<selectionAllowed val="false"/>
</element>
<element type="image" label="fishingRod">
<file name="97881152df2be26f699a8011c9f2901b/ac0ea28f49a48cbb08bcd17b02f4e18c\rod.png"/>
<inBackground val="false"/>
<startPoint number="0" exp="O"/>
<startPoint number="1" exp="(2 * R)"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="6"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="0" playing="false"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<caption val="?"/>
</element>
<element type="boolean" label="showSin">
<value val="true"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="9" y="35"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="$\frac{a}{c}=$"/>
</element>
<element type="image" label="boy">
<file name="e96b6121ee43a9016f36aa156ab3bf74/8ca3de6a3f3aed8cc2be8412bea258e2\boy.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="0" z="1"/>
<startPoint number="1" x="0" y="0" z="1"/>
<show object="true" label="false"/>
<condition showObject="showBoy"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isShape val="false"/>
<ggbscript val="SetValue[showBoy,!showBoy]"/>
</element>
<element type="image" label="girl">
<file name="33b1852833cd9ca52e4842ce9835cd09/c3e4473f81d9bde4acab3e8d8b5cf87f\girl.png"/>
<inBackground val="false"/>
<startPoint number="0" x="-0.25" y="0" z="1"/>
<startPoint number="1" x="0" y="0" z="1"/>
<show object="true" label="false"/>
<condition showObject="¬showBoy"/>
<objColor r="0" g="0" b="0" alpha="1"/>
<layer val="0"/>
<labelMode val="0"/>
<fixed val="true"/>
<isShape val="false"/>
<ggbscript val="SetValue[showBoy,!showBoy]"/>
</element>
<element type="boolean" label="showBoy">
<value val="false"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="17" y="70"/>
<labelMode val="0"/>
<checkbox fixed="true"/>
</element>
<element type="boolean" label="showCos">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="317" y="35"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="$\frac{b}{c}=$"/>
</element>
<element type="boolean" label="showTan">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="625" y="35"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="$\frac{a}{b}=$"/>
</element>
<command name="Segment">
<input a0="O" a1="Q"/>
<output a0="distance"/>
</command>
<element type="segment" label="distance">
<show object="true" label="true" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="9"/>
<labelOffset x="-19" y="14"/>
<labelMode val="3"/>
<selectionAllowed val="false"/>
<isShape val="false"/>
<coords x="0" y="2.078418853426088" z="0"/>
<lineStyle thickness="11" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
<caption val="b = %v m"/>
</element>
<expression label="text1" exp=""\frac{" + (LaTeX[string]) + "}{" + (LaTeX[rod]) + "} =\textcolor{red}{ " + (LaTeX[string / rod]) + "}"" />
<element type="text" label="text1">
<show object="true" label="true" ev="8"/>
<condition showObject="showSin"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<decimals val="3"/>
<absoluteScreenLocation x="94" y="15"/>
</element>
<expression label="text2" exp=""\frac{\textcolor{blue}{" + (LaTeX[distance]) + "}}{" + (LaTeX[rod]) + "} = \textcolor{red}{ " + (LaTeX[distance / rod]) + "}"" />
<element type="text" label="text2">
<show object="true" label="true" ev="8"/>
<condition showObject="showCos"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<decimals val="3"/>
<absoluteScreenLocation x="401" y="15"/>
</element>
<expression label="text3" exp=""\frac{" + (LaTeX[string]) + "}\textcolor{blue}{{" + (LaTeX[distance]) + "}} = \textcolor{red}{ " + (LaTeX[string / distance]) + "}"" />
<element type="text" label="text3">
<show object="true" label="true" ev="8"/>
<condition showObject="showTan"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<decimals val="3"/>
<absoluteScreenLocation x="709" y="14"/>
</element>
<element type="boolean" label="showSin2">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="9" y="101"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="Sine ratio"/>
</element>
<element type="boolean" label="showCos2">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="317" y="101"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="Cosine ratio"/>
</element>
<element type="boolean" label="showTan2">
<value val="false"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="625" y="101"/>
<labelMode val="3"/>
<checkbox fixed="true"/>
<caption val="Tangent ratio"/>
</element>
<expression label="text4" exp=""\text{sin}" + (LaTeX[α]) + "=\textcolor{red}{ " + (LaTeX[string / rod]) + " }"" />
<element type="text" label="text4">
<show object="true" label="false" ev="8"/>
<condition showObject="showSin2"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<absoluteScreenLocation x="39" y="152"/>
</element>
<expression label="text6" exp=""\text{tan}" + (LaTeX[α]) + "=\textcolor{red}{ " + (LaTeX[string / distance]) + " }"" />
<element type="text" label="text6">
<show object="true" label="false" ev="8"/>
<condition showObject="showTan2"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<absoluteScreenLocation x="660" y="153"/>
</element>
<expression label="text5" exp=""\text{cos}" + (LaTeX[α]) + "=\textcolor{red}{ " + (LaTeX[distance / rod]) + "}"" />
<element type="text" label="text5">
<show object="true" label="false" ev="8"/>
<condition showObject="showCos2"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<isLaTeX val="true"/>
<font serif="true" sizeM="1" size="0" style="0"/>
<absoluteScreenLocation x="347" y="152"/>
</element>
<element type="button" label="button1">
<show object="true" label="true"/>
<condition showObject="α < 90°"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="99" y="590"/>
<labelMode val="0"/>
<fixed val="true"/>
<isShape val="false"/>
<auxiliary val="true"/>
<ggbscript val="SetValue[R,(0.5cos(α+1°), 0.5sin(α+1°))]"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
<caption val="+1°"/>
</element>
<element type="button" label="button2">
<show object="true" label="true"/>
<condition showObject="α > 0°"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="9"/>
<labelOffset x="40" y="590"/>
<labelMode val="0"/>
<fixed val="true"/>
<isShape val="false"/>
<auxiliary val="true"/>
<ggbscript val="SetValue[R,(0.5cos(α-1°), 0.5sin(α-1°))]"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
<caption val="-1°"/>
</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="8"/>
<labelMode val="1"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<element type="button" label="button0">
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="8"/>
<labelOffset x="841" y="591"/>
<labelMode val="3"/>
<fixed val="true"/>
<isShape val="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="8"/>
<labelOffset x="921" y="598"/>
<labelMode val="0"/>
<fixed val="true"/>
<isShape val="false"/>
<auxiliary val="true"/>
<ggbscript val="SetCaption[button0,If[lang==1,"ENG","中文"]] SetCaption[showSin2,If[lang==1,"正弦","Sine ratio"]] SetCaption[showCos2,If[lang==1,"餘弦","Cosine ratio"]] SetCaption[showTan2,If[lang==1,"正切","Tangent ratio"]]"/>
<font serif="false" sizeM="1.4" size="10" style="0"/>
</element>
</construction>
</geogebra>