Building on small rhombicosidodecahedron​
​By Sándor Kabai
In[]:=
fi=1.618;​​alf=ArcTan[fi];​​bet=ArcTan[1/fi];​​bet1=ArcTan[1/fi^2];​​y=0.5+0.5fi;​​x=y/fi;​​rte=Sqrt[x^2+y^2];​​el=yfi;​​z=el+1;​​srd=GraphicsComplex[PolyhedronData["SmallRhombicosidodecahedron","VertexCoordinates"],Polygon[PolyhedronData["SmallRhombicosidodecahedron","FaceIndices"]]];​​srdn={Rotate[Rotate[srd,bet,{0,1,0}],Pi,{0,0,1}]};​​grd=GraphicsComplex[PolyhedronData["GreatRhombicosidodecahedron","VertexCoordinates"],Polygon[PolyhedronData["GreatRhombicosidodecahedron","FaceIndices"]]];​​grdn={Green,Rotate[Rotate[grd,bet,{0,1,0}],Pi,{0,0,1}]};​​cub=GraphicsComplex[PolyhedronData["Cube","VertexCoordinates"],Polygon[PolyhedronData["Cube","FaceIndices"]]];​​tet=GraphicsComplex[PolyhedronData["Tetrahedron","VertexCoordinates"],Polygon[PolyhedronData["Tetrahedron","FaceIndices"]]];​​tetn=Rotate[Rotate[Scale[tet,1.618Sqrt[2]{1,1,1},{0,0,0}],-ArcTan[Sqrt[2]],{0,1,0}],Pi/4,{0,0,1}];​​ico=GraphicsComplex[PolyhedronData["Icosahedron","VertexCoordinates"],Polygon[PolyhedronData["Icosahedron","FaceIndices"]]];​​icon=Rotate[Rotate[Scale[ico,0.6181],-bet,{0,1,0}],0Pi/2,{0,0,1}];​​id=GraphicsComplex[PolyhedronData["Icosidodecahedron","VertexCoordinates"],Polygon[PolyhedronData["Icosidodecahedron","FaceIndices"]]];​​idt=GraphicsComplex[PolyhedronData["Icosidodecahedron","VertexCoordinates"],Tube[PolyhedronData["Icosidodecahedron","FaceIndices"]]];​​idtcore=Scale[idt,1.618];​​idcore=Scale[id,1.618];​​t1=Translate[tetn,{0,0,0.5+el}];​​t2=Rotate[t1,Pi,{1,0,0}];​​t601=Table[Rotate[Rotate[t2,bet,{0,1,0}],i2Pi/5+Pi/5,{0,0,1}],{i,5}];​​t602=Translate[t601,{0,0,5.57}];​​t605=Table[Rotate[Rotate[Rotate[t602,Pi,{0,0,1}],-2bet,{0,1,0}],i2Pi/5,{0,0,1}],{i,5}];​​t60bottom=Rotate[{t602,t605},Pi,{0,1,0}];​​tet60={t602,t605,Green,t60bottom};​​i1=Translate[icon,{0,0,0.5+el}];​​i2=Rotate[i1,Pi,{1,0,0}];​​i601=Table[Rotate[Rotate[i2,bet,{0,1,0}],i2Pi/5+Pi/5,{0,0,1}],{i,5}];​​i602=Translate[i601,{0,0,5.57}];​​i605=Table[Rotate[Rotate[Rotate[i602,Pi,{0,0,1}],-2bet,{0,1,0}],i2Pi/5,{0,0,1}],{i,5}];​​i60bottom=Rotate[{i602,i605},Pi,{0,1,0}];​​ico60={i602,i605,i60bottom};
In[]:=
(*pyramid30*)​​vA={0.5,-0.5,0};​​vB={0.5,0.5,0};​​vC={-0.5,0.5,0};​​vD={-0.5,-0.5,0};​​vE={0,0,0.5};​​sq=Polygon[{vA,vB,vC,vD}];​​tri=Table[Rotate[Polygon[{vA,vB,vE}],i2Pi/4,{0,0,1}],{i,4}];​​c1=Translate[tri,{0,0,el}];​​c2=Rotate[c1,Pi,{1,0,0}];​​c3=Rotate[Rotate[{c1,c2},Pi/2+0.001,{1,0,0}],Pi/2+0.001,{0,0,1}];​​c4=Rotate[Rotate[{c1,c2},Pi/2+0.001,{0,1,0}],Pi/2+0.001,{0,0,1}];​​cubtop={c1,c2,c3,c4};​​pyr30=Table[Rotate[Rotate[{cubtop},bet,{1,0,0}],i2Pi/5-Pi/2,{0,0,1}],{i,5}];​​Graphics3D[{srdn},SphericalRegionTrue,BoxedFalse]
Out[]=
Square pyramids are placed on the 30 square faces of a small rhombicosidodecahedron .
In[]:=
Graphics3D[{pyr30,Green,srdn},SphericalRegionTrue,BoxedFalse]
Out[]=
The tips of the pyramids coincide with the vertices of a icosidodecahedron having edge length equal to the golden ratio.
In[]:=
Graphics3D[{pyr30,Green,srdn,Red,idtcore},SphericalRegionTrue,BoxedFalse]
Out[]=
In[]:=
Graphics3D[{idcore,pyr30,Green,srdn,Red,idtcore},SphericalRegionTrue,BoxedFalse]
Out[]=
A cluster of 60 tetrahedra is placed so that the vertices of ID coincides with the inside tips of tetrahedra.
An icosahedron is placed inside the tetrahedron so that four of their faces coincide.
The vertices of tetrrahedra coincide with those of the embedded icosahedron.