Rotating and Scaling Regular Polygon Winding Patterns
2017-07-25 14:53
The Rotating and Scaling Regular Polygon Winding Patterns applet is an interactive mathematical visualization tool that demonstrates how iterative geometric transformations can generate intricate, aesthetically pleasing spiral and winding patterns. By repeatedly applying rotation and scaling to a regular polygon, the applet constructs a dynamic sequence of nested or expanding shapes. This provides a captivating visual representation of how simple, repeated geometric rules can lead to complex and beautiful mathematical structures.
Built using GeoGebra's powerful Sequence command alongside foundational tools like Polygon, Centroid, Point, Segment, Angle, and Dilate, the applet offers a highly interactive environment. Users can manipulate several key parameters through intuitive sliders. The primary controls include the number of sides of the initial regular polygon, the angle of rotation applied at each iterative step, the scaling ratio or dilation factor, and the total number of iterations in the sequence. As students drag these sliders, the canvas updates in real-time, instantly reflecting the mathematical consequences of their adjustments.
Through this hands-on interaction, learners can deeply explore core concepts in plane geometry and transformational mathematics. For instance, adjusting the scaling ratio to a value less than one causes the polygons to shrink and converge toward the centroid, forming an inward winding spiral. Conversely, a ratio greater than one creates an expansive, outward-growing pattern. Modifying the rotation angle alters the tightness and direction of the spiral arms, while changing the number of sides transitions the visual effect from sharp, star-like geometric webs to smooth, nearly circular vortexes. These visual changes help students intuitively grasp the compounding effects of geometric sequences and the properties of similarity.
For students and educators, this applet serves as an excellent bridge between algebraic sequences and geometric transformations. It moves beyond static textbook diagrams, allowing learners to experiment with variables and observe limits, convergence, and symmetry in action. By engaging with the applet, students develop a stronger spatial intuition and a deeper appreciation for the interconnectedness of mathematical concepts. Furthermore, the artistic nature of the generated patterns encourages open-ended exploration, motivating students to ask hypothetical questions and fostering a creative approach to problem-solving and mathematical discovery.
Loading the math board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.377.0" id="31055402-3dfe-40a2-8ee8-1bbc53ad77aa" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1000" height="640" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.372" orientation="1" />
</panes>
<views>
<view id="4097" visible="false" inframe="true" stylebar="true" location="1,1,1,1" size="400" window="199,300,842,550" />
<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="false" inframe="false" stylebar="false" location="1,1,1" size="500" 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="false" location="1,1" size="300" window="100,100,600,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="1" visible="true" inframe="false" stylebar="true" location="1" size="998" window="100,100,600,400" />
<view id="2" visible="false" inframe="false" stylebar="false" location="3" size="372" window="100,100,250,400" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,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="128" visible="false" inframe="true" stylebar="false" location="1" size="480" 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="43" visible="false" inframe="false" stylebar="false" location="1" size="450" 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 | 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="true" cmd="true" top="false" />
<dockBar show="false" east="false" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="24"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="998" height="542"/>
<coordSystem xZero="373.9672478761695" yZero="437.1396677852428" scale="31.239690659503235" yscale="31.239690659503278"/>
<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>
<kernel>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="旋轉+伸縮正多邊形" author="" date="">
<element type="numeric" label="n">
<value val="6"/>
<show object="true" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="3" max="24" absoluteScreenLocation="true" width="200" x="97" y="74" fixed="true" horizontal="true" showAlgebra="true"/>
<lineStyle thickness="10" type="0" typeHidden="1"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<element type="point" label="A">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="5.847513072840457" y="-7.918596008190544" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="B">
<show object="false" label="false" ev="4"/>
<objColor r="0" g="0" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="1" speed="1" type="1" playing="false"/>
<isShape val="false"/>
<coords x="17.50738571865225" y="-7.969200983791981" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="A" a1="B" a2="n"/>
<output a0="poly1" a1="f" a2="g" a3="h" a4="i" a5="j" a6="k" a7="l" a8="m_2" a9="p_1" a10="q" a11="r_1" a12="s" a13="t" a14="a" a15="b" a16="c" a17="d" a18="e" a19="f_1" a20="g_1" a21="h_1" a22="i_1" a23="j_1" a24="k_1" a25="C" a26="D" a27="E" a28="F" a29="G" a30="H_1" a31="I" a32="J" a33="K" a34="L" a35="M" a36="N" a37="P" a38="Q" a39="R" a40="S" a41="T" a42="U" a43="V" a44="W" a45="Z" a46="A_1"/>
</command>
<element type="polygon" label="poly1">
<lineStyle thickness="3" type="0" typeHidden="1"/>
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
</element>
<element type="segment" label="f">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="false"/>
<coords x="0.05060497560143684" y="11.659872645811795" z="92.03390773275522"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="g">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="-10.072443428363572" y="5.873761517334636" z="223.1513382921678"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="-10.123048403965011" y="-5.786111128477163" z="248.85807972454918"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="i">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="-0.050604975601439506" y="-11.659872645811791" z="143.44739059751794"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="j">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="10.072443428363568" y="-5.873761517334637" z="12.329960038105436"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="k">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="0" b="51" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="10.123048403965018" y="5.786111128477162" z="-13.376781394276031"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="l">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m_2">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="p_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="q">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="r_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="s">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="t">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="a">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="b">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="c">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="d">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="e">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="f_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="g_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="i_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="j_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="k_1">
<show object="true" label="false" ev="4"/>
<objColor r="153" g="51" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="C">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="23.381147235986887" y="2.103242444571591" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="D">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="17.595036107509724" y="12.226290848536603" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="E">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="5.9351634616979325" y="12.276895824138042" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="F">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="0.06140194436329516" y="2.2044523957744744" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="G">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="H_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="I">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="J">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="K">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="L">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="M">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="N">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="P">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="Q">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="R">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="S">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="T">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="U">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="V">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="W">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="Z">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<element type="point" label="A_1">
<show object="false" label="true" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<auxiliary val="true"/>
<coords x="NaN" y="NaN" z="NaN"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Centroid">
<input a0="poly1"/>
<output a0="O"/>
</command>
<element type="point" label="O">
<show object="false" label="false" ev="4"/>
<objColor r="68" g="68" b="68" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="11.72127459017509" y="2.1538474201730295" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Point">
<input a0="poly1"/>
<output a0="H"/>
</command>
<element type="point" label="H">
<show object="false" label="false" ev="4"/>
<objColor r="125" g="125" b="255" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="2 / 3" type="1" playing="true"/>
<isShape val="false"/>
<coords x="4.347529884698896" y="9.55439009384926" z="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="O" a1="A"/>
<output a0="p"/>
</command>
<element type="segment" label="p">
<show object="false" label="true" ev="4"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="10.072443428363573" y="-5.873761517334633" z="-105.41068912703122"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="O" a1="H"/>
<output a0="m_1"/>
</command>
<element type="segment" label="m_1">
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<coords x="-7.400542673676231" y="-7.373744705476194" z="102.62571380537207"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<expression label="r" exp="m_1 / p" />
<element type="numeric" label="r">
<value val="0.895971843306246"/>
<symbolic val="true" />
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
</element>
<command name="Angle">
<input a0="A" a1="O" a2="H"/>
<output a0="α"/>
</command>
<element type="angle" label="α">
<angleStyle val="0"/>
<value val="4.453115839337737"/>
<show object="false" label="true"/>
<objColor r="0" g="100" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="3" type="0" typeHidden="2"/>
<arcSize val="30"/>
</element>
<command name="Dilate">
<input a0="Rotate[poly1, α, O]" a1="r" a2="O"/>
<output a0="poly2"/>
</command>
<element type="polygon" label="poly2">
<lineStyle thickness="3" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
</element>
<element type="numeric" label="m">
<value val="16"/>
<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="50" absoluteScreenLocation="true" width="200" x="103" y="129" fixed="true" horizontal="true" showAlgebra="true"/>
<lineStyle thickness="10" type="0" typeHidden="1"/>
<animation step="1" speed="1" type="0" playing="false"/>
</element>
<command name="Sequence">
<input a0="Dilate[Rotate[poly1, (i * α), O], r^(i), O]" a1="i" a2="1" a3="m"/>
<output a0="list1"/>
</command>
<element type="list" label="list1">
<show object="true" label="false" ev="4"/>
<objColor r="204" g="0" b="102" alpha="0"/>
<layer val="0"/>
<labelMode val="0"/>
<isShape val="false"/>
<lineStyle thickness="3" type="0" typeHidden="1"/>
<pointSize val="4"/>
<pointStyle val="-1"/>
</element>
</construction>
</geogebra>