Please find related demonstration here
Haberdasher’s Problem
Haberdasher’s Problem
The Haberdasher's Problem is how to divide an equilateral triangle using three cuts into 4 pieces that form a square . Henry Dudeney published this as a plane rearrangement puzzle in 1902.
Wallace-Bolyai-Gerwien Theorem
Wallace-Bolyai-Gerwien Theorem
The Wallace-Bolyai-Gerwien theorem states that any polygon can be dissected and rearranged into another polygon of the same area.
Example
Example
This conceptual design can be used to demonstrate the Bolyai–Gerwien theorem in the case of triangles and rectangles . A triangle is cut into four pieces that can be rotated to form a rectangle .
In[]:=
Manipulate[u=elSqrt[3]/2;vA={1,0,0};vB={0,2u,0};vC={-1,0,0};vD={0.5,u,0};vE={-0.5,u,0};vF={-0.5,0,0};vG={0.5,0,0};α=ArcTan[u];x=uCos[α]Sin[α];vI={-0.5+x,xu,0};vH={0.5-x,u-xu,0};p1={RGBColor[1,0.6,0.7],Rotate[Polygon[{vA,vD,vH,vG}],rot,{0,1,0},{0.5,0,0}]};p2={RGBColor[0.3,1,0.7],Rotate[Polygon[{vD,vB,vE,vI}],-rot,{1,0,0},{0,u,0}]};p3={RGBColor[1,1,0.2],Rotate[Polygon[{vC,vF,vI,vE}],-rot,{0,1,0},{-0.5,0,0}]};p4={RGBColor[0.3,0.6,1],Rotate[Polygon[{vG,vH,vF}],rot,{1,0,0},{0,0,0}]};tri=Line[{vA,vB,vC,vA}];sD=Sphere[vD,0.04];sE=Sphere[vE,0.04];sF=Sphere[vF,0.04];sG=Sphere[vG,0.04];pD=Cylinder[{{0.5,u,0},{0.5,u,-1}},0.03];pD1=Cylinder[{{0.5,u,-0.3},{0.5,u,-1}},0.06];pE=Cylinder[{{-0.5,u,0},{-0.5,u,-1}},0.03];pE1=Cylinder[{{-0.5,u,-0.3},{-0.5,u,-1}},0.06];pF=Cylinder[{{-0.5,-0.1,0},{-0.5,-0.1,-1}},0.03];pF1=Cylinder[{{-0.5,-0.1,-0.3},{-0.5,-0.1,-1}},0.06];pG=Cylinder[{{0.5,-0.1,0},{0.5,-0.1,-1}},0.03];pG1=Cylinder[{{0.5,-0.1,-0.3},{0.5,-0.1,-1}},0.06];sG1=Sphere[{0.5,-0.1,0},0.04];sF1=Sphere[{-0.5,-0.1,0},0.04];base=Polygon[{{-0.7,-0.2,-1},{0.7,-0.2,-1},{0.7,1,-1},{-0.7,1,-1}}];ax={Red,Line[{vG,vD,vE,vF,vG}]};conF=Cylinder[{{-0.5,-0.1,0},{-0.5,0,0}},0.02];conG=Cylinder[{{0.5,-0.1,0},{0.5,0,0}},0.02];Graphics3D[{conF,conG,If[axs,ax,{}],tri,base,sG1,sF1,p1,p2,p3,p4,sD,sE,sF,sG,pD,pD1,pE,pE1,pF,pF1,pG,pG1},ImageSize{380,350},ViewAnglePi/55,SphericalRegionTrue,BoxedFalse,ViewPoint{2,-10,8},PlotRange{{-1,1},{-1,2.1},{-1,0.5}}],{{rot,0,"rotate"},0,Pi},{{el,1,"elongate"},0.6,1.2},{{axs,False,"show axes of rotation"},{False,True}},TrackedSymbolsManipulate,SaveDefinitionsTrue]
Out[]=

