Icosahedron Towers
Icosahedron Towers
Icosahedron Towers - Wolfram Demonstrations Project
Icosahedra are sequentially attached at their vertices. Each icosahedron is smaller than the last in proportion to the golden ratio. Such a tower is placed at each of the 12 vertices of an icosahedron. The assembly fits inside a medial triambic icosahedron, which is one of the stellations of the icosahedron.
Icosahedra are sequentially attached at their vertices. Each icosahedron is smaller than the last in proportion to the golden ratio. Such a tower is placed at each of the 12 vertices of an icosahedron. The assembly fits inside a medial triambic icosahedron, which is one of the stellations of the icosahedron.
In[]:=
Manipulate[ϕ=GoldenRatio;α=ArcTan[ϕ];α1=ArcTan[ϕ^2];β=ArcTan[1/ϕ];β1=ArcTan[1/ϕ^2];r=N[Sqrt[0.5^2+(ϕ/2)^2]];v7={-((1+Sqrt[5])/(2*Sqrt[10-2*Sqrt[5]])),-(1/2),1/Sqrt[10-2*Sqrt[5]]};v8={-((1+Sqrt[5])/(2*Sqrt[10-2*Sqrt[5]])),1/2,1/Sqrt[10-2*Sqrt[5]]};h=N[Sum[ϕ^2*(r/ϕ^n),{n,1,1000}]];s1=Polygon[{v7,v8,{0,0,0.998*h}}];s5=Table[Rotate[s1,i*2*(Pi/5),{0,0,1}],{i,5}];ico=GraphicsComplex[PolyhedronData["Icosahedron","VertexCoordinates"],Polygon[PolyhedronData["Icosahedron","FaceIndices"]]];icoedge=Scale[GraphicsComplex[PolyhedronData["Icosahedron","VertexCoordinates"],Line[PolyhedronData["Icosahedron","EdgeIndices"]]],Sum[ϕ^2*(r/ϕ^n),{n,1,fr}]*{1,1,1},{0,0,0}];icov=Table[Rotate[Translate[Scale[ico,(1/ϕ^i)*{1,1,1},{0,0,0}],Sum[ϕ^2*(r/ϕ^n),{n,1,i}]*{0,0,1}],0*i*(Pi/5),{0,0,1}],{i,fr}];icot=Table[Rotate[Translate[Scale[ico,(1/ϕ^i)*{1,1,1},{0,0,0}],Sum[ϕ^2*(r/ϕ^n),{n,1,i}]*{0,0,1}],Pi/5,{0,0,1}],{i,fr}];icot5=Table[Rotate[Rotate[{icot},2*β,{0,1,0}],i*2*(Pi/5),{0,0,1}],{i,5}];s55=Table[Rotate[Rotate[Rotate[{s5},Pi,{0,0,1}],2*β,{0,1,0}],i*2*(Pi/5),{0,0,1}],{i,5}];bottom=Rotate[{icov,icot5},Pi,{0,1,0}];cover=Rotate[{s5,s55},Pi,{0,1,0}];Graphics3D[{{Yellow,cover},If[so,{Opacity[op],Green,s55,s1},{}],{Yellow,ico},icov,icot5,bottom},Boxed->False,SphericalRegion->True,ViewPoint->{6,-10,2},ViewAngle->Pi/35,ImageSize->380],{{fr,6,"frequency"},1,8,1,ControlType->RadioButton},{{so,True,"show cover"},{True,False}},{{op,0.5,"opacity"},0,1},TrackedSymbols->Manipulate,ControllerLinking->True]
Out[]=

