Trajectory of a Rolling Circle
2013-06-20 17:39
This applet demonstrates the trajectory (such as a cycloid) formed by a specific point on a circle as it rolls along a straight line. By dynamically adjusting the radius and rolling angle, it visually illustrates the geometric generation process of the rolling circle's trajectory, aiding in the understanding of parametric equations and function graphs.
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="4.0" id="1cd83976-90ba-4efc-8f9a-bc4567c20e1a" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1366" height="728" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.2335285505124451" orientation="1" />
</panes>
<views>
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="false" location="1,1" size="300" window="100,100,600,400" />
<view id="1" visible="true" inframe="false" stylebar="false" location="1" size="1026" window="100,100,600,400" />
<view id="2" visible="true" inframe="false" stylebar="false" location="3" size="319" window="100,100,250,400" />
<view id="16" visible="false" inframe="true" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" visible="false" inframe="true" stylebar="false" location="1" size="150" window="50,50,500,500" />
</views>
<toolbar show="true" items="0 39 59 || 1 501 67 , 5 19 , 72 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 || 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 || 36 46 , 38 49 50 , 71 | 30 29 54 32 31 33 | 17 26 62 , 14 66 68 | 25 52 60 61 || 40 41 42 , 27 28 35 , 6" />
<input show="true" cmd="true" top="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="12"/>
<graphicsSettings javaLatexFonts="false"/>
<consProtColumns col0="true" col1="true" col2="false" col3="true" col4="false" col5="true" col6="true" col7="false"/>
<consProtocol useColors="true" addIcons="false" showOnlyBreakpoints="false"/>
</gui>
<euclidianView>
<size width="1026" height="570"/>
<coordSystem xZero="242.0" yZero="461.9999999999998" scale="33.3333333333333" yscale="33.33333333333337"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="13" gridType="0"/>
<bgColor r="255" g="255" b="255"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="3" grid="10"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true" tickDistance="1.0"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true" tickDistance="1.0"/>
</euclidianView>
<kernel>
<continuous val="false"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0"/>
<coordStyle val="0"/>
<angleFromInvTrig val="false"/>
<startAnimation val="true"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<element type="numeric" label="R">
<value val="2.0"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="0" max="10" absoluteScreenLocation="true" width="200.0" x="650.0" y="95.0" fixed="true" horizontal="true"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
</element>
<element type="numeric" label="r">
<value val="2.0"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="0" max="10" absoluteScreenLocation="true" width="200.0" x="680.0" y="142.0" fixed="true" horizontal="true"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
</element>
<element type="point" label="A">
<show object="true" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="5.0" y="5.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="A" a1="R"/>
<output a0="c"/>
</command>
<element type="conic" label="c">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="1.0" x1="-0.0" y1="1.0" z1="1.0"/>
<matrix A0="1.0" A1="1.0" A2="46.0" A3="0.0" A4="-5.0" A5="-5.0"/>
<eqnStyle style="specific"/>
</element>
<command name="Circle">
<input a0="A" a1="R + r"/>
<output a0="d"/>
</command>
<element type="conic" label="d">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="1.0" x1="-0.0" y1="1.0" z1="1.0"/>
<matrix A0="1.0" A1="1.0" A2="34.0" A3="0.0" A4="-5.0" A5="-5.0"/>
<eqnStyle style="specific"/>
</element>
<command name="Point">
<input a0="d"/>
<output a0="B"/>
</command>
<element type="point" label="B">
<show object="true" label="true"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="true"/>
<coords x="4.005240451340122" y="1.1256673554855934" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Circle">
<input a0="B" a1="r"/>
<output a0="e"/>
</command>
<element type="conic" label="e">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eigenvectors x0="1.0" y0="0.0" z0="1.0" x1="-0.0" y1="1.0" z1="1.0"/>
<matrix A0="1.0" A1="1.0" A2="13.309078068257156" A3="0.0" A4="-4.005240451340122" A5="-1.1256673554855934"/>
<eqnStyle style="specific"/>
</element>
<command name="Point">
<input a0="e"/>
<output a0="C"/>
</command>
<element type="point" label="C">
<show object="true" label="true"/>
<objColor r="125" g="125" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<trace val="true"/>
<animation step="0.1" speed="1 + v" type="1" playing="true"/>
<coords x="3.041733103136963" y="-0.626946004602283" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="C" a1="B"/>
<output a0="a"/>
</command>
<element type="segment" label="a">
<show object="true" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.7526133600878764" y="0.9635073482031591" z="5.935049156740307"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<expression label="v" exp="R / r" />
<element type="numeric" label="v">
<value val="1.0"/>
<objColor r="0" g="0" b="0" alpha="0.1"/>
</element>
<element type="point" label="D">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="1.0" y="5.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="E">
<show object="false" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<coords x="13.0" y="5.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Line">
<input a0="D" a1="E"/>
<output a0="b"/>
</command>
<element type="line" label="b">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.0" y="12.0" z="-60.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<eqnStyle style="implicit"/>
</element>
</construction>
</geogebra>