Expanding structures based on hinged cubes

Sándor Kabai ​
1. Nine cubes are hinged along the edges to form an expanding structure.
In[]:=
Manipulate[​​c1=PolyhedronData["Cube","Faces"];​​c2=Rotate[Translate[c1,{0,1,0}],-α,{0,0,1},{0.5,0.5,0}];​​c3=Translate[Translate[c1,{-1,1,0}],{1-Cos[α],Sin[α],0}];​​c8=Table[Rotate[{c2,c3},i2Pi/4,{0,0,1}],{i,4}];​​Graphics3D[{{Green,c1},c8},BoxedFalse,PlotRange{{-2.5,2.5},{-2.5,2.5},{-0.5,0.5}},SphericalRegionTrue,ViewAngle0.2,ViewPoint->{3,1,5}],{{α,0,"move"},0,Pi/2}]
Out[]=
​
move
2. Combination o f nine cubes.
In[]:=
Manipulate[​​c1a=PolyhedronData["Cube","Faces"];​​c2a=Rotate[Translate[c1a,{0,1,0}],-α,{0,0,1},{0.5,0.5,0}];​​c3a=Translate[Translate[c1a,{-1,1,0}],{1-Cos[α],Sin[α],0}];​​c8a=Table[Rotate[{c2a,c3a},i2Pi/4,{0,0,1}],{i,4}];​​t1=Table[Rotate[Translate[Translate[{c1a,c8a},{-2,2,0}],2{1-Cos[α],Sin[α],0}],i2Pi/4,{0,0,1}],{i,4}];​​Graphics3D[{{Green,c1},c8,t1},BoxedFalse,SphericalRegionTrue],{{α,0,"move"},0,Pi/2}]
Out[]=
​
move
3. Unit made of four cubes.
In[]:=
Manipulate[​​c1=PolyhedronData["Cube","Faces"];​​c2={RGBColor[0,1,1],Rotate[Translate[c1,{0.5,0.5,0}],α,{0,0,1}]};​​c3=Rotate[Translate[c1,{0.5,-0.5,0}],-α,{0,0,1}];​​c4=Translate[Rotate[{{c2},c3},Pi,{0,0,1}],{2Cos[α],0,0}];​​cx=Table[Translate[{c2,c3,c4},{i2(Cos[α]+Sin[α]),0,0}],{i,nx}];​​cy=Table[Translate[{{Green,c2},c3,c4,cx},{0,i2(Cos[α]+Sin[α]),0}],{i,ny}];​​Graphics3D[{c2,c3,c4,cx,cy},BoxedFalse,SphericalRegionTrue],{{α,0,"expand"},0,Pi/4},​​{{nx,1,"nx"},0,3,1,RadioButton},​​{{ny,1,"ny"},0,3,1,RadioButton},​​TrackedSymbolsManipulate]
Out[]=
​
expand
nx
0
1
2
3
ny
0
1
2
3
4. Planar version of unit made of four cubes
In[]:=
Manipulate[​​x=Cos[α];​​y=Sin[α];​​vA={2x,0,0};​​vB={x,y,0};​​vC={0,0,0};​​vD={x,-y,0};​​vE={2x+y,-x,0};​​vF={2x+2y,0,0};​​vG={2x+y,x,0};​​vH={3x+y,x+y,0};​​vI={2x+y,x+2y,0};​​vJ={x+y,x+y,0};​​vK={x,2x+y,0};​​vL={x-y,x+y,0};​​t1={Yellow,Polygon[{vA,vB,vC,vD}]};​​t2=Polygon[{vA,vE,vF,vG}];​​t3={Yellow,Polygon[{vG,vH,vI,vJ}]};​​t4=Polygon[{vB,vJ,vK,vL}];​​tx=Table[Translate[{t1,t2,t3,t4},{i(2x+2y),0,0}],{i,nx}];​​ty=Table[Translate[{t1,t2,t3,t4,tx},{0,i2(x+y),0}],{i,ny}];​​Graphics3D[{t1,t2,t3,t4,tx,ty},BoxedFalse,SphericalRegionTrue,ViewPoint{0,0,10},ViewAngle0.1],​​{{α,0.5,"expand"},0,Pi/2},​​{{nx,1,"nx"},0,3,1,RadioButton},​​{{ny,1,"ny"},0,4,1,RadioButton},​​TrackedSymbolsManipulate]
Out[]=
​
expand
nx
0
1
2
3
ny
0
1
2
3
4
5. Planar version with bars along the squares. One telescoping diagonal is enough to operate the whole structure.
6. Two 3D versions of unit with four cubes (or rhombic dodecahedron).