Truncated Dodecahedral Graph

Author

Eric W. Weisstein
April 11, 2025

This notebook downloaded from https://mathworld.wolfram.com/notebooks/GraphTheory/TruncatedDodecahedralGraph.nb.

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

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

Graph

<<MathWorld`Graphs`

Names

GraphData["TruncatedDodecahedralGraph","StandardName"]

GraphData["TruncatedDodecahedralGraph","StandardNames"]

Primary

GraphData["TruncatedDodecahedralGraph"]//StyleGraphs[#,ImageSize->Small]&

Construction from Read and Wilson

All

GraphData["TruncatedDodecahedralGraph","Graph","All"]//StyleGraphs

Bilateral

GraphData["TruncatedDodecahedralGraph","Graph","Bilateral"]//StyleGraphs

Circular

GraphData["TruncatedDodecahedralGraph","Graph","Circular"]//StyleGraphs

Planar

GraphData["TruncatedDodecahedralGraph","Graph","Planar"]//StyleGraphs

Tutte embeddings

faces=ReverseSort@SymmetricallyDistinctFaces[GraphData["TruncatedDodecahedralGraph"]]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[GraphData["TruncatedDodecahedralGraph"],"OuterFace"->#]&/@faces

gs=Annotate[#,VertexLabels->None]&/@{}

Tutte embedding construction 10

g=;

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Tutte embedding construction 3

GraphPlot[]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

MinimalCrossing

GraphData["TruncatedDodecahedralGraph","Graph","MinimalCrossing"]//StyleGraphs

Degenerate

GraphData["TruncatedDodecahedralGraph","Graph","Degenerate"]//StyleGraphs

LCF

GraphData["TruncatedDodecahedralGraph","LCF"]

GraphData["TruncatedDodecahedralGraph","HamiltonianCycleCount"]

GraphData["TruncatedDodecahedralGraph","LCFSignature"]

GraphData["TruncatedDodecahedralGraph","LCFNotations"]

GraphData["TruncatedDodecahedralGraph","Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute all

Divisors[GraphData["TruncatedDodecahedralGraph","V"]]

Length[FindHamiltonianCycle[GraphData["TruncatedDodecahedralGraph"],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData["TruncatedDodecahedralGraph"],All])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

Perspective

GraphData["TruncatedDodecahedralGraph","Graph","Perspective"]//StyleGraphs

UnitDistance

GraphData["TruncatedDodecahedralGraph","UnitDistance"]

UnitDistanceGraphQ[GraphData["TruncatedDodecahedralGraph"],Debug->True]//Timing

GraphData["TruncatedDodecahedralGraph","Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData["TruncatedDodecahedralGraph","VertexList"],GraphData["TruncatedDodecahedralGraph","EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData["TruncatedDodecahedralGraph","Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData["TruncatedDodecahedralGraph"],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData["TruncatedDodecahedralGraph"],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

DateString[]

{"TruncatedDodecahedralGraph",l=FindSubgraphUnitDistanceEmbedding[GraphData["TruncatedDodecahedralGraph"],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Select[IndexGraph/@gs,!DegenerateGraphEmbeddingQ[#]&&GraphSymmetryGroup[#]=!=TransformationGroup[{}]&]//Timing

Matchstick

GraphData["TruncatedDodecahedralGraph","Matchstick"]

GraphData["TruncatedDodecahedralGraph","Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData["TruncatedDodecahedralGraph","Edges"]]

3D All

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

3D UnitDistance

GraphData["TruncatedDodecahedralGraph","Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData["TruncatedDodecahedralGraph","Polyhedral"]

GraphData["TruncatedDodecahedralGraph","Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData["TruncatedDodecahedralGraph","Polyhedron"]}]

3D Canonical

GraphData["TruncatedDodecahedralGraph","Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData["TruncatedDodecahedralGraph","Polyhedron","Canonical"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData["TruncatedDodecahedralGraph"],1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->50,MaxIterations->50000,PrecisionGoal->20,"ProgressInterval"->1000,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

SimplePolyhedronQ[can]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

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

v=PolyhedronCoordinates[can];

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

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

g=PolyhedronGraph[can]

Cayley graph generators

GraphData["TruncatedDodecahedralGraph","CayleyGraphGeneratingGroupNames"]

Projections

Manipulate[PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{a,b,c}],{a,-1,1},{b,-1,1},{c,-1,1}]

{(1/4) (7-3 (Sqrt[5])),(NumericalApproximation[Root, (RowDefault["-0.225", FEExpressionsNumericalApproximationElider]), Root[5-100 ((#1)^2)+16 ((#1)^4)&,2], ]),1,-ArcCot[(Sqrt[10])]}

Graphics3D[{PolyhedronData["TruncatedDodecahedron","Polyhedron"],MapIndexed[Text[#2[[1]],Mean[#]]&,PolyhedronData["TruncatedDodecahedron","Polygons"][[All,1]]]}]

v=Mean[Mean/@PolyhedronData["TruncatedDodecahedron","Polygons"][[{21,16}]][[All,1]]]//FullSimplify

FullSimplify[v/Max[v]]

N[%]

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{(1/4) (7-3 (Sqrt[5])),(NumericalApproximation[Root, (RowDefault["-0.225", FEExpressionsNumericalApproximationElider]), Root[5-100 ((#1)^2)+16 ((#1)^4)&,2], ]),1,-ArcCot[(Sqrt[10])]},VertexLabels->"Name"]

v=Lookup[Options[g],VertexCoordinates];

π-ArcTan@@(v[[60]]-v[[13]])//FullSimplify

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{(1/4) (7-3 (Sqrt[5])),(NumericalApproximation[Root, (RowDefault["-0.225", FEExpressionsNumericalApproximationElider]), Root[5-100 ((#1)^2)+16 ((#1)^4)&,2], ]),1}]

FullSimplify[GraphEmbedding[g]]

FullSimplify[RotationMatrix[-ArcCot[(Sqrt[10])]].#&/@%73]

SetProperty[g,VertexCoordinates->%]

{(1/2) (3-(Sqrt[5])),0,-1}

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{(1/2) (3-(Sqrt[5])),0,-1},VertexLabels->"Name"]

{-.255,0,.68}/.68

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{.375,0,-1},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{-.375,.02,1},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{z,0,-1},VertexLabels->"Name"]

v=Lookup[Options[g],VertexCoordinates];

FullSimplify[v[[42]]-v[[37]],z>0]

Solve[((-(Sqrt[2 (5+(Sqrt[5]))])+(Sqrt[50+22 (Sqrt[5])]) z)/(2 (Sqrt[1+(z^2)])))==0,z]//FullSimplify

{1,(1/41) (Sqrt[365+158 (Sqrt[5])]),(1/41) (17+5 (Sqrt[5]))}

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{1,(1/41) (Sqrt[365+158 (Sqrt[5])]),(1/41) (17+5 (Sqrt[5]))},VertexLabels->"Name"]

{.53,-.335,.375}/.53

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{1,0.63,0.70},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{1,a,b},VertexLabels->"Name"]

v=Lookup[Options[g],VertexCoordinates];

FullSimplify[{v[[7,1]]+v[[1,1]]==0,v[[1,2]]-v[[7,2]]==0},a>0&&b>0]

Solve[%,{a,b}]//FullSimplify

N[%]

{(Sqrt[1-(2/(Sqrt[5]))]), 1, 0}

1/(Sqrt[1-(2/(Sqrt[5]))])//FullSimplify

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{(Sqrt[1-(2/(Sqrt[5]))]),1,0},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{z,1,0},VertexLabels->"Name"]

v=Lookup[Options[g],VertexCoordinates];

FullSimplify[v[[12,1]]-v[[6,1]],z>0]

Solve[((-(Sqrt[650+290 (Sqrt[5])])+5 (11+5 (Sqrt[5])) z)/(20 (Sqrt[1+(z^2)])))==0,z]//FullSimplify

N[%]

{1, 1, 0}

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{1,1,0},VertexLabels->"Name"]

{0, 0, 1}

v=SelectFirst[PolyhedronData["TruncatedDodecahedron","Polygons"][[All,1]],Length[#]==10&]//Mean//FullSimplify

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{0,0,1},VertexLabels->"Name"]

{1,0,(1/4) (3-(Sqrt[5]))}

v=-SelectFirst[PolyhedronData["TruncatedDodecahedron","Polygons"][[All,1]],Length[#]==3&]//Mean//FullSimplify

FullSimplify[v/Max[v]]

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{1,0,(1/4) (3-(Sqrt[5]))},VertexLabels->"Name"]

{0, 1,0}

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{0,1,0,(1/2) (π-2 ArcTan[(1/2) (1+(Sqrt[5]))])},VertexLabels->"Name"]

v=GraphEmbedding[g];

π/2-ArcTan@@(v[[49]]-v[[46]])//FullSimplify

g=PolyhedronProjectionGraph[PolyhedronData["TruncatedDodecahedron","Polyhedron"],{0,1.1,.1},VertexLabels->"Name"]