Small Stellated Dodecahedron

Author

Eric W. Weisstein
October 12, 2023

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Polyhedra/SmallStellatedDodecahedron.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/SmallStellatedDodecahedron.html.

©2023 Wolfram Research, Inc. except for portions noted otherwise

Variants

PolyhedronData/@{"SmallStellatedDodecahedron",{"DodecahedronStellation",1}}

PolyhedronData["SmallStellatedDodecahedron","Orientations"]

PolyhedronData[{"SmallStellatedDodecahedron",#}]&/@%

UniformPolyhedron

uniform=UniformPolyhedron[stdname="SmallStellatedDodecahedron"]

PolyhedronFaceTally[uniform]

indices=UniformPolyhedronIndex[stdname]

UniformPolyhedron/@{
stdname,
Lookup[indices,"Wenninger"],
Sequence@@(List@@@Normal[indices]/."Maeder"->"Uniform")
}

SameQ@@%

Graphics3D/@(polys=Polygon[uniform[[1]],#]&/@uniform[[2]])

Graphics3D[#,Boxed->False]&/@{uniform,polys}

Bulatov

BulatovUniformName[UniformPolyhedronIndex[stdname,"Kaleido"]]

BulatovUniformGraphics3D[UniformPolyhedronIndex[stdname,"Kaleido"],Boxed->False]

bulatov=BulatovUniformPolyhedron[UniformPolyhedronIndex[stdname,"Kaleido"]]

Graphics3D/@(polys=Polygon[bulatov[[1]],#]&/@bulatov[[2]])

PolyhedronFaceTally[bulatov]

Graphics3D[#,Boxed->False]&/@{bulatov,polys}

Maeder

MaederUniformName[UniformPolyhedronIndex[stdname,"Maeder"]]

wythoff=MaederWythoffSymbol[UniformPolyhedronIndex[stdname,"Maeder"]]

With[{n=UniformPolyhedronIndex[stdname,"Maeder"]},Import["https://www.mathconsult.ch/static/unipoly/"<>If[n<10,"0",""]<>ToString[n]<>".html","Images"]][[1]]

maeder=MaederUniformPolyhedron[UniformPolyhedronIndex[stdname,"Maeder"]]

Graphics3D/@(polys=Polygon[maeder[[1]],#]&/@maeder[[2]])

PolyhedronFaceTally[maeder]

Graphics3D[#,Boxed->False]&/@{maeder,polys}

Properties: "SmallStellatedDodecahedron"

Initialization

<<MathWorld`Polyhedra`

p=PolyhedronData[pname="SmallStellatedDodecahedron","Polyhedron"]

AdjacentFaceIndices

adj1=PolyhedronData[pname,"AdjacentFaceIndices"]

adj2=AdjacentFaceIndices[p]

adj1===adj2

Centroid

PolyhedronData[pname,"Centroid"]

Circumsphere

sphere=PolyhedronData[pname,"Circumsphere"]

Circumsphere[p]

MyCircumsphere[N[p,50]]

%/.x_?InexactNumberQ:>FullSimplify@RootApproximant[x]

(sphere=MyCircumsphere[p]//FullSimplify)//Timing

FullSimplify[((5^(1/4))/(2 (Sqrt[GoldenRatio])))-(1/(Sqrt[2+(2/(Sqrt[5]))]))]

Graphics3D[{{Opacity[.2],Yellow,sphere},p},Boxed->False]

Classes

PolyhedronData[pname,"Classes"]

Compound

PolyhedronData[pname,"Compound"]

Concave

PolyhedronData[pname,"Concave"]

Convex

PolyhedronData[pname,"Convex"]

ConvexPolyhedronQ[p]//Timing

ConvexHull

convexhullname=PolyhedronData[pname,"ConvexHull","Name"]

PolyhedronData[pname,"ConvexHull","Scale"]

PolyhedronData[pname,"ConvexHull","RotationMatrix"]

Graphics3D[convexhull=PolyhedronData[pname,"ConvexHull","Polyhedron"]]

Counts[SimplifyNumericallyDistinct[PolyhedronEdgeLengths[convexhull]]]

Keys[%]//N

{
Graphics3D[{Red,Opacity[.5],p}],
Graphics3D[{Blue,Opacity[.5],convexhull}]
}

Show[%]

Construct using ConvexHullRegion

Graphics3D[convexhullreg=ConvexHullRegion[PolyhedronData[pname,"Vertices"]]]

v=PolyhedronCoordinates[convexhullreg]

Sort[(convexhullreg[[2]]/.i_Integer:>v[[i]])/.Thread[PolyhedronData[pname,"Vertices"]->Range[PolyhedronData[pname,"V"]]]]

Find scale

SimplifyNumericallyDistinct[PolyhedronEdgeLengths[convexhullreg]]//Tally//FullSimplify

((Max[Norm/@p[[1]]])/(Max[Norm/@PolyhedronData[convexhullname,"Polyhedron"][[1]]]))//FullSimplify//Quiet

Find rotation matrix

Graphics3D[{FaceForm[Green,Red],basesolid=PolyhedronData[convexhullname,"Polyhedron"],MapIndexed[Text[#2[[1]],#,Background->White]&,basev=basesolid[[1]]]}]

rot=RotationMatrix[{Mean[basev[[{11,12}]]],{0,0,1}}]//FullSimplify

{Graphics3D[{Polyhedron[newv=rot.#&/@basesolid[[1]],basesolid[[2]]],MapIndexed[Text[#2[[1]],#,Background->White]&,basesolid[[1]]]}],
Graphics3D[ConvexHullRegion[PolyhedronData[pname,"Vertices"]]]}

ArcTan@@(Most@Mean[newv[[{7,29}]]])//FullSimplify

rot2=RotationMatrix[Pi/2+2Pi/5,{0,0,1}].rot//FullSimplify

{Graphics3D[{Polyhedron[(rot2.#)&/@basesolid[[1]],basesolid[[2]]],MapIndexed[Text[#2[[1]],#,Background->White]&,basesolid[[1]]]}],
Graphics3D[ConvexHullRegion[PolyhedronData[pname,"Vertices"]]]}

ConvexHullOf

hullof=DeleteCases[Select[PolyhedronData[All],PolyhedronData[#,"ConvexHullName"]===pname&],pname]

GraphicsGrid[Partition[Graphics3D[{
{Green,Opacity[.7],PolyhedronData[#,"Polyhedron"]},
{Blue,Opacity[.2],PolyhedronData[#,"ConvexHull","Polyhedron"]}},Boxed->False,PlotLabel->Style[PolyhedronData[#,"Name"],Directive[14,Black,Italic,FontFamily->"Times"]]]&/@hullof,UpTo[3]],Dividers->All,ImageSize->800]

DehnInvariant

PolyhedronData[pname,"DehnInvariant"]

(dehn=DehnInvariant[p,Debug->True]//FullSimplify)//Timing

ToConwayBasis[dehn]

Complement[Select[PolyhedronData[All],PolyhedronData[#,"DehnInvariant"]==dehn&&PolyhedronData[#,"Volume"]==vol&],{pname}]

DihedralAngles

(dih1=PolyhedronData[pname,"DihedralAngles"])//Tally

(dih2=SimplifyNumericallyDistinct[DihedralAngles[p]])//Tally

dih1===dih2

Dual

pname

dname=PolyhedronData[pname,"Dual","Name"]

PolyhedronData[pname,"Dual","Scale"]

midrs={PolyhedronData[pname,"Midradius"],PolyhedronData[dname,"Midradius"]}

Divide@@midrs//FullSimplify

N[%]

GraphicsRow[With[{
s={Yellow,PolyhedronData[pname,"Midsphere"]},
style=Directive[Black,Italic,FontFamily->"Times",14]
},
{
Graphics3D[{s,Green,Opacity[.5],PolyhedronData[pname,"Polyhedron"]},Boxed->False,PlotLabel->TextCell[Style[PolyhedronData[pname,"Name"],style],PageWidth->200,TextAlignment->Center]],
Graphics3D[{s,Red,Opacity[.5],PolyhedronData[pname,"Dual","Polyhedron"]},Boxed->False,PlotLabel->Style[PolyhedronData[dname,"Name"],style]],
Graphics3D[{
{Green,Opacity[.5],PolyhedronData[pname,"Polyhedron"]},
{Red,Opacity[.5],PolyhedronData[pname,"Dual","Polyhedron"]},
s
},Boxed->False,PlotLabel->Style["compound with midsphere",style]],
Graphics3D[{
PolyhedronData[pname,"Polyhedron"],
PolyhedronData[pname,"Dual","Polyhedron"]
},Boxed->False,PlotLabel->Style["compound",style]]
}],Alignment->Top,ImageSize->800]

EdgeCount

PolyhedronData[pname,"EdgeCount"]

EdgeLengths

Tally[lens=SimplifyNumericallyDistinct[PolyhedronEdgeLengths[p],"Simplification"->RootReduce]//FullSimplify]//Timing

PolyhedronData[pname,"EdgeLengths"]

PolyhedronData[pname,"Lines"]/.Line[l_]:>EuclideanDistance@@l//FullSimplify//Union//Quiet

(distinctlens=Mean/@Split[Sort[lens],Abs[#1-#2]<1.*^-10&])//N//Quiet

v=p[[1]];

colors=With[{n=Length[distinctlens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[distinctlens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[p],Boxed->False]//Quiet

FaceCount

PolyhedronData[pname,"FaceCount"]

GeneralizedDiameter

PolyhedronData[pname,"GeneralizedDiameter"]

GeneralizedDiameter[p]//FullSimplify//Quiet

Hull

hullname=PolyhedronData[pname,"Hull","Name"]

PolyhedronData[pname,"Hull","Scale"]

((Max[Norm/@p[[1]]])/(Max[Norm/@PolyhedronData[hullname,"Polyhedron"][[1]]]))//FullSimplify//Quiet

PolyhedronData[pname,"Hull"]

Max[Norm/@PolyhedronData[pname,"Hull","Polyhedron"][[1]]]

Max[Norm/@p[[1]]]

{Graphics3D[{Opacity[.5],Red,p}],Graphics3D[{Opacity[.5],Blue,PolyhedronData[pname,"Hull"][[1]]}]}

Show[%]

Find rotation matrix

Graphics3D[{FaceForm[Green,Red],basesolid=PolyhedronData[hullname,"Polyhedron"],MapIndexed[Text[#2[[1]],#,Background->White]&,basev=basesolid[[1]]]}]

rot=RotationMatrix[{Mean[basev[[{11,12}]]],{0,0,1}}]//FullSimplify

{Graphics3D[{Polyhedron[newv=rot.#&/@basesolid[[1]],basesolid[[2]]],MapIndexed[Text[#2[[1]],#,Background->White]&,basesolid[[1]]]}],
Graphics3D[ConvexHullRegion[PolyhedronData[pname,"Vertices"]]]}

ArcTan@@(Most@Mean[newv[[{7,29}]]])//FullSimplify

rot2=RotationMatrix[Pi/2+2Pi/5,{0,0,1}].rot//FullSimplify

{Graphics3D[{Polyhedron[(rot2.#)&/@basesolid[[1]],basesolid[[2]]],MapIndexed[Text[#2[[1]],#,Background->White]&,basesolid[[1]]]}],
Graphics3D[ConvexHullRegion[PolyhedronData[pname,"Vertices"]]]}

HullOf

Select[PolyhedronData[All],PolyhedronData[#,"HullName"]===pname&]

Select[PolyhedronData[All],PolyhedronData[#,"HullName"]===hullname&]

InertiaTensor

PolyhedronData[pname,"InertiaTensor"]

Insphere

sphere=PolyhedronData[pname,"Insphere"]

Insphere[p]

MyInsphere[N[p,50]]

%/.x_?InexactNumberQ:>FullSimplify@RootApproximant[x]

sphere=MyInsphere[p]

Graphics3D[{{Opacity[.5],p},{Red,sphere}},Boxed->False]

MeanCylindricalRadius

PolyhedronData[pname,"MeanCylindricalRadius"]

MeanSquareCylindricalRadius

PolyhedronData[pname,"MeanSquareCylindricalRadius"]

MeanSphericalRadius

PolyhedronData[pname,"MeanSphericalRadius"]

MeanSquareSphericalRadius

PolyhedronData[pname,"MeanSquareSphericalRadius"]

Midsphere

sphere=PolyhedronData[pname,"Midsphere"]

Midsphere[N[p,50]]

%/.x_?InexactNumberQ:>FullSimplify@RootApproximant[x]

(sphere=Midsphere[p])//Timing

(sphere=Midsphere[p,Method->"PointLineDistance"])//Timing

Graphics3D[{{Opacity[.5],Yellow,p},{Red,sphere}},Boxed->False]

Net

PolyhedronData[pname,"Net"]

NotationRules

PolyhedronData[pname,"NotationRules"]

Orientations

PolyhedronData[pname,"Orientations"]

PolyhedronData[pname,"DefaultOrientation"]

Show[PolyhedronData[{pname,#}],Boxed->False]&/@PolyhedronData[pname,"Orientations"]

Polygons

PolyhedronData[pname,"FaceCount"]

PolyhedronFaceTally[p]

Graphics3D/@PolyhedronData[pname,"Polygons"]

Show[%]

Polyhedra

polyhedra=PolyhedronData[pname,"Polyhedra"]

Length[polyhedra]

Graphics3D[polyhedra]

Graphics3D[Table[{Hue[(i/(Length[polyhedra]))],polyhedra[[i]]},{i,Length[polyhedra]}]]

PolyhedronData[pname,"PolyhedronIndices"]

Region

PolyhedronData[pname,"Region"]

RegionFunction

PolyhedronData[pname,"RegionFunction"]

Simple

PolyhedronData[pname,"Simple"]

SimplePolyhedronQ[p]//Timing

Skeleton

PolyhedronData[pname,"Skeleton"]

gn=PolyhedronData[pname,"Skeleton","Name"]

GraphData[gn]

emb=GraphData[gn,"PolyhedralEmbeddings"]

pname

GraphData[gn,"Graph",{"3D","All"}]

g=PolyhedronGraph[p]

SurfaceArea

PolyhedronData[pname,"SurfaceArea"]

PolyhedronData[pname,"F"]

PolyhedronFaceTally[p]

12 times area of tips of a pentagon with tip-to-top length == 1

(12)( (5/4) (Sqrt[85-38 (Sqrt[5])]))

bug(370597): Area[pentagram] is wrong/inconsistent/inexact for pentagrams in 2D, 3D

SurfaceArea[p]//ToAlgebraicRoot//FullSimplify

N[%]

Total[Area/@(PolyhedronData[pname,"Polygons"]/.Polygon[v_]:>WindingPolygon[v,"EvenOddRule"])]

Total[Area/@(PolyhedronData[pname,"Polygons"]/.Polygon[v_]:>WindingPolygon[v,"NonzeroRule"])]

Uniform

PolyhedronData[pname,"Uniform"]

VertexCount

PolyhedronData[pname,"VertexCount"]

VertexSubsetHulls

subsethulls=PolyhedronData[pname,"VertexSubsetHulls"]

v=PolyhedronData[pname,"Vertices"];

Rule[#,Length[#2]]&@@@subsethulls

Rule[#,Graphics3D[Function[f,ConvexHullRegion[v[[f]]]]/@#2]]&@@@subsethulls

subsethulls2=Flatten[Function[{pn,l},Rule[pn,#]&/@l]@@@subsethulls]

Rule[#,Graphics3D[{{Opacity[.3],{Green,p}},Blue,ConvexHullRegion[v[[#2]]]}]]&@@@subsethulls2

Convex hull

Graphics3D[convexhullreg=ConvexHullRegion[v=PolyhedronData[pname,"Vertices"]]]

v=PolyhedronCoordinates[convexhullreg]

Flatten[(convexhullreg[[2]]/.i_Integer:>v[[i]])/.Thread[PolyhedronData[pname,"Vertices"]->Range[PolyhedronData[pname,"V"]]]]//Union

%===Range@Length@v

PolyhedronData[pname,"ConvexHull","Name"]

Platonic

(h=VertexSubsetHulls[p,"Platonic","Skip"->{}])//Timing

Volume

PolyhedronData[pname,"Volume"]

Volume[p]//FullSimplify

PolyhedronVolume[p]//FullSimplify

Volume[PolyhedronData[pname,"Region"]]//FullSimplify

Volume[ImplicitRegion[Evaluate@PolyhedronData[pname,"RegionFunction"][x,y,z],{x,y,z}]]//FullSimplify

WythoffSymbol

PolyhedronData[pname,"WythoffSymbol"]

Properties: {"DodecahedronStellation", 1}

non-convex hull

p=PolyhedronData[{"DodecahedronStellation",1},"Polyhedron"]

Centroid

xbar1=RegionCentroid[p];//Quiet//Timing

xbar2=PolyhedronCentroid[p,vol];//Timing

N/@{xbar1,xbar2}//Chop

ByteCount/@{xbar1,xbar2}

xbar2

Circumsphere

PolyhedronData[{"DodecahedronStellation",1},"Circumsphere"]

SimplifyNumericallyDistinct[Norm/@PolyhedronData[{"IcosahedronStellation",11},"VertexCoordinates"]]//Union

EdgeLengths

PolyhedronData[{"DodecahedronStellation",1},"EdgeLengths"]

Faces

GeneralizedDiameter

PolyhedronData[{"DodecahedronStellation",1},"GeneralizedDiameter"]

GeneralizedDiameter[p]//FullSimplify//Quiet

FullSimplify[%]

ToRadicals[%]

FullSimplify[%]

InertiaTensor

PolyhedronData[{"DodecahedronStellation",1},"InertiaTensor"]

N[%]

MomentOfInertia[p//N,{0,0,0}]/vol//Chop

PolyhedronInertiaTensor[p//N,vol]//Chop

i1=MomentOfInertia[p,{0,0,0}]/vol;//Timing

N[i1]//Chop

FullSimplify[RootReduce[i1]]//Timing

i2=PolyhedronInertiaTensor[p,vol];//Timing

i2

N[i2]

Net

PolyhedronData[{"DodecahedronStellation",1},"Net"]

RegionFunction

reg=PolyhedronData[{"DodecahedronStellation",1},"RegionFunction"];

bounds=PolyhedronData[{"DodecahedronStellation",1},"CoordinateBounds"]

N[%]

RegionBounds[ImplicitRegion[Evaluate[N[reg[x,y,z]]],{x,y,z}]]

ranges=Flatten/@Transpose[{{x,y,z},bounds}]

{RegionPlot3D[Evaluate[N[reg[x,y,z]]],Evaluate[Sequence@@ranges],BoxRatios->Automatic,PlotPoints->40],Show[PolyhedronData[{"DodecahedronStellation",1}],Axes->True]}

Show[%]

Length[v=PolyhedronData[{"DodecahedronStellation",1},"VertexCoordinates"]]

Graphics3D[{PolyhedronData[{"DodecahedronStellation",1},"Polyhedron"],MapIndexed[Text[#2[[1]],#,Background->White]&,v]}]

faces=PolyhedronData[{"DodecahedronStellation",1},"FaceIndices"]

R=Max[Norm/@v]//FullSimplify

tips=Position[v,_?(Abs[Norm[#]-R]<.01&),{1}]//Flatten

pyramids=Join[{Reverse[DeleteDuplicates[DeleteCases[Flatten[#2],#1]]]},#2]&@@@(Function[v,{v,Select[faces,!FreeQ[#,v]&]}]/@tips)

<<MathWorld`PolyhedronOperations`

spikeineq=Or@@((And@@PolyhedronInequalities[Polygon/@#,{x,y,z}])&/@(pyramids/.i_Integer:>v[[i]]))

ByteCount[spikeineq]

ByteCount[spikeineqsimp=FullSimplify/@spikeineq]//Timing

spikeineqsimp

(spike1=FullSimplify[spikeineq[[1]]])//Timing

spike1=5 (2+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))]) (2 x-z)≤0&&10+5 (Sqrt[5])+2 (Sqrt[5 (5+2 (Sqrt[5]))]) x+(Sqrt[10 (5+(Sqrt[5]))]) z≥10 y&&10+5 (Sqrt[5])+2 (Sqrt[5 (5+2 (Sqrt[5]))]) x+10 y+(Sqrt[10 (5+(Sqrt[5]))]) z≥0&&(Sqrt[50-10 (Sqrt[5])]) x+4 (Sqrt[5 (5+2 (Sqrt[5]))]) z≤35+15 (Sqrt[5])+(Sqrt[250+110 (Sqrt[5])]) x+10 (3+(Sqrt[5])) y&&4 (Sqrt[5+2 (Sqrt[5])]) z≤7+3 (Sqrt[5])&&10 (3+(Sqrt[5])) y+4 (Sqrt[5 (5+2 (Sqrt[5]))]) z≤35+15 (Sqrt[5])+2 (Sqrt[10 (5+(Sqrt[5]))]) x;

(vspikes=RootReduce[Length[tips]Volume[ImplicitRegion[spike1,{x,y,z}]]])//Timing

Total[Volume[Polyhedron[v,#]]&/@pyramids]//RootReduce

dodecineq=FullSimplify[And@@PolyhedronInequalities[Polygon[Reverse[#]]&/@pyramids[[All,1]]/.i_Integer:>v[[i]],{x,y,z}]]

dodecineq=5 (2+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))]) (2 x-z)≥0&&-5 (2+(Sqrt[5]))≤2 (Sqrt[5 (5+2 (Sqrt[5]))]) x+10 y+(Sqrt[10 (5+(Sqrt[5]))]) z≤5 (2+(Sqrt[5]))&&10+5 (Sqrt[5])+2 (Sqrt[5 (5+2 (Sqrt[5]))]) x+(Sqrt[10 (5+(Sqrt[5]))]) z≥10 y&&-5 (2+(Sqrt[5]))≤(Sqrt[50-10 (Sqrt[5])]) x+5 (1+(Sqrt[5])) y-(Sqrt[10 (5+(Sqrt[5]))]) z≤5 (2+(Sqrt[5]))&&-5 (2+(Sqrt[5]))≤(Sqrt[50-10 (Sqrt[5])]) x-5 (1+(Sqrt[5])) y-(Sqrt[10 (5+(Sqrt[5]))]) z≤5 (2+(Sqrt[5]))&&(Sqrt[(5/8)+(11/(8 (Sqrt[5])))])+z≥0&&(Sqrt[10 (5+(Sqrt[5]))]) z≤5+2 (Sqrt[5])&&2 (Sqrt[5 (5+2 (Sqrt[5]))]) x+(Sqrt[10 (5+(Sqrt[5]))]) z≤5 (2+(Sqrt[5])+2 y)&&5 (2+(Sqrt[5]))+(Sqrt[50-10 (Sqrt[5])]) x+(Sqrt[10 (5+(Sqrt[5]))]) z≥(Sqrt[250+110 (Sqrt[5])]) x;

bounds2=RegionBounds[ImplicitRegion[Evaluate[N[dodecineq]],{x,y,z}]]

ranges2=Flatten/@Transpose[{{x,y,z},.1{-1,1}+#&/@bounds2}]

RegionPlot3D[Evaluate[N[dodecineq]],Evaluate[Sequence@@ranges2],BoxRatios->Automatic,PlotPoints->40]

(vdodec=RootReduce[Volume[ImplicitRegion[dodec,{x,y,z}]]])//Timing

Volume[Polyhedron[v,Reverse/@pyramids[[All,1]]]]//RootReduce

FullSimplify[vspikes+vdodec]

PolyhedronData[{"DodecahedronStellation",1},"Volume"]

reg=spikeineqsimp||dodecineq

reg=FullSimplify[spikeineqsimp||dodecineq]

Simple

SimplePolyhedronQ[PolyhedronData[{"DodecahedronStellation",1},"Polyhedron"]]

Skeleton

g=PolyhedronData[{"DodecahedronStellation",1},"Skeleton"]

r=RecognizeGraph[g]

GraphData[r,"Graph","All"]

SurfaceArea

PolyhedronData[{"DodecahedronStellation",1},"SurfaceArea"]

SurfaceArea[p]//RootReduce//FullSimplify

Volume

vol=PolyhedronData[{"DodecahedronStellation",1},"Volume"]

N[%]

Volume[p]//FullSimplify//Timing

PolyhedronVolume[p,Method->"GaussLaw"]//RootReduce//FullSimplify//Timing

Vertex Subset Hulls

Convex Hull

solid=Polyhedron[SmallStellatedDodecahedron][[1]];
hull=ConvexHull3D[PolyhedronVertices[solid]];
WriteLiveForm["smsdohul.m",
Show[Graphics3D[{
solid,
Thickness[.01],SpiderWeb/@hull
},Boxed->False]]
]

Show[GraphicsArray[{
Graphics3D[{
solid,
Thickness[.01],SpiderWeb/@hull
},Boxed->False],
Graphics3D[hull,Boxed->False]
}],GraphicsSpacing->{-.2,0}]

Intersecting

p="SmallStellatedDodecahedron";
v=PolyhedronData[p,"VertexCoordinates"];

(h=VertexSubsetHulls[p,"Platonic","Skip"->{}])//Timing

Split

p={"SmallStellatedDodecahedron","Split"};
v=PolyhedronData[p,"VertexCoordinates"];

s=FullSimplify[SymbolicUnion[Norm/@v]]

Icosahedron

VertexSubsetHulls[p,"Icosahedron"]//Timing

v2=Position[v,_?(N[Norm[#]]==s[[2]]&),1]//Flatten

Graphics3D[{PolyhedronData[{"SmallStellatedDodecahedron","Split"},"Faces"],PointSize[.05],Point[v[[v2]]]},Boxed->False]

Graphics3D[ch2=ConvexHull3D[v[[v2]]],Boxed->False]

PolyhedronEdgeLengths[ch2]//FullSimplify

g2=Show[Graphics3D[{{Blue,Opacity[.7],ConvexHull3D[v[[v2]]]},Green,EdgeForm[],PolyhedronData[{"GreatDodecahedron","Split"},"Faces"]},Boxed->False],PlotLabel->r==s[[2]]]

(h=VertexSubsetHulls[p,"Platonic"])//Timing

Platonic

(h=VertexSubsetHulls[p,"Platonic"])//Timing

h2=Insert[h,"Icosahedron"->{{1,2,3,8,11,16,17,22,25,30,31,32}},-2]

g=Function[poly,Graphics3D[{
{Gray,Opacity[.2],EdgeForm[],PolyhedronData[p,"Faces"]},ConvexHull3D[N[PolyhedronData[p,"VertexCoordinates"]][[#]]]&/@poly},Boxed->False]]/@h[[All,2]]

GraphicsGrid[{g},Spacings->-100]

Net Construction

wedges=Prepend[#,{0,0}]&/@Partition[Through[{Cos,Sin}[2π #/10]]&/@Range[0,5],2,1];
wedge[n_,xy_]:=Module[{θ=n π/5},Map[#+xy&,Map[{{Cos[θ],-Sin[θ]},{Sin[θ],Cos[θ]}}.#&,wedges,{2}],{2}]
]

FullSimplify[Norm[Mean[{{1,0},Through[{Cos,Sin}[2π /10]]}]]]

{Root[5-20 ((#1)^2)+16 ((#1)^4)&,2],(1/4) (1+(Sqrt[5]))}//N

Quit

2(Sqrt[(5/8)+((Sqrt[5])/8)])-Root[5-20 ((#1)^2)+16 ((#1)^4)&,2]//N

-4Root[5-20 ((#1)^2)+16 ((#1)^4)&,2]+2(Sqrt[(5/8)+((Sqrt[5])/8)])//N

4.5(Sqrt[(5/8)+((Sqrt[5])/8)])

With[{s=(Sqrt[(5/8)+((Sqrt[5])/8)]),x=-Root[5-20 ((#1)^2)+16 ((#1)^4)&,2],y=-((1/4) (1+(Sqrt[5]))+1)},Show[Graphics[Map[{{Yellow,Polygon[#]},ClosedLine[#]}&,polys=(wedge@@@{
{-3/2,0},{7/2,{2s,0}},{7/2,{2s+2x,0}},{7/2,{2s+4x,0}},{7/2,{2s+6x,0}},{7/2,{2s+8x,0}},
{-3/2,{x,y}},{3/2,{2s+x,y}},{3/2,{2s+3x,y}},{3/2,{2s+5x,y}},{3/2,{2s+7x,y}},{3/2,{2s+9x,y}}
}),{2}]],AspectRatio->Automatic]
]

v=Union[Flatten[wedge[-3/2,0],1]];

Show[Graphics[{Point/@v,MapIndexed[Text[#2[[1]],#1+.1]&,v]}],AspectRatio->Automatic]

FullSimplify[v [[5]]-v[[1]]]

FullSimplify[v [[1]]-v[[3]]]

polys2=FullSimplify[RootReduce[polys]];
v=Union[Flatten[polys2,2]];

Length[v]

polys2/.Thread[v->Range[Length[v]]]

v

Construction: {"SmallStellatedDodecahedron", "C3"}

PolyhedronData["SmallStellatedDodecahedron"]

Length[pentagons=Select[KSubsets[PolyhedronVertices[Icosahedron],5],CoplanarQ]]//Timing

pentagons2=First/@Convexify/@Polygon/@pentagons;
pentagrams=Polygon/@(First/@Partition[Join[#,#],2]&/@pentagons2);

Show[Graphics3D[pentagrams],Boxed->False]

poly=pentagrams;
(v=PolyhedronVertices[poly])//InputForm
First/@poly/.Thread[v->Range[Length[v]]]

Construction: {"SmallStellatedDodecahedron", "C5"}

Graphics3D[{MapIndexed[Text[#2[[1]],#,Background->White]&,v=PolyhedronData["SmallStellatedDodecahedron","VertexCoordinates"]],PolyhedronData["SmallStellatedDodecahedron","GraphicsComplex"]}]

m=RotationMatrix[{v[[1]],{0,0,1}}]//FullSimplify

v2=RotationMatrix[π/5,{0,0,1}].#&/@(m.#&/@v)//FullSimplify

Graphics3D[p=Polyhedron[v2,PolyhedronData["SmallStellatedDodecahedron","FaceIndices"]]]

PolyhedronData[{"DodecahedronStellation",1}]

Construction: {"DodecahedronStellation", 1}

Show[Graphics3D[p=Cumulate[Polyhedron[Dodecahedron],Sqrt[(5+2Sqrt[5])/5]],Boxed->False]]

poly=Map[ToExact,Flatten[p],{2}];
(v=PolyhedronVertices[poly])//InputForm
First/@poly/.Thread[v->Range[Length[v]]]