Simulation of a Rolling Polygon
2020-01-06 11:23
This example demonstrates the dynamic process of a polygon rolling along a straight line. Using GeoGebra rotation, centroid, and polygon commands, it accurately simulates the geometric transformations that occur as an arbitrary polygon rolls. The applet allows users to adjust the shape and size of the polygon, observe each rotation step as the polygon pivots around successive vertices on the line, and trace the paths generated by selected points during the rolling motion. Combined with integral calculus and coordinate geometry, the applet explores the locus of relevant points—such as vertices, the centroid, and other marked positions—as well as the area swept out by the rolling polygon over one or multiple full rotations. This makes it an intuitive teaching tool for understanding rigid-body planar motion and the practical applications of calculus. Students can visually connect abstract concepts like parametric curves, arc length, and area integration to concrete geometric motion. The interactive nature of the applet encourages exploration: learners can experiment with different polygons, observe how symmetry affects the trajectory of points, and verify theoretical predictions through dynamic visualization. By watching the traced curves emerge in real time, students gain deeper insight into the relationship between discrete rotations and continuous motion, bridging the gap between classical geometry and analytical methods.
Loading the math board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.570.0" app="classic" platform="d" id="89a58e6a-5a7a-48f8-922d-33f1f6137d6e" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1600" height="860" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.17" orientation="1" />
</panes>
<views>
<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="4097" visible="false" inframe="false" stylebar="true" location="1,1" size="389" 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" size="495" window="100,100,600,400" />
<view id="1" visible="true" inframe="false" stylebar="true" location="1" size="1307" window="100,100,600,400" />
<view id="2" visible="true" inframe="false" stylebar="true" location="3" size="272" window="100,100,250,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 || 1008 | 1009 || 6" visible="false" inframe="false" stylebar="true" location="1" size="1029" window="100,100,600,400" />
<view id="16" visible="false" inframe="false" stylebar="true" location="1" size="292" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="292" 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="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="false" stylebar="true" location="1" size="900" window="50,50,500,500" />
</views>
<toolbar show="true" 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 | 100005 100001 100002 100004 100003 | 10 34 53 11 100006 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="3"/>
<font size="14"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="1307" height="662"/>
<coordSystem xZero="642.9924018368295" yZero="386.3827419169582" scale="66.65838039275448" yscale="66.65838051200409"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="3"/>
<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="2"/>
<angleUnit val="degree"/>
<algebraStyle val="2" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<tableview min="-2.0" max="2.0" step="1.0"/>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<element type="numeric" label="k">
<value val="0.0"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="0" max="16" absoluteScreenLocation="true" width="200.0" x="30.0" y="50.0" fixed="false" horizontal="true" showAlgebra="true"/>
<lineStyle thickness="10" type="0" typeHidden="1"/>
<animation step="0.1" speed="2" type="1" playing="true"/>
</element>
<expression label="a" exp="0.5"/>
<element type="numeric" label="a">
<value val="0.5"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
</element>
<expression label="b" exp="0"/>
<element type="numeric" label="b">
<value val="0.0"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
</element>
<expression label="A" exp="(-8 + k, 0)" type="point" />
<element type="point" label="A">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-8.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<expression label="B" exp="(a + x(A), b + y(A))" type="point" />
<element type="point" label="B">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-7.5" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<expression label="c" exp="1"/>
<element type="numeric" label="c">
<value val="1.0"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="d" exp="0.6"/>
<element type="numeric" label="d">
<value val="0.6"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="C" exp="(c + x(A), d + y(A))" type="point" />
<element type="point" label="C">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-7.0" y="0.6" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<expression label="e" exp="0.6"/>
<element type="numeric" label="e">
<value val="0.6"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="f" exp="1.1"/>
<element type="numeric" label="f">
<value val="1.1"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="D" exp="(e + x(A), f + y(A))" type="point" />
<element type="point" label="D">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-7.4" y="1.1" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="numeric" label="g">
<value val="-0.09999999999999964"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<element type="numeric" label="h">
<value val="1.0"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="E" exp="(g + x(A), h + y(A))" type="point" />
<element type="point" label="E">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-8.1" y="1.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<expression label="i" exp="-0.2"/>
<element type="numeric" label="i">
<value val="-0.2"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="j" exp="0.5"/>
<element type="numeric" label="j">
<value val="0.5"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<animation speed="1" type="0" playing="false"/>
<auxiliary val="true"/>
</element>
<expression label="F" exp="(i + x(A), j + y(A))" type="point" />
<element type="point" label="F">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-8.2" y="0.5" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="A" a1="B" a2="C" a3="D" a4="E" a5="F"/>
<output a0="p1" a1="a_1" a2="b_1" a3="c_1" a4="d_1" a5="e_1" a6="f_1"/>
</command>
<element type="polygon" label="p1">
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="a_1">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.0" y="0.5" z="0.0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="b_1">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-0.6" y="0.5" z="-4.5"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="c_1">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-0.5000000000000001" y="-0.40000000000000036" z="-3.2600000000000007"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="d_1">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.10000000000000009" y="-0.6999999999999993" z="1.5099999999999998"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="e_1">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.5" y="-0.09999999999999964" z="4.1499999999999995"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="f_1">
<show object="false" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.5" y="0.1999999999999993" z="4.0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<expression label="M" exp="((2 * π) * k / Perimeter[p1])" />
<element type="numeric" label="M">
<value val="0.0"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Centroid">
<input a0="p1"/>
<output a0="G"/>
</command>
<element type="point" label="G">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-43.65599999999996" y="3.153999999999998" z="5.699999999999996"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="A" a1="(-M)" a2="G"/>
<output a0="A'"/>
</command>
<element type="point" label="A'">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-8.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="B" a1="(-M)" a2="G"/>
<output a0="B'"/>
</command>
<element type="point" label="B'">
<show object="false" label="true"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-7.5" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="C" a1="(-M)" a2="G"/>
<output a0="C'"/>
</command>
<element type="point" label="C'">
<show object="false" label="true"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-7.0" y="0.6" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="D" a1="(-M)" a2="G"/>
<output a0="D'"/>
</command>
<element type="point" label="D'">
<show object="false" label="true"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-7.4" y="1.1" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="E" a1="(-M)" a2="G"/>
<output a0="E'"/>
</command>
<element type="point" label="E'">
<show object="false" label="true"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-8.1" y="1.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="F" a1="(-M)" a2="G"/>
<output a0="F'"/>
</command>
<element type="point" label="F'">
<show object="false" label="true"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-8.2" y="0.5" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="A'" a1="B'" a2="C'" a3="D'" a4="E'" a5="F'"/>
<output a0="p2" a1="a'" a2="b'" a3="c'" a4="d'" a5="e'" a6="f'"/>
</command>
<element type="polygon" label="p2">
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="a'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.0" y="0.5" z="0.0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="b'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-0.6" y="0.5" z="-4.5"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="c'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-0.5000000000000001" y="-0.40000000000000036" z="-3.2600000000000007"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="d'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.10000000000000009" y="-0.6999999999999993" z="1.5099999999999998"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="e'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.5" y="-0.09999999999999964" z="4.1499999999999995"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="f'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="0.5" y="0.1999999999999993" z="4.0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<expression label="l1" exp="{Vertex[p2]}" />
<element type="list" label="l1">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Min">
<input a0="y(l1)"/>
<output a0="P"/>
</command>
<element type="numeric" label="P">
<value val="0.0"/>
<symbolic val="true" />
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<element type="point" label="H">
<show object="false" label="true" ev="4"/>
<objColor r="77" g="77" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="-8.0" y="3.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="xAxis"/>
<output a0="I"/>
</command>
<element type="point" label="I">
<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="0.1" speed="1" type="1" playing="false"/>
<coords x="8.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="H" a1="I"/>
<output a0="l"/>
</command>
<element type="segment" label="l">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="3.0" y="16.0" z="-24.0"/>
<lineStyle thickness="13" type="0" typeHidden="1" opacity="178"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Line">
<input a0="H" a1="I"/>
<output a0="m"/>
</command>
<element type="line" label="m">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="3.0" y="16.0" z="-24.0"/>
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<eqnStyle style="implicit"/>
</element>
<command name="IndexOf">
<input a0="P" a1="y(l1)"/>
<output a0="n"/>
</command>
<element type="numeric" label="n">
<value val="1.0"/>
<symbolic val="true" />
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Angle">
<input a0="l" a1="xAxis"/>
<output a0="α"/>
</command>
<element type="angle" label="α">
<angleStyle val="0"/>
<value val="0.18534794999569476"/>
<show object="false" label="true" ev="4"/>
<objColor r="0" g="100" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="5" type="0" typeHidden="2" opacity="178"/>
<arcSize val="30"/>
</element>
<command name="Rotate">
<input a0="Polygon[Translate[A', (0, m(x(l1(n))) - P)], Translate[B', (0, m(x(l1(n))) - P)], Translate[C', (0, m(x(l1(n))) - P)], Translate[D', (0, m(x(l1(n))) - P)], Translate[E', (0, m(x(l1(n))) - P)], Translate[F', (0, m(x(l1(n))) - P)]]" a1="(-α)" a2="l1(n)"/>
<output a0="p3"/>
</command>
<element type="polygon" label="p3">
<lineStyle thickness="5" type="0" typeHidden="1" opacity="178"/>
<show object="true" label="false" ev="4"/>
<objColor r="96" g="96" b="96" alpha="0.28999999165534973"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<command name="Integral">
<input a0="m" a1="-8" a2="8"/>
<output a0="o"/>
</command>
<element type="numeric" label="o">
<value val="24.0"/>
<symbolic val="true" />
<show object="true" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.10000000149011612" fillType="6" hatchAngle="0" hatchDistance="20"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="4" type="0" typeHidden="1"/>
</element>
</construction>
</geogebra>