Converting polyhedra to sphere

A couple of examples are shown about how to manipulate vertices of of polyhedra to obtain a segmented sphere.
In[]:=
Manipulate[​​v=PolyhedronData[poly,"VertexCoordinates"];pol=GraphicsComplex[PolyhedronData[poly,"VertexCoordinates"],Polygon[PolyhedronData[poly,"FaceIndices"]]];no={White,MapIndexed[Text[#2[[1]],#1,Background->GrayLevel[0.1]]&,v]};​​Graphics3D[{{Opacity[0.5],pol},no},SphericalRegion->True,Boxed->False],​​​​{{poly,"RhombicTriacontahedron","polyhedron"},(#1PolyhedronData[#1,"Name"]&)/@PolyhedronData[All]},TrackedSymbolsTrue]
Out[]=
​
polyhedron
rhombic triacontahedron
A spherical segment is made on the basis of RT coordinates
In[]:=
rt=PolyhedronData["RhombicTriacontahedron","Faces"];​​d1=SphericalPlot3DNorm[v〚2〛],{θ,0,VectorAngle[v〚2〛,v〚5〛]},ϕ,0,
2π
5
,BoundaryStyleBlack,RegionFunction({#1,#2,#3}.(v〚2〛-v〚8〛)>0&),MaxRecursion0,PlotPoints10,Mesh->None1;​​Graphics3D[{d1,Cyan,rt},BoxedFalse,SphericalRegionTrue,ImageSize200,ViewPoint{100,10,50}]
Out[]=
If the PlotPoint is changed from 10 to 2, then a flat triangle is obtained, which can be considered as a face of the pentakis dodecahedron
In[]:=
d1=SphericalPlot3DNorm[v〚2〛],{θ,0,VectorAngle[v〚2〛,v〚5〛]},ϕ,0,
2π
5
,BoundaryStyleBlack,RegionFunction({#1,#2,#3}.(v〚2〛-v〚8〛)>0&),PlotPoints2,MaxRecursion0,Mesh->None1;​​Graphics3D[{d1,Cyan,rt},BoxedFalse,SphericalRegionTrue,ImageSize200,ViewPoint{100,10,50}]
Out[]=
In[]:=
Manipulate​​v=PolyhedronData["RhombicTriacontahedron","VertexCoordinates"];​​d1=SphericalPlot3DNorm[v〚2〛],{θ,0,VectorAngle[v〚2〛,v〚5〛]},ϕ,0,
2π
5
,BoundaryStyleBlack,RegionFunction({#1,#2,#3}.(v〚2〛-v〚8〛)>0&),MaxRecursion0,PlotPointsconv,MeshNone,PlotStyleFaceForm[Yellow,Blue]1;d2=TableRotated1,
i2π
5
,{0,0,1},{i,5};​​d3=TableRotateRotated2,
4π
6
,v5,
i2π
5
,{0,0,1},{i,5};​​d3=Table[Rotate[Rotate[Rotate[d2,Pi,{0,0,1}],-2ArcTan[0.618],{0,1,0}],i2Pi/5,{0,0,1}],{i,5}];​​​​d4=Rotate[{d2,d3},π,{0,1,0}];​​​​Graphics3D[{d4,Translate[d2,{0,0,sep}],Translate[d3,{0,0,sep/2}]},BoxedFalse,SphericalRegionTrue,ImageSize300],​​{{conv,2,"convert to sphere"},{2"pentakis dodecahedron",10"sphere"}},​​{{sep,0,"separate"},0,1},​​TrackedSymbolsTrue
Out[]=
​
convert to sphere
pentakis dodecahedron
sphere
separate
Applying the same procedure for icosahedron
In[]:=
Manipulate​​v=PolyhedronData["Icosahedron","VertexCoordinates"];h1a=SphericalPlot3DNorm[v〚2〛],{θ,0,VectorAngle[v〚2〛,v〚4〛]},ϕ,0,
2π
5
,RegionFunction({#1,#2,#3}.v〚4〛v〚12〛>0&),MaxRecursion0,PlotPointsconv,MeshNone,BoundaryStyleBlack,PlotStyleFaceForm[Green,Pink]1;​​h1=Translate[h1a,dis{1,1,1}];​​h1=Translate[h1a,disMean[v〚{2,4,12}〛]];​​h2=Rotateh1,-
1
5
(2π),v4;h3=TranslateRotate{h1,h2},
2π#1
5
,{0,0,1}&/@Range[5],{0,0,sep};h4={Rotate[h3,π,{0,1,0}]};​​​​Graphics3D[{h3,h4},BoxedFalse,SphericalRegionTrue,ImageSize300],​​{{conv,6,""},{2"icosahedron",20"sphere"}},​​{{dis,0,"invert"},-3,0},​​{{sep,0,"separate halves"},0,0.5},TrackedSymbolsTrue
Out[]=
​
icosahedron
sphere
invert
separate halves