Great Stellated Dodecahedron

Author

Eric W. Weisstein
October 12, 2023

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

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

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

Variants

PolyhedronData/@{"GreatStellatedDodecahedron",{"DodecahedronStellation",3}}

UniformPolyhedron

uniform=UniformPolyhedron[stdname="GreatStellatedDodecahedron"]

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: "GreatStellatedDodecahedron" [intersecting pentagrammic faces]

Kepler-Poinsot (intersecting pentagrammic faces)

Initialization

<<MathWorld`Polyhedra`

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

Circumsphere

sphere=PolyhedronData[pname,"Circumsphere"]

Circumsphere[p]

MyCircumsphere[N[p,50]]

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

(sphere=MyCircumsphere[p])//Timing

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

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"]]]}

Dual

pname

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

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

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

Divide@@midrs//FullSimplify

FunctionExpand[%]//FullSimplify

N[%]

1./GoldenRatio

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["GreatStellatedDodecahedron","GeneralizedDiameter"]

FullSimplify[%]

N[%]

GeneralizedDiameter[p]//FullSimplify//Quiet

N[%]

Hull

((Max[Norm/@PolyhedronData["GreatStellatedDodecahedron","VertexCoordinates"]])/(Max[Norm/@PolyhedronData[{"DodecahedronStellation",3},"VertexCoordinates"]]))//FullSimplify

PolyhedronData["GreatStellatedDodecahedron","Hull",#]&/@{"Name","Scale"}

With[{p="GreatStellatedDodecahedron"},{
Graphics3D[{Red,PolyhedronData[p,"Polyhedron"]},Axes->True],
Graphics3D[{Green,PolyhedronData[p,"Hull","Polyhedron"]},Axes->True]
}]

Graphics3D[{Opacity[.5],First/@%}]

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]

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["GreatStellatedDodecahedron","Net"]

Polygons

PolyhedronFaceTally[p]

Graphics3D/@PolyhedronData["GreatStellatedDodecahedron","Polygons"]

RegionFunction

reg=PolyhedronData["GreatStellatedDodecahedron","RegionFunction"]

Simple

PolyhedronData[pname,"Simple"]

SimplePolyhedronQ[p]//Timing

PolyhedronGenus[p]

bug(388451): SimplePolyhedronQ incorrectly returns True for PolyhedronData["GreatStellatedDodecahedron", "Polyhedron"] and "SmallStellatedDodecahedron"

Skeleton

PolyhedronData["GreatStellatedDodecahedron","Skeleton"]

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])]))

N[%]

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

SurfaceArea[p]//ToAlgebraicRoot//FullSimplify

Total[Area/@PolyhedronData[pname,"Polygons"]]//ToAlgebraicRoot//FullSimplify

N[%]

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

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

VertexSubsetHulls

subsethulls=PolyhedronData[pname,"VertexSubsetHulls"]

v=PolyhedronData[pname,"Vertices"];

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

Rule[#,Graphics3D[ConvexHullRegion[v[[#]]]&/@Lookup[subsethulls,#]]]&/@subsethulls[[All,1]]

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

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

Platonic

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

Volume

The volume isn't necessarily well defined since the faces intersect only another and it is only the complete collection of them that enclose a volume (which has bits of the faces inside it)

PolyhedronData["GreatStellatedDodecahedron","Volume"]

Properties: {"DodecahedronStellation", 3} [hull]

non-convex hull

Initialization

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

Centroid

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

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

N/@{xbar1,xbar2}//Chop

ByteCount/@{xbar1,xbar2}

xbar2

Circumsphere

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

SimplifyNumericallyDistinct[Norm/@PolyhedronData[{"DodecahedronStellation",3},"VertexCoordinates"]]//Union

EdgeLengths

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

PolyhedronData[{"DodecahedronStellation",3},"Lines"]/.Line[x_]:>EuclideanDistance@@x//FullSimplify//Union

Faces

GeneralizedDiameter

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

GeneralizedDiameter[p]//FullSimplify//Quiet

InertiaTensor

PolyhedronData[{"DodecahedronStellation",3},"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",3},"Net"]

Polygons

PolyhedronFaceTally[p]

Graphics3D/@PolyhedronData[{"DodecahedronStellation",3},"Polygons"]

RegionFunction

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

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

N[%]

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

MinMax/@Transpose[PolyhedronData[{"DodecahedronStellation",3},"VertexCoordinates"]]

ranges=Flatten/@Transpose[{{x,y,z},0{-1,1}+#&/@bounds}]

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

Show[%]

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

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

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

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

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

Length[tips]

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

<<MathWorld`PolyhedronOperations`

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

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

spikeineqsimp

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

spike1=(Sqrt[5+2 (Sqrt[5])])+4 x+(Sqrt[5]) z≤3 z&&2 (Sqrt[10+4 (Sqrt[5])]) y≤(Sqrt[10+4 (Sqrt[5])])+2 (Sqrt[2]) x+2 (Sqrt[3+(Sqrt[5])]) z&&(Sqrt[10+4 (Sqrt[5])])+2 (Sqrt[2]) x+2 (Sqrt[10+4 (Sqrt[5])]) y+2 (Sqrt[3+(Sqrt[5])]) z≥0&&2 (Sqrt[5 (3+(Sqrt[5]))]) z≤(Sqrt[10+4 (Sqrt[5])]);

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

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

bounds1=RegionBounds[ImplicitRegion[Evaluate[N[spikeineq]],{x,y,z}]]

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

RegionPlot3D[Evaluate[N[spikeineq]],Evaluate[Sequence@@ranges1],BoxRatios->Automatic,PlotPoints->40]

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

icosineq=-(Sqrt[5+2 (Sqrt[5])])≤4 x+(-3+(Sqrt[5])) z≤(Sqrt[5+2 (Sqrt[5])])&&-(Sqrt[10+4 (Sqrt[5])])≤-2 (Sqrt[3+(Sqrt[5])]) x-2 (Sqrt[5-(Sqrt[5])]) y+(Sqrt[2]) (-3+(Sqrt[5])) z≤(Sqrt[10+4 (Sqrt[5])])&&-(Sqrt[10+4 (Sqrt[5])])≤-2 (Sqrt[3+(Sqrt[5])]) x+2 (Sqrt[5-(Sqrt[5])]) y+(Sqrt[2]) (-3+(Sqrt[5])) z≤(Sqrt[10+4 (Sqrt[5])])&&-(Sqrt[(5/2)+(Sqrt[5])])≤(Sqrt[2]) (-1+(Sqrt[5])) x-(Sqrt[3+(Sqrt[5])]) z≤(Sqrt[(5/2)+(Sqrt[5])])&&(Sqrt[(5/2)+(Sqrt[5])])+(Sqrt[2]) x+(Sqrt[10-4 (Sqrt[5])]) y+(Sqrt[3+(Sqrt[5])]) z≥0&&(Sqrt[10-4 (Sqrt[5])]) y≤(Sqrt[(5/2)+(Sqrt[5])])+(Sqrt[2]) x+(Sqrt[3+(Sqrt[5])]) z&&(Sqrt[10+4 (Sqrt[5])])+(Sqrt[10]) x+2 (Sqrt[5+(Sqrt[5])]) y+(Sqrt[10]) z≥(Sqrt[2]) (x+3 z)&&-(Sqrt[10+4 (Sqrt[5])])≤(Sqrt[2]) (-1+(Sqrt[5])) x-2 (Sqrt[5+(Sqrt[5])]) y+(Sqrt[2]) (-3+(Sqrt[5])) z≤(Sqrt[10+4 (Sqrt[5])])&&-(Sqrt[10+4 (Sqrt[5])])≤(Sqrt[2]) (-3+(Sqrt[5])) x-2 (Sqrt[5-(Sqrt[5])]) y+2 (Sqrt[3+(Sqrt[5])]) z≤(Sqrt[10+4 (Sqrt[5])])&&-(Sqrt[10+4 (Sqrt[5])])≤(Sqrt[2]) (-3+(Sqrt[5])) x+2 ((Sqrt[5-(Sqrt[5])]) y+(Sqrt[3+(Sqrt[5])]) z)≤(Sqrt[10+4 (Sqrt[5])])&&(Sqrt[10]) x+2 (Sqrt[5;+(Sqrt[5])]) y+(Sqrt[10]) z≤(Sqrt[2]) ((Sqrt[5+2 (Sqrt[5])])+x+3 z)&&2 x+z+(Sqrt[5]) z≤(Sqrt[5+2 (Sqrt[5])])+2 (Sqrt[5-2 (Sqrt[5])]) y&&2 x+2 (Sqrt[5-2 (Sqrt[5])]) y+z+(Sqrt[5]) z≤(Sqrt[5+2 (Sqrt[5])]);

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

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

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

bug((HyperlinkTemplate[397126, https://bugs.wolfram.com/show?number=397126None, https://bugs.wolfram.com/show?number=397126, HyperlinkActionRecycled, HyperlinkActive, , ])): Volume[ImplicitRegion[...]] gives inexact result

(vicos=Volume[ImplicitRegion[icosineq,{x,y,z}]])//Timing

(vicos=Volume[ImplicitRegion[icosineq,{x,y,z}],WorkingPrecision->Infinity])//Timing

(vicos=Integrate[Boole[icos],{x,y,z}∈FullRegion[3]])//Timing

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

N[%]

(5/6)GoldenRatio^2//N

FullSimplify[vspikes+vicos]

RootReduce[Total[Volume[Polyhedron[v,#]]&/@pyramids]+Volume[Polyhedron[v,Reverse/@pyramids[[All,1]]]]]//FullSimplify

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

reg=spikeineqsimp||icosineq

reg=FullSimplify[spikeineqsimp||icosineq]

Simple

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

Skeleton

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

r=RecognizeGraph[g]

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

SurfaceArea

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

SurfaceArea[p]//RootReduce//FullSimplify

Volume

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

N[%]

Volume[p]//FullSimplify//Timing

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

Vertex Subset Hulls

Convex Hull

solid=Polyhedron[GreatStellatedDodecahedron][[1]];
hull=ConvexHull3D[PolyhedronVertices[solid]];
WriteLiveForm["grsdohul.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={"GreatStellatedDodecahedron","Intersecting"};
v=PolyhedronData[p,"VertexCoordinates"];

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

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

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

Split

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

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

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

h2=Insert[h,"Icosahedron"->{{7,9,10,14,15,16,17,18,19,23,24,26}},-2]

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

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

Icosahedron

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

v1={Position[v,_?(N[Norm[#]]==s[[1]]&),1]//Flatten}

Graphics3D[{PolyhedronData[{"GreatStellatedDodecahedron","Split"},"Faces"],PointSize[.1],Point[v[[v1]]]},Boxed->False]

Graphics3D[ch1=ConvexHull3D[v[[v1]]],Boxed->False]

Construction: "GreatStellatedDodecahedron"

Off[N::"meprec"]

Show[Graphics3D[{Polyhedron[Dodecahedron],
VertexLabels[Polygon[PolyhedronVertices[Dodecahedron]]]}],Boxed->False]

FullSimplify[Norm[Subtract@@PolyhedronVertices[Dodecahedron][[{4,5}]]]]

Binomial[20,5]

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

pentagons2=First/@Convexify/@Polygon/@pentagons;

Length[nonadj=Select[pentagons2,Abs[Norm[Subtract@@#]]>1.01&/@(And@@Partition[#,2,1,1])&]
]//Timing

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

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

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

Construction: {"DodecahedronStellation", 3}

Show[Graphics3D[p=Cumulate[Polyhedron[Icosahedron],Sqrt[(7+3Sqrt[5])/6]]],Boxed->False]

<<Utilities`Simplify`
Off[N::"meprec"]

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

Net Construction

From Ed Pegg, Jr.
March 13, 2007
The following misses 4 of the 20 spikes... not exactly sure where they would go.

Show[Graphics[{{AbsoluteThickness[0],Line[{{{7057.000000,-9869.000000},{8694.000000,-7614.000000}}}],Line[{{{8694.000000,-7614.000000},{8694.000000,-10401.000000}}}],Line[{{{8694.000000,-10401.000000},{7057.000000,-9869.000000}}}],Line[{{{8694.000000,-10401.000000},{10331.000000,-9869.000000}}}],Line[{{{10331.000000,-9869.000000},{8694.000000,-7614.000000}}}],Line[{{{8694.000000,-10401.000000},{10331.000000,-12656.000000}}}],Line[{{{10331.000000,-9869.000000},{11968.000000,-10401.000000}}}],Line[{{{10331.000000,-12656.000000},{10331.000000,-9869.000000}}}],Line[{{{11968.000000,-10401.000000},{10331.000000,-12656.000000}}}],Line[{{{10331.000000,-9869.000000},{11968.000000,-7614.000000}}}],Line[{{{11968.000000,-7614.000000},{11968.000000,-10401.000000}}}],Line[{{{11968.000000,-10401.000000},{13605.000000,-9869.000000}}}],Line[{{{13605.000000,-9869.000000},{11968.000000,-7614.000000}}}],Line[{{{11968.000000,-10401.000000},{13605.000000,-12656.000000}}}],Line[{{{13605.000000,-9869.000000},{15242.000000,-10401.000000}}}],Line[{{{13605.000000,-12656.000000},{13605.000000,-9869.000000}}}],Line[{{{15242.000000,-10401.000000},{13605.000000,-12656.000000}}}],Line[{{{13605.000000,-9869.000000},{15242.000000,-7614.000000}}}],Line[{{{15242.000000,-7614.000000},{15242.000000,-10401.000000}}}],Line[{{{16879.000000,-9869.000000},{15242.000000,-7614.000000}}}],Line[{{{15242.000000,-10401.000000},{16879.000000,-12656.000000}}}],Line[{{{16879.000000,-9869.000000},{15242.000000,-10401.000000}}}],Line[{{{16879.000000,-12656.000000},{16879.000000,-9869.000000}}}],Line[{{{18516.000000,-10401.000000},{16879.000000,-12656.000000}}}],Line[{{{16879.000000,-9869.000000},{18516.000000,-7614.000000}}}],Line[{{{18516.000000,-7614.000000},{18516.000000,-10401.000000}}}],Line[{{{18516.000000,-10401.000000},{16879.000000,-9869.000000}}}],Line[{{{20153.000000,-9869.000000},{18516.000000,-7614.000000}}}],Line[{{{18516.000000,-10401.000000},{20153.000000,-12656.000000}}}],Line[{{{20153.000000,-9869.000000},{18516.000000,-10401.000000}}}],Line[{{{20153.000000,-9869.000000},{21790.000000,-10401.000000}}}],Line[{{{20153.000000,-12656.000000},{20153.000000,-9869.000000}}}],Line[{{{21790.000000,-10401.000000},{20153.000000,-12656.000000}}}],Line[{{{20153.000000,-9869.000000},{21790.000000,-7614.000000}}}],Line[{{{21790.000000,-7614.000000},{21790.000000,-10401.000000}}}],Line[{{{21790.000000,-10401.000000},{23427.000000,-9869.000000}}}],Line[{{{23427.000000,-9869.000000},{21790.000000,-7614.000000}}}],Line[{{{21790.000000,-10401.000000},{23427.000000,-12656.000000}}}],Line[{{{23427.000000,-12656.000000},{23427.000000,-9869.000000}}}],Line[{{{25064.000000,-10401.000000},{23427.000000,-12656.000000}}}],Line[{{{23427.000000,-9869.000000},{25064.000000,-10401.000000}}}],Line[{{{20153.000000,-12656.000000},{22802.000000,-11794.000000}}}],Line[{{{22802.000000,-11794.000000},{21790.000000,-10401.000000}}}],Line[{{{16879.000000,-12656.000000},{19528.000000,-11794.000000}}}],Line[{{{18516.000000,-10401.000000},{19528.000000,-11794.000000}}}],Line[{{{13605.000000,-12656.000000},{16254.000000,-11794.000000}}}],Line[{{{16254.000000,-11794.000000},{15242.000000,-10401.000000}}}],Line[{{{10331.000000,-12656.000000},{12980.000000,-11794.000000}}}],Line[{{{12980.000000,-11794.000000},{11968.000000,-10401.000000}}}],Line[{{{23427.000000,-12656.000000},{26076.000000,-11794.000000}}}],Line[{{{26076.000000,-11794.000000},{25064.000000,-10401.000000}}}],Line[{{{11968.000000,-7614.000000},{9320.000000,-8475.000000}}}],Line[{{{9320.000000,-8475.000000},{10331.000000,-9869.000000}}}],Line[{{{15242.000000,-7614.000000},{12594.000000,-8475.000000}}}],Line[{{{12594.000000,-8475.000000},{13605.000000,-9869.000000}}}],Line[{{{18516.000000,-7614.000000},{15868.000000,-8475.000000}}}],Line[{{{16879.000000,-9869.000000},{15868.000000,-8475.000000}}}],Line[{{{21790.000000,-7614.000000},{19142.000000,-8475.000000}}}],Line[{{{19142.000000,-8475.000000},{20153.000000,-9869.000000}}}],Line[{{{8694.000000,-7614.000000},{6046.000000,-8475.000000}}}],Line[{{{6046.000000,-8475.000000},{7057.000000,-9869.000000}}}],Line[{{{27713.000000,-9540.000000},{27713.000000,-12327.000000}}}],Line[{{{26076.000000,-11794.000000},{27713.000000,-9540.000000}}}],Line[{{{27713.000000,-9540.000000},{25064.000000,-10401.000000}}}],Line[{{{29350.000000,-11794.000000},{27713.000000,-12327.000000}}}],Line[{{{27713.000000,-9540.000000},{29350.000000,-11794.000000}}}],Line[{{{29350.000000,-14582.000000},{29350.000000,-11794.000000}}}],Line[{{{29350.000000,-14582.000000},{30987.000000,-12327.000000}}}],Line[{{{29350.000000,-11794.000000},{30987.000000,-12327.000000}}}],Line[{{{29350.000000,-14582.000000},{31998.000000,-13720.000000}}}],Line[{{{31998.000000,-13720.000000},{30987.000000,-12327.000000}}}],Line[{{{29350.000000,-14582.000000},{27713.000000,-12327.000000}}}],Line[{{{27713.000000,-12327.000000},{26076.000000,-11794.000000}}}],Line[{{{26076.000000,-14582.000000},{27713.000000,-12327.000000}}}],Line[{{{23427.000000,-13720.000000},{24439.000000,-12327.000000}}}],Line[{{{26076.000000,-14582.000000},{23427.000000,-13720.000000}}}],Line[{{{26076.000000,-11794.000000},{24439.000000,-12327.000000}}}],Line[{{{26076.000000,-14582.000000},{24439.000000,-12327.000000}}}],Line[{{{26076.000000,-14582.000000},{26076.000000,-11794.000000}}}],Line[{{{123.000000,-6549.000000},{1135.000000,-7943.000000}}}],Line[{{{2772.000000,-5688.000000},{123.000000,-6549.000000}}}],Line[{{{2772.000000,-8475.000000},{1135.000000,-7943.000000}}}],Line[{{{2772.000000,-5688.000000},{1135.000000,-7943.000000}}}],Line[{{{2772.000000,-5688.000000},{2772.000000,-8475.000000}}}],Line[{{{2772.000000,-5688.000000},{4409.000000,-7943.000000}}}],Line[{{{6046.000000,-5688.000000},{4409.000000,-7943.000000}}}],Line[{{{4409.000000,-7943.000000},{6046.000000,-8475.000000}}}],Line[{{{4409.000000,-10730.000000},{2772.000000,-8475.000000}}}],Line[{{{2772.000000,-8475.000000},{4409.000000,-7943.000000}}}],Line[{{{4409.000000,-10730.000000},{7057.000000,-9869.000000}}}],Line[{{{6046.000000,-8475.000000},{4409.000000,-10730.000000}}}],Line[{{{4409.000000,-10730.000000},{4409.000000,-7943.000000}}}],Line[{{{6046.000000,-5688.000000},{6046.000000,-8475.000000}}}],Line[{{{6046.000000,-5688.000000},{7683.000000,-7943.000000}}}],Line[{{{6046.000000,-5688.000000},{8694.000000,-6549.000000}}}],Line[{{{8694.000000,-6549.000000},{7683.000000,-7943.000000}}}],Line[{{{6046.000000,-8475.000000},{7683.000000,-7943.000000}}}]}}/.Line[{x_}]:>Line[x]],AspectRatio->Automatic]