Truncated icosahedron with decorated surface
Sándor Kabai
The pentagonal and hexagonal faces of truncated icosahedron (TICO) are substituted with matching graphics to show decorated surfaces.
In[]:=
fi=GoldenRatio;​​alf=ArcTan[fi];​​bet=ArcTan[1/fi];​​bet1=ArcTan[1/fi^2];
In[]:=
(*Pentagon*)​​r5=0.5/Sin[2Pi/10];​​p5v=Table[r5{Sin[i2Pi/5+Pi/10],Cos[i2Pi/5+Pi/10],0},{i,5}];​​pent=Polygon[p5v];pent1=Translate[{pent},{0,0,2.326}];​​pent5=Table[Rotate[Rotate[Rotate[pent1,Pi,{0,0,1}],2bet,{0,1,0}],i2Pi/5,{0,0,1}],{i,5}];​​pent6=Rotate[{pent1,pent5},Pi,{0,1,0}];​​pent12={pent1,pent5,pent6};​​tico=PolyhedronData["TruncatedIcosahedron","Faces"];​​ticon=Scale[tico,0.999{1,1,1},{0,0,0}];​​ticont=ticon/.Polygon->Tube;​​Graphics3D[{Cyan,ticont,Pink,pent12},BoxedFalse,ImageSize300,SphericalRegionTrue,ViewPoint{0,0,100}]​​
Out[]=
In[]:=
(*Hexagon*)​​r6=0.5/Sin[2Pi/12];​​p6v=Table[r6{Sin[i2Pi/6],Cos[i2Pi/6],0},{i,6}];​​hex=Polygon[p6v];​​i1={hex};​​i2=Rotate[Translate[i1,{1.5Sqrt[3]/3,0,0}],bet1,{0,1,0}];​​i3=Rotate[i2,Pi,{0,0,1}];​​i4=Table[Rotate[Rotate[Translate[{i2,i3},{0,0,fi1.5}],-alf,{0,1,0}],i2Pi/5,{0,0,1}],{i,5}];​​i5=Rotate[i4,Pi,{0,1,0}];​​hex30={i4,i5};​​Graphics3D[{Cyan,hex30,Yellow,ticont},BoxedFalse,ImageSize300,SphericalRegionTrue,ViewPoint{0,0,100}]
Out[]=
Create matching graphics (an example)
In[]:=
(*Substitutethepentagon*)​​fi=GoldenRatio;​​r=0.5/Sin[2Pi/10];​​m=0.5/Tan[2Pi/10];​​h=0.5/Tan[2Pi/20];​​frame=Table[{rSin[i2Pi/5],rCos[i2Pi/5],0},{i,6}];​​hole=0.6Table[{rSin[i2Pi/5],rCos[i2Pi/5],0},{i,6}];​​f1=Polygon[frame->hole];​​f2=Translate[f1,{0,h+m,0}];​​f5=Table[Rotate[f2,i2Pi/5,{0,0,1}],{i,5}];​​fin5=Table[{Hue[0.4^2i],Rotate[Scale[f5,1/fi^i{1,1,1},{0,0,0}],i2Pi/10,{0,0,1}]},{i,4}];​​(*Reducethesizetofitthepentasgon*)​​insert5=Rotate[Scale[fin5,1/2.236{1,1,1},{0,0,0}],Pi/2,{0,0,1}];​​Graphics3D[{pent,insert5},BoxedFalse,ImageSize300,SphericalRegionTrue,ViewPoint{0,0,100}]
Out[]=
In[]:=
(*Substitutethehexagon*)​​h1=Map[Translate[hex,#]&,2p6v];​​h2=Map[Translate[h1,#]&,2p6v];​​(*Reducethesizetofitthehexagon*)​​insert6=Scale[h2,0.19{1,1,1},{0,0,0}];​​Graphics3D[{Cyan,insert6,Yellow,hex},BoxedFalse,ImageSize300,SphericalRegionTrue,ViewPoint{0,0,100}]
Out[]=
In[]:=
pent1=Translate[{insert5},{0,0,2.326}];​​pent5=Table[Rotate[Rotate[Rotate[pent1,Pi,{0,0,1}],2bet,{0,1,0}],i2Pi/5,{0,0,1}],{i,5}];​​pent6=Rotate[{pent1,pent5},Pi,{0,1,0}];​​pent12={pent1,pent5,pent6};​​Graphics3D[{ticont,pent12},BoxedFalse,ImageSize300,SphericalRegionTrue,ViewPoint{0,0,100}]
Out[]=