Cube, rhombic dodecahedron and rhombic icosahedron as polar zonohedra
Sándor Kabai
Cube, rhombic dodecahedron and rhombic icosahedron are polar zonohedra. The helices passing through their vertices are shown. The helices are on sinosoids.
In[]:=
n=3;​​dia=0.04;​​rpz=RevolutionPlot3D[{0,2Sin[x],2x},{x,0,Pi},MeshNone][[1]];​​cub=PolyhedronData["Cube","Faces"];​​cubn=Rotate[Rotate[Rotate[cub,Pi/4,{0,0,1}],ArcTan[Sqrt[2]],{1,0,0}],Pi/6,{0,0,1}];​​pz1=ParametricPlot3D[{Sin[u],-1+Cos[u],u},{u,0,2Pi},PlotStyle{Green,Tube[dia]}][[1]];​​pz2=ParametricPlot3D[{-Sin[u],-1+Cos[u],u},{u,0,2Pi},PlotStyle{Tube[dia]}][[1]];​​pz10=Table[Rotate[pz1,i2Pi/n,{0,0,1}],{i,3}];​​pz20=Table[Rotate[pz2,i2Pi/n+Pi,{0,0,1}],{i,3}];​​​​h=N[Sqrt[3]/Pi/2];​​r=Sqrt[2]/2/Cos[Pi/6];​​c=N[r/2/Cos[Pi/6]];​​cent3=Scale[Translate[{pz10,pz20},{0,0,-Pi}],{c,c,h}];​​env3=Scale[Translate[rpz,{0,0,-Pi}],{c,c,h}];​​Graphics3D[{cubn,cent3,env3},BoxedFalse,ViewPoint{30,100,0},SphericalRegionTrue,ImageSize300]
Out[]=
In[]:=
Graphics3D[{cubn,cent3},BoxedFalse,ViewPoint{30,100,0},SphericalRegionTrue,ImageSize300]
Out[]=
In[]:=
Graphics3D[{cubn,cent3},BoxedFalse,ViewPoint{0,0,100},SphericalRegionTrue,ImageSize300]
Out[]=
In[]:=
Graphics3D[{cubn},BoxedFalse,ViewPoint{30,100,0},SphericalRegionTrue,ImageSize300]
Out[]=
In[]:=
Graphics3D[{cent3},BoxedFalse,ViewPoint{40,100,0},SphericalRegionTrue,ImageSize300]
Out[]=
In[]:=
​
In[]:=
n=4;​​dia=0.06;​​rpz=RevolutionPlot3D[{0,2Sin[x],2x},{x,0,Pi},MeshNone][[1]];​​rd=PolyhedronData["RhombicDodecahedron","Faces"];​​rdn=Rotate[rd,Pi/4,{0,0,1}];​​pz1=ParametricPlot3D[{Sin[u],-1+Cos[u],u},{u,0,2Pi},PlotStyle{Cyan,Tube[dia]}][[1]];​​pz2=ParametricPlot3D[{-Sin[u],-1+Cos[u],u},{u,0,2Pi},PlotStyle{Tube[dia]}][[1]];​​pz10=Table[Rotate[pz1,i2Pi/n,{0,0,1}],{i,4}];​​pz20=Table[Rotate[pz2,i2Pi/n+Pi,{0,0,1}],{i,4}];​​cent4=Scale[Translate[{pz10,pz20},{0,0,-Pi}],{0.57,0.57,0.37}];​​env4=Scale[Translate[{rpz},{0,0,-Pi}],{0.57,0.57,0.37}];​​Graphics3D[{rdn,cent4,env4},BoxedFalse,ViewPoint{30,100,0},SphericalRegionTrue,ImageSize300]
Out[]=
In[]:=
Graphics3D[{LightRed,rdn,cent4},BoxedFalse,ViewPoint{30,100,0},SphericalRegionTrue,ImageSize300]
Out[]=