Folding truncated icosahedron
Sándor Kabai
A truncated icosahedron is prepared by folding two identical parts.
In[]:=
​​Manipulate[Module[{tico,ϕ,α,β,β1,d5,w5,p5,d6,m,n,h5,h6,p6,δ,ang56,ang66,p51,p61,r1,r2,t1,t2,bar,sp},​​tico={RGBColor[0,1,1],Scale[Rotate[PolyhedronData["TruncatedIcosahedron","Faces"],Pi/2,{0,0,1}],0.999{1,1,1},{0,0,0}]};​​ϕ=GoldenRatio;​​α=ArcTan[1.618];​​β=ArcTan[0.618];​​β1=ArcTan[0.618^2];​​d5=0.5/Sin[2Pi/10];​​w5=d5/Cos[2Pi/20];​​p5={Yellow,Polygon[Table[d5{Sin[x2Pi/5],Cos[x2Pi/5],0},{x,5}]]};​​d6=0.5/Sin[2Pi/12];​​m=0.5/Tan[2Pi/12];​​n=0.5/Tan[2Pi/10];​​h5=Sqrt[1+ϕ^2]+ϕSin[β]/2;​​h6=Sqrt[(2ϕ+1)^2+ϕ^2]/2;​​p6={RGBColor[0.7,0.7,0.6],Polygon[Table[d6{Sin[x2Pi/6+Pi/6],Cos[x2Pi/6+Pi/6],0},{x,6}]]};​​δ=Pi/2-β1;​​ang56=α-β1;​​ang66=Pi-2δ;​​p51=Translate[Rotate[Translate[Rotate[p5,Pi,{0,0,1}],{0,-n,0}],foldang56,{1,0,0}],{0,-n-2m,0}];​​p61=Translate[{p6},{0,-m-n,0}];​​​​r1=Translate[Rotate[{p51,p61},foldang66,{1,0,0},{0,-n,0}],{0,-2m,0}];​​r2=Rotate[{r1,p61},foldang56,{1,0,0},{0,-n,0}];​​​​t1=Table[Rotate[{p5,r2},i2Pi/5,{0,0,1}],{i,5}];​​t2=Translate[Rotate[t1,Pi,{1,0,0}],{0,0,-2h5fold}];​​bar={Red,Cylinder[{{0,0,0},{0,0,-2h5fold}},0.4]};​​sp=Sphere[{0,0,0},0.3];​​Graphics3D[{sp,bar,t1,t2},PlotRange{{-6,6},{-6,6},{-5,1}},SphericalRegionTrue,BoxedFalse,ViewPoint{10,10,5},ViewAngle0.07,ImageSize{420,420}]],​​{{fold,0.5,"fold up"},0.1,1,Appearance"Labeled"},TrackedSymbols{fold}]