Hemiobelisk Graph

Author

Eric W. Weisstein
September 3, 2022

This notebook downloaded from http://mathworld.wolfram.com/notebooks/GraphTheory/HemiobeliskGraph.nb.

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

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

Base polyhedron

Graphics3D[{Opacity[.8],PolyhedronData["Hemiobelisk","Polyhedron"]},Boxed->False,Method->{"ShrinkWrap"->True},ImageSize->Small]

Properties

GraphData["HemiobeliskGraph","StandardNames"]

GraphData["HemiobeliskGraph",{"V","E","F"}]

GraphData["HemiobeliskGraph","DualGraph","Name"]

Definition

Michon

http://nbarth.net/notes/src/notes-calc-raw/others/X-numericana/polyhedra.htm#hexahedra

Wikipedia

https://en.wikipedia.org/wiki/Hexahedron#Convex,_Others

Embeddings

All

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

Degenerate

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

Circular

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

Planar

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

3D

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

UnitDistance

GraphData["HemiobeliskGraph","UnitDistance"]

GraphData["HemiobeliskGraph","Dimension"]

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

Embeddings

Primary

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

Default embedding

GraphPlot@GraphData["HemiobeliskGraph","Edges"]

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

RecognizeGraph[g]

All

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

Circular

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

Degenerate

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

Planar

GraphData["HemiobeliskGraph","Planar"]

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

Tutte embeddings

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

Tally[ReverseSort[Length/@faces]]

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

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

MinimalCrossing

GraphData["HemiobeliskGraph",{"RCN","CN"}]

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

MinimalCrossing construction

g=RotateGraph[MinimalCrossingGraph[GraphData["HemiobeliskGraph"],"CrossingNumber"->-1]]

RecognizeGraph[g]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Tutte embedding construction 5

GraphPlot[RotateGraph[,Pi]]

v=Join[UnitCirclePoints[5],{{0,v[[4,2]]},{0,-1/4}}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,1,7,5],e[4,6,2],e[3,6,7]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Tutte embedding construction 4

GraphPlot[RotateGraph[]]

v={{0,0},{1,0},{1,1},{0,1},{1/4,1/2},{1/2,1/2},{3/4,1/2}};
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,1,5,4],e[5,6,7,2],e[7,3,6]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Tutte embedding construction 3 #1

GraphPlot[RotateGraph[,2Pi/3]]

v=Join[UnitCirclePoints[3],CirclePoints[1/4,3]];
v=Join[v,{{0,v[[6,2]]}}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,1,4,7,6,3],e[6,5,4],e[2,5,7]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Tutte embedding construction 3 #2

GraphPlot[RotateGraph[,-2Pi/3]]

v=Join[UnitCirclePoints[3],CirclePoints[1/4,3]];
AppendTo[v,{0,v[[6,2]]}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,1,4,7,6,3],e[4,2,5,7],{5,6}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

UnitDistance

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

GraphData["HemiobeliskGraph","UnitDistance"]

GraphData["HemiobeliskGraph","Dimension"]

3D

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

3D UnitDistance

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

3D Polyhedron

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

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

3D Canonical Polyhedron

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

3D Polyhedron construction

poly=GraphPolyhedron[GraphData["HemiobeliskGraph"]]

Graphics3D[{FaceForm[Green,Red],poly}]

(can=FindCanonicalPolyhedron[Polyhedron[Normalize/@poly[[1]],poly[[2]]],WorkingPrecision->1000,MaxIterations->5000,PrecisionGoal->20])//Timing

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

SimplePolyhedronQ[can]

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

v=PolyhedronCoordinates[can];

colors=Table[Hue[RandomReal[]],Length[lens]]

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

g=PolyhedronGraph[can]

Construction

2D projection from hemiobelisk

<<MathWorld`Graphs`

hemicube=Polyhedron[];

Manipulate[PolyhedronProjectionGraph[PolyhedronData["Hemiobelisk","Polyhedron"],{x,y,z}],{x,-2,2},{y,-2,2},{z,-2,2}]

g=RotateGraph[LabelGraph@,-.25]

GraphData

GraphPropertyString

GraphDataClassString["HemiobeliskGraph"]