Geometric Dissection of a Cross into Two Squares
2014-11-06 13:49
Geometric Dissection of a Cross into Two Squares
This applet demonstrates a classic geometric dissection problem: transforming a cross-shaped polygon into two squares through area-preserving cuts and rearrangement. The construction uses GeoGebra tools including polygons, line segments, intersection points, and rotation to reveal how a single cross figure can be partitioned and reassembled into two separate squares without any loss or overlap of area.
The applet allows students to interactively explore the dissection process step by step. Users can manipulate key points and sliders to control the cutting lines and observe how each piece moves into its final position. The dynamic visualization makes clear the underlying principle of equidecomposability: that two figures with equal area can always be divided into a finite number of congruent pieces that can be rearranged to form each other.
Mathematically, the applet illustrates several important concepts in plane geometry. It demonstrates the conservation of area under rigid transformations such as translation and rotation, which are foundational to understanding geometric equivalence. It also provides a concrete example of how algebraic relationships between side lengths and areas manifest in a visual, intuitive way. Students can verify that the total area of the original cross equals the combined area of the two resulting squares.
The construction highlights the elegance of geometric proofs that rely on dissection rather than algebraic computation alone. By watching the pieces slide, rotate, and lock into place, learners gain an embodied understanding of what it means for two shapes to be equidecomposable.
This applet is well-suited for students studying Euclidean geometry, particularly those exploring topics such as geometric transformations, area formulas, and classical construction problems. It serves as both an instructional demonstration and an investigative tool, encouraging learners to ask questions about which cross shapes admit which square pairings and how the dissection lines are determined. It is appropriate for middle school through high school mathematics courses and complements lessons on proof, symmetry, and the relationship between geometry and algebra.
Loading the math board and drawing, please wait…
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="4.2" version="4.2.60.0" id="568aab00-b677-45fc-9ccf-80f75079e603" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="1382" height="744" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.1447178002894356" orientation="1" />
</panes>
<views>
<view id="4097" visible="false" inframe="true" stylebar="true" location="1,1,1" size="400" window="333,89,700,550" />
<view id="4" toolbar="0 59 || 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 | 1011 || 1008 1009 || 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="1355" 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="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" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="70" visible="false" inframe="true" stylebar="true" 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 73 , 14 66 68 | 25 52 60 61 | 40 41 42 , 27 28 35 , 6" position="1" help="false" />
<input show="true" cmd="true" top="false" />
<dockBar show="true" east="true" />
</perspective>
</perspectives>
<labelingStyle val="3"/>
<font size="12"/>
<graphicsSettings javaLatexFonts="false"/>
</gui>
<euclidianView>
<size width="1355" height="578"/>
<coordSystem xZero="446.33333333333337" yZero="539.6666666666662" scale="33.333333333333336" yscale="33.33333333333322"/>
<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="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="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0"/>
<coordStyle val="0"/>
<angleFromInvTrig val="false"/>
</kernel>
<scripting blocked="false" disabled="false"/>
<construction title="" author="" date="">
<element type="point" label="A">
<show object="false" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="0.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="B">
<show object="false" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<animation step="0.1" speed="1" type="1" playing="false"/>
<coords x="4.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="A" a1="B" a2="4"/>
<output a0="poly1" a1="a" a2="b" a3="c" a4="d" a5="C" a6="D"/>
</command>
<element type="polygon" label="poly1">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<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"/>
<coords x="0.0" y="4.0" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<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="-3.999999999999999" y="0.0" z="15.999999999999996"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<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="-8.881784197001252E-16" y="-3.999999999999999" z="15.999999999999998"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<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="4.0" y="-6.661338147750939E-16" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="C">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="4.0" y="3.999999999999999" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="D">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="6.661338147750939E-16" y="4.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="D" a1="C" a2="4"/>
<output a0="poly2" a1="e" a2="f" a3="g" a4="h" a5="E" a6="F"/>
</command>
<element type="polygon" label="poly2">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
</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"/>
<coords x="8.881784197001252E-16" y="3.999999999999999" z="-15.999999999999998"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<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="-3.999999999999999" y="1.7763568394002505E-15" z="15.99999999999999"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="g">
<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="-1.7763568394002505E-15" y="-3.9999999999999996" z="31.999999999999996"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h">
<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="4.0" y="-1.5543122344752192E-15" z="3.552713678800501E-15"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="E">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="4.000000000000002" y="7.999999999999998" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="F">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="2.220446049250313E-15" y="8.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="F" a1="E" a2="4"/>
<output a0="poly3" a1="i" a2="j" a3="k_2" a4="l" a5="G" a6="H"/>
</command>
<element type="polygon" label="poly3">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="i">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="1.7763568394002505E-15" y="3.9999999999999996" z="-31.999999999999996"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="j">
<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="-3.9999999999999982" y="1.7763568394002505E-15" z="15.999999999999986"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="k_2">
<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="-3.552713678800501E-15" y="-3.9999999999999987" z="47.999999999999986"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="l">
<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="4.0" y="-2.6645352591003757E-15" z="1.2434497875801753E-14"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<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"/>
<auxiliary val="true"/>
<coords x="4.0000000000000036" y="11.999999999999996" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="H">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="4.884981308350689E-15" y="12.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="D" a1="F" a2="4"/>
<output a0="poly4" a1="m" a2="n" a3="p" a4="q" a5="I" a6="J"/>
</command>
<element type="polygon" label="poly4">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="m">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-4.0" y="1.5543122344752192E-15" z="-3.552713678800501E-15"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="n">
<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="-1.7763568394002505E-15" y="-3.999999999999999" z="31.999999999999993"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="p">
<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="3.999999999999999" y="-2.6645352591003757E-15" z="16.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="q">
<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="2.6645352591003757E-15" y="4.0" z="-16.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="I">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-3.999999999999997" y="8.000000000000002" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="J">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-3.9999999999999996" y="4.000000000000003" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="E" a1="C" a2="4"/>
<output a0="poly5" a1="r" a2="s" a3="t" a4="a_1" a5="K" a6="L"/>
</command>
<element type="polygon" label="poly5">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="r">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="3.999999999999999" y="-1.7763568394002505E-15" z="-15.99999999999999"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="s">
<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="3.1086244689504383E-15" y="3.9999999999999982" z="-16.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="t">
<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="-3.9999999999999987" y="3.552713678800501E-15" z="31.999999999999968"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="a_1">
<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="-3.552713678800501E-15" y="-4.0" z="32.00000000000001"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="point" label="K">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="7.999999999999998" y="3.999999999999996" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<element type="point" label="L">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="8.000000000000002" y="7.999999999999995" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Segment">
<input a0="H" a1="B"/>
<output a0="b_1"/>
</command>
<element type="segment" label="b_1">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="12.0" y="3.999999999999995" z="-48.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Segment">
<input a0="L" a1="J"/>
<output a0="c_1"/>
</command>
<element type="segment" label="c_1">
<show object="false" label="false"/>
<objColor r="0" g="0" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="3.999999999999992" y="-12.000000000000002" z="64.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Intersect">
<input a0="b_1" a1="c_1"/>
<output a0="M"/>
</command>
<element type="point" label="M">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="320.00000000000045" y="959.9999999999995" z="159.99999999999997"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="B" a1="M" a2="J" a3="D" a4="A"/>
<output a0="poly6" a1="b_2" a2="m_1" a3="j_1" a4="d_1" a5="a_2"/>
</command>
<element type="polygon" label="poly6">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="b_2">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.999999999999998" y="-1.999999999999997" z="23.999999999999993"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="1.9999999999999956" y="-6.000000000000003" z="32.00000000000001"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="j_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.6645352591003757E-15" y="4.0" z="-16.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="d_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="4.0" y="-6.661338147750939E-16" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="a_2">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.0" y="4.0" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Polygon">
<input a0="B" a1="C" a2="K" a3="L" a4="M"/>
<output a0="poly7" a1="b_3" a2="c_2" a3="k_1" a4="l_1" a5="m_2"/>
</command>
<element type="polygon" label="poly7">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="true" label="false"/>
<objColor r="0" g="0" b="255" alpha="1.0"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="b_3">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.999999999999999" y="0.0" z="15.999999999999996"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="c_2">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="3.1086244689504383E-15" y="3.9999999999999982" z="-16.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="k_1">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.9999999999999987" y="3.552713678800501E-15" z="31.999999999999968"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="l_1">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="1.9999999999999964" y="-5.999999999999998" z="31.99999999999998"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m_2">
<show object="false" label="false"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="5.999999999999998" y="1.999999999999997" z="-23.999999999999993"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Polygon">
<input a0="L" a1="E" a2="G" a3="H" a4="M"/>
<output a0="poly8" a1="l_2" a2="e_1" a3="g_1" a4="h_1" a5="m_3"/>
</command>
<element type="polygon" label="poly8">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="l_2">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.552713678800501E-15" y="-4.0" z="32.00000000000001"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="e_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.9999999999999982" y="1.7763568394002505E-15" z="15.999999999999986"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="g_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.552713678800501E-15" y="-3.9999999999999987" z="47.999999999999986"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="6.000000000000002" y="1.9999999999999982" z="-24.000000000000007"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m_3">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.9999999999999964" y="5.999999999999998" z="-31.99999999999998"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Polygon">
<input a0="I" a1="J" a2="M" a3="H" a4="F"/>
<output a0="poly9" a1="i_1" a2="j_2" a3="m_4" a4="h_2" a5="f_1"/>
</command>
<element type="polygon" label="poly9">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="true" label="false"/>
<objColor r="0" g="0" b="255" alpha="1.0"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="i_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="3.999999999999999" y="-2.6645352591003757E-15" z="16.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="j_2">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.9999999999999956" y="6.000000000000003" z="-32.00000000000001"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m_4">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-6.000000000000002" y="-1.9999999999999982" z="24.000000000000007"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h_2">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="4.0" y="-2.6645352591003757E-15" z="1.2434497875801753E-14"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="f_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.7763568394002505E-15" y="-3.999999999999999" z="31.999999999999993"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="numeric" label="k">
<value val="0.0"/>
<show object="true" label="true"/>
<objColor r="127" g="0" b="255" alpha="0.1"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="0" max="1" absoluteScreenLocation="true" width="100.0" x="133.0" y="44.0" fixed="true" horizontal="true"/>
<lineStyle thickness="5" type="0" typeHidden="1"/>
<animation step="0.05" speed="1" type="0" playing="false"/>
</element>
<command name="Rotate">
<input a0="B" a1="(270 * k)°" a2="B"/>
<output a0="B'"/>
</command>
<element type="point" label="B'">
<show object="false" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="4.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="M" a1="(270 * k)°" a2="B"/>
<output a0="M'"/>
</command>
<element type="point" label="M'">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="320.00000000000045" y="959.9999999999995" z="159.99999999999997"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="J" a1="(270 * k)°" a2="B"/>
<output a0="J'"/>
</command>
<element type="point" label="J'">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="-4.0" y="4.000000000000003" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="D" a1="(270 * k)°" a2="B"/>
<output a0="D'"/>
</command>
<element type="point" label="D'">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="8.881784197001252E-16" y="4.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="A" a1="(270 * k)°" a2="B"/>
<output a0="A'"/>
</command>
<element type="point" label="A'">
<show object="false" label="true"/>
<objColor r="0" g="0" b="255" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.0" y="0.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="B'" a1="M'" a2="J'" a3="D'" a4="A'"/>
<output a0="poly6'" a1="b'" a2="m'" a3="j'" a4="d'" a5="a'"/>
</command>
<element type="polygon" label="poly6'">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="true" label="false"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="b'">
<show object="false" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-5.999999999999998" y="-1.999999999999997" z="23.999999999999993"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m'">
<show object="false" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="1.9999999999999956" y="-6.0000000000000036" z="32.000000000000014"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="j'">
<show object="false" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="2.6645352591003757E-15" y="4.000000000000001" z="-16.000000000000004"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="d'">
<show object="false" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="4.0" y="-8.881784197001252E-16" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="a'">
<show object="false" label="false"/>
<objColor r="255" g="0" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="0.0" y="4.0" z="0.0"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<command name="Rotate">
<input a0="L" a1="(270 * k)°" a2="H"/>
<output a0="L'"/>
</command>
<element type="point" label="L'">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="8.000000000000002" y="7.999999999999995" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="E" a1="(270 * k)°" a2="H"/>
<output a0="E'"/>
</command>
<element type="point" label="E'">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="4.000000000000002" y="7.999999999999998" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="G" a1="(270 * k)°" a2="H"/>
<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"/>
<auxiliary val="true"/>
<coords x="4.0000000000000036" y="11.999999999999996" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="H" a1="(270 * k)°" a2="H"/>
<output a0="H'"/>
</command>
<element type="point" label="H'">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<auxiliary val="true"/>
<coords x="4.884981308350689E-15" y="12.0" z="1.0"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Rotate">
<input a0="M" a1="(270 * k)°" a2="H"/>
<output a0="M'_1"/>
</command>
<element type="point" label="M'_1">
<show object="false" label="true"/>
<objColor r="68" g="68" b="68" alpha="0.0"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="320.00000000000045" y="959.9999999999995" z="159.99999999999997"/>
<pointSize val="3"/>
<pointStyle val="0"/>
</element>
<command name="Polygon">
<input a0="L'" a1="E'" a2="G'" a3="H'" a4="M'_1"/>
<output a0="poly8'" a1="l'" a2="e'" a3="g'" a4="h'" a5="m'_1"/>
</command>
<element type="polygon" label="poly8'">
<lineStyle thickness="2" type="0" typeHidden="1"/>
<show object="true" label="false"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<layer val="0"/>
<labelMode val="0"/>
</element>
<element type="segment" label="l'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.552713678800501E-15" y="-4.0" z="32.00000000000001"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<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.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.9999999999999982" y="1.7763568394002505E-15" z="15.999999999999986"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="g'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-3.552713678800501E-15" y="-3.9999999999999987" z="47.999999999999986"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="h'">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="6.000000000000002" y="1.9999999999999982" z="-24.000000000000007"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
<element type="segment" label="m'_1">
<show object="false" label="false"/>
<objColor r="153" g="51" b="0" alpha="0.1"/>
<layer val="0"/>
<labelMode val="0"/>
<coords x="-1.9999999999999964" y="5.999999999999998" z="-31.99999999999998"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<outlyingIntersections val="false"/>
<keepTypeOnTransform val="true"/>
</element>
</construction>
</geogebra>