Ring of ten rhombic hexecontahedra​
​By Sender Kabai
First a ring of ten rhombic hexecontahedra (RH) is created with tip-to-tip connections. Then such rings are interwoven in various configurations, so that they have common RH at the nodes.
In[]:=
fi=GoldenRatio;​​alf=ArcTan[fi];​​alf1=ArcTan[fi^2];​​bet=ArcTan[1/fi];​​bet1=ArcTan[1/fi^2];​​ϵ=bet-bet1;​​m=N[Sqrt[(2fi+1)^2+fi^2]/3];​​s=mCos[ϵ];​​d=s/Tan[2Pi/20];​​r=Sqrt[d^2+s^2];​​h=2mSin[ϵ];​​f=rSin[2Pi/10];​​g=rCos[2Pi/10];​​q=dSin[6Pi/20];​​ico=PolyhedronData["Icosahedron"][[1]];​​dod=PolyhedronData["Dodecahedron","Faces"];​​rh=PolyhedronData["RhombicHexecontahedron","Faces"];​​rhn=Rotate[Scale[rh,0.64],Pi,{0,0,1}];​​ico=rhn;​​dodn=Scale[dod,0.54];​​icon=Rotate[Scale[ico,1],Pi/2,{0,0,1}];​​icofl=Rotate[Rotate[ico,Pi/2,{0,0,1}],-Pi/2+bet+bet1,{1,0,0}];​​icoup=Translate[Rotate[icofl,Pi,{0,0,1}],{0,0,m}];​​icoup1=Translate[icofl,{0,0,2m}];​​​​s1=Rotate[Rotate[Translate[Rotate[icoup,Pi,{0,0,1}],{0,0,0}],-alf1-bet,{1,0,0}],2Pi/5,{0,0,1}];​​s2=Rotate[Rotate[Translate[Rotate[icoup1,Pi,{0,0,1}],{0,0,0}],-alf1-bet,{1,0,0}],2Pi/5,{0,0,1}];​​s3=Rotate[Rotate[Translate[Rotate[icoup,Pi,{0,0,1}],{0,0,0}],-alf1-bet,{1,0,0}],-2Pi/5,{0,0,1}];​​s5=Table[Rotate[{icon,Green,s3},i2Pi/5,{0,0,1}],{i,5}];​​r1=Table[Rotate[{Yellow,icon,RGBColor[0,1,1],s2},i2Pi/5,{0,0,1},{0,r,0}],{i,5}];​​r2=Rotate[r1,Pi,{1,0,0},{0,r,-0.27}];​​q1=Table[Rotate[{s5},i2Pi/5,{0,0,1},{0,r,0}],{i,5}];​​c1=Table[Rotate[r1,i2Pi/5,{0,0,1}],{i,5}];​​t0=Rotate[Rotate[r1,2Pi/5,{0,0,1}],0×2alf,{1,0,0},{0,0,0}];​​t1=Translate[r1,{2f,0,0}];​​t2=Translate[r1,{4f,0,0}];​​t3=Translate[r1,{6f,0,0}];​​t4=Translate[r1,{f,-r-g,0}];​​t5=Translate[r1,{3f,-r-g,0}];​​t6=Translate[r1,{5f,-r-g,0}];​​​​t7=Translate[r1,{f,r+g,0}];​​t8=Translate[r1,{3f,r+g,0}];​​t9=Translate[r1,{5f,r+g,0}];​​cent=Translate[r1,{0,-r,0}];​​Graphics3D[{cent},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]​​​​
Out[]=
In[]:=
Graphics3D[{t1,t2,t5,t8},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=
In[]:=
cent=Translate[r1,{0,-r,0}];​​h1=Translate[cent,{f,-r-g,0}];​​h2=Translate[cent,{f,r+g,0}];​​h3=Translate[cent,{2d+f,-r-g,0}];​​h4=Translate[cent,{2d+f,r+g,0}];​​h5=Translate[cent,{2d+2f,0,0}];​​​​Graphics3D[{cent,h1,h2,h3,h4,h5},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=
In[]:=
dis=d/Sin[2Pi/20];​​ten=Table[Rotate[Translate[Rotate[cent,iPi,{0,0,1}],{dis,0,0}],i2Pi/10,{0,0,1}],{i,10}];​​ten1=Rotate[Translate[Rotate[cent,0,{0,0,1}],{dis,0,0}],0,{0,0,1}];​​ten2=Rotate[Translate[Rotate[cent,-Pi,{0,0,1}],{dis,0,0}],2Pi/10,{0,0,1}];​​ten3=Rotate[Translate[Rotate[cent,-Pi0,{0,0,1}],{dis,0,0}],4Pi/10,{0,0,1}];​​h15=Table[Rotate[h1,i2Pi/5,{0,0,1}],{i,5}];​​hadd=Translate[cent,{-2d,0,0}];​​​​Graphics3D[{hadd,ten,cent,h1,h2},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=