Great Rhombicuboctahedron

Author

Eric W. Weisstein
January 5, 2024

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

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

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

Figure

With[{pname="GreatRhombicuboctahedron"},
GraphicsRow[{
Graphics3D[{Opacity[.8],PolyhedronData[pname,"Polyhedron"]},Boxed->False],
Graphics3D[{PolyhedronData[pname,"Lines"]},Boxed->False],
PolyhedronData[pname,"Net"]
},ImageSize->700]]

Polyhedron

PolyhedronData["GreatRhombicuboctahedron","Orientations"]

Show[PolyhedronData["GreatRhombicuboctahedron"],Boxed->False,ImageSize->Small]

Polyhedron

Graphics3D[{FaceForm[Green,Red],PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]}]

Region

PolyhedronData["GreatRhombicuboctahedron","Region"]

Solid and Dual

GraphicsRow[PolyhedronData["GreatRhombicuboctahedron",#]&/@{"Graphics3D","Dual","DualCompound"}]

UniformPolyhedron

uniform=UniformPolyhedron[stdname="TruncatedCuboctahedron"]

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

<<MathWorld`Polyhedra`

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}

Net

PolyhedronData["GreatRhombicuboctahedron","Net"]

PolyhedronData["GreatRhombicuboctahedron","Net","Colored"]

NetPrintout[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],"Cuboctahedron.pdf"]

Properties

Initialization

<<MathWorld`Polyhedra`

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

vol=PolyhedronData[pname,"Volume"]

Centroid

PolyhedronData["GreatRhombicuboctahedron","Centroid"]

RegionCentroid[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//RootReduce

PolyhedronCentroid[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//RootReduce

Circumradius

PolyhedronData["GreatRhombicuboctahedron","Circumradius"]

Circumsphere[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//RootReduce//Timing

MyCircumsphere[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//RootReduce//Timing

DihedralAngles

PolyhedronData["GreatRhombicuboctahedron","DihedralAngles"]//Tally

DihedralAngles[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//FullSimplify//Tally

Show[Graphics3D[{poly,
MapIndexed[Text[#2[[1]],#1]&,Centroid/@poly//N]
}],Boxed->False]

{4,6}

Show[Graphics3D[{p=poly[[{6,21}]]}],Boxed->False]

FullSimplify[π-DihedralAngle@@p]

InputForm[%]

N[%]180/Pi

{4,8}

Show[Graphics3D[{p=poly[[{6,14}]]}],Boxed->False]

FullSimplify[π-DihedralAngle@@p]

InputForm[%]

N[%]180/Pi

{6,8}

Show[Graphics3D[{p=poly[[{21,14}]]}],Boxed->False]

FullSimplify[π-DihedralAngle@@p]

InputForm[%]

N[%]180/Pi

Dual

pname

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

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

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

Divide@@midrs//FullSimplify

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]

EdgeLengths

PolyhedronData["GreatRhombicuboctahedron","EdgeLengths"]

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

Faces

PolyhedronFaceList[poly]

Show[GraphicsArray[partition[PolyhedronFaces[poly],5]]]

f1=v[[{11,25,1,19,17,3,27,9}]];
f2=v[[{48,11,9,42}]];
Show[GraphicsArray[{
Graphics3D[{
Polygon[f1],LabelVertices[f1]
},Boxed->False],
Graphics3D[{
Polygon[f2],LabelVertices[f2]
},Boxed->False],
Graphics3D[{
Polygon[f1],LabelVertices[f1],
Polygon[f2],LabelVertices[f2],
PointSize[.1],Point[{0,0,0}],
Line[{Centroid[f1][[1]],{0,0,0},Centroid[f2][[1]]}]
},Boxed->False]
}]]

{a,b}=FullSimplify[{Centroid[f1][[1]],Centroid[f2][[1]]}]

Together//@FullSimplify[Sqrt/@{a.a,b.b}]

Inradius

PolyhedronData["GreatRhombicuboctahedron","Inradius"]

Insphere[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]

MyInsphere[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]

InertiaTensor

PolyhedronData["GreatRhombicuboctahedron","InertiaTensor"]

PolyhedronInertiaTensor[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//Timing

((MomentOfInertia[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]])/(Volume[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]))//FullSimplify//Timing

MeanCylindricalRadius

PolyhedronData[pname,"MeanCylindricalRadius"]

N[%]

((NIntegrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈p])/vol)

Integrate over polyhedron

(rxy=((Integrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈p])/vol))//Timing

N[rxy]

CAD

cad=CylindricalDecomposition[PolyhedronData[pname,"RegionFunction"][x,y,z],{x,y,z},"Function"]

((NIntegrate[(Sqrt[(x^2)+(y^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol)

(rxy=((Integrate[(Sqrt[(x^2)+(y^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol))//Timing

CAD over  1/16

reg=FullSimplify[PolyhedronData[pname,"RegionFunction"][x,y,z]&&0<y<Tan[Pi/4]x&&z>0]

((Volume[ImplicitRegion[reg,{x,y,z}]])/vol)//FullSimplify

cad=CylindricalDecomposition[reg,{x,y,z},"Function"]

16((NIntegrate[(Sqrt[(x^2)+(y^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol)

(rxy=16((Integrate[(Sqrt[(x^2)+(y^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol))//Timing

N[rxy]

rxy=;

N[rxy]

LogSimplify[rxy]//Simplify

N[%]

RootReduce[%16]

FullSimplify[%22]

RootReduce/@Expand[%]

rxysimp=FullSimplify[%]

N[rxysimp,20]

N[rxysimp-rxy,10000]

LogSimplify[rxysimp]

Divergence theorem [unevaluated integrals]

(rxy=MeanCylindricalRadius[p,"Simplification"->FullSimplify,Debug->True])//Timing

N[rxy]

ResourceFunction["LogSimplify"][rxy]//FullSimplify

MeanCylindricalSquareRadius

PolyhedronData[pname,"MeanSquareCylindricalRadius"]

N[%]

Integrate over Polyhedron

((NIntegrate[(x^2)+(y^2),{x,y,z}∈p])/vol)//Timing

(rxy2=((Integrate[(x^2)+(y^2),{x,y,z}∈p])/vol)//FullSimplify)//Timing

MeanSphericalRadius

PolyhedronData[pname,"MeanSphericalRadius"]

Integrate over polyhedron [unevaluated]

((NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈p])/vol)

(rxyz=((Integrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈p])/vol))//Timing

N[rxyz]

Divergence theorem [unevaluated]

(rxyz=MeanSphericalRadius[p,Debug->True])//Timing

N[rxyz]

ResourceFunction["LogSimplify"][rxyz]//FullSimplify

CAD

cad=CylindricalDecomposition[PolyhedronData[pname,"RegionFunction"][x,y,z],{x,y,z},"Function"]

((NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol)

(rxyz=((Integrate[(Sqrt[(x^2)+(y^2)+(z^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol))//Timing

N[rxyz,20]

rxysimp1=ResourceFunction["LogSimplify"][rxy]//FullSimplify

CAD over  1/16

reg=FullSimplify[PolyhedronData[pname,"RegionFunction"][x,y,z]&&0<y<Tan[Pi/4]x&&z>0]

((Volume[ImplicitRegion[reg,{x,y,z}]])/vol)//FullSimplify

cad=CylindricalDecomposition[reg,{x,y,z},"Function"]

16((NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol)

(rxyz=16((Integrate[(Sqrt[(x^2)+(y^2)+(z^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol))//Timing

N[rxyz,20]

rxysimp1=LogSimplify[rxy]//FullSimplify

MeanSphericalSquareRadius

PolyhedronData[pname,"MeanSquareSphericalRadius"]

N[%]

Integrate over polyhedron

((NIntegrate[(x^2)+(y^2)+(z^2),{x,y,z}∈p])/vol)

((Integrate[(x^2)+(y^2)+(z^2),{x,y,z}∈p])/vol)//FullSimplify

Midradius

PolyhedronData["GreatRhombicuboctahedron","Midradius"]

RootReduce[%]

Midsphere[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//RootReduce

Net

PolyhedronData[pname,"Net"]

Total[Area/@Flatten[PolyhedronData[pname,"Net","Polygon"]]]//ToAlgebraicRoot//Timing

PolyhedronData[pname,"SurfaceArea"]

poly3d=PolyhedronData[pname,"Net","Polygons"]/.Polygon[v_]:>Polygon[Append[#,0]&/@v]

Total[Area/@Flatten[poly3d]]//RootReduce//FullSimplify

Graphics3D[{FaceForm[Green,Red],poly3d},Axes->True,AxesLabel->{"x","y","z"}]

NotationRules

PolyhedronData[pname,"NotationRules"]

Orientations

PolyhedronData[pname,"Orientations"]

PolyhedronData[pname,"DefaultOrientation"]

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

Polygons

PolyhedronData[pname,"FaceCount"]

Graphics3D/@PolyhedronData[pname,"Polygons"]

Show[%]

Polyhedra

PolyhedronData[pname,"Polyhedra"]

Graphics3D[%]

PolyhedronData[pname,"PolyhedronIndices"]

Region

PolyhedronData[pname,"Region"]

RegionFunction

PolyhedronData[pname,"RegionFunction"]

Collect[#,{x,y,z},RootReduce]&/@PolyhedronInequalities[p,{x,y,z}]

FullSimplify[%]

SimplePolyhedron

PolyhedronData[pname,"Simple"]

SimplePolyhedronQ[p]

Skeleton

PolyhedronData[pname,"Skeleton"]

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

emb=GraphData[gn,"PolyhedralEmbeddings"]

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

g=PolyhedronGraph[p]

SurfaceArea

PolyhedronData["GreatRhombicuboctahedron","SurfaceArea"]

RootReduce[%]

SurfaceArea[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//FullSimplify

Total[Area/@PolyhedronData["GreatRhombicuboctahedron","Polygons"]]//FullSimplify

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["GreatRhombicuboctahedron","Volume"]

Volume[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"]]//FullSimplify

PolyhedronVolume[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],Method->"GaussLaw"]//FullSimplify

Projections

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

{2-(Sqrt[2]),1,1}

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

{.39,.68,.66}/.68

g=PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{.5,1,1},VertexLabels->"Name"]

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

v=GraphEmbedding[g];

FullSimplify[v[[7]]-v[[34]],z>0]

Solve[2-(2+(Sqrt[2])) z==0,z]//FullSimplify

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

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

v=GraphEmbedding[g];

ArcTan@@(v[[48]]-v[[12]])//FullSimplify

{0,1,(1/(1+2 (Sqrt[2]))),Pi/2}

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,1,(1/(1+2 (Sqrt[2]))),Pi/2},VertexLabels->"Name"]

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,.625,.155},VertexLabels->"Name"]

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

v=GraphEmbedding[g];

Thread[FullSimplify[v[[32]]==v[[29]],z>0]]

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

{0,1,((Sqrt[2])/(2+3 (Sqrt[2]))),Pi/2}

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,1,((Sqrt[2])/(2+3 (Sqrt[2]))),Pi/2},VertexLabels->"Name"]

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,.6,.145},VertexLabels->"Name"]

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

v=GraphEmbedding[g];

Thread[FullSimplify[v[[3]]==v[[8]],z>0]]

Solve[%,z]

{0,(1/41) (27+4 (Sqrt[2])),1,Pi/2}

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,(1/41) (27+4 (Sqrt[2])),1,Pi/2},VertexLabels->"Name"]

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,.8,1},VertexLabels->"Name"]

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

v=GraphEmbedding[g];

FullSimplify[SquaredEuclideanDistance@@v[[{3,7}]]-SquaredEuclideanDistance@@v[[{3,2}]],z>0]

Solve[(-5-2 (Sqrt[2])+(7+2 (Sqrt[2])) z)==0,z]//FullSimplify

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

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,-(1/(-3+(Sqrt[2]))),1,Pi/2},VertexLabels->"Name"]

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,.6,1},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,z,1}]

v=GraphEmbedding[g];

FullSimplify[v[[2]]-v[[3]],z>0]

Solve[(1+(-3+(Sqrt[2])) z)==0,z]

N[%]

{0,1+Sqrt[2],1,π/2}]

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,1+Sqrt[2],1,π/2}]

{0,0,1}

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{0,0,1}]

{1,1,0}

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{1,1,0}]

{1,1,1}

PolyhedronProjectionGraph[PolyhedronData["GreatRhombicuboctahedron","Polyhedron"],{1,1,1}]

Vertices and edges

poly=GreatRhombicuboctahedronExact;
v=PolyhedronVertices[poly];
EdgeLengths[v]

WriteLiveForm["test.m",
Show[Graphics3D[{
poly,LabelPolyhedronVertices[poly]
}],Boxed->False]
]

Construction

GreatRhombicuboctahedronExact:=GreatRhombicuboctahedronExact=Module[{h=3-Sqrt[2],t=Sqrt[2]-1},OrientCentered[{polygon[{{1,t,-h},{1,-t,-h},{h,-t,-1},{h,t,-1}}],polygon[{{t,-1,-h},{-t,-1,-h},{-t,-h,-1},{t,-h,-1}}],polygon[{{-1,-t,-h},{-1,t,-h},{-h,t,-1},{-h,-t,-1}}],polygon[{{-t,1,-h},{t,1,-h},{t,h,-1},{-t,h,-1}}],(*Top Squares*)polygon[{{1,t,h},{1,-t,h},{h,-t,1},{h,t,1}}],polygon[{{t,-1,h},{-t,-1,h},{-t,-h,1},{t,-h,1}}],polygon[{{-1,-t,h},{-1,t,h},{-h,t,1},{-h,-t,1}}],polygon[{{-t,1,h},{t,1,h},{t,h,1},{-t,h,1}}],(*Middle Squares*)polygon[{{h,1,t},{1,h,t},{1,h,-t},{h,1,-t}}],polygon[{{-h,-1,t},{-1,-h,t},{-1,-h,-t},{-h,-1,-t}}],polygon[{{h,-1,t},{1,-h,t},{1,-h,-t},{h,-1,-t}}],polygon[{{-h,1,t},{-1,h,t},{-1,h,-t},{-h,1,-t}}],(*Bottom Octagon*)polygon[{{t,1,-h},{1,t,-h},{1,-t,-h},{t,-1,-h},{-t,-1,-h},{-1,-t,-h},{-1,t,-h},{-t,1,-h}}],(*Top Octagon*)polygon[{{t,1,h},{1,t,h},{1,-t,h},{t,-1,h},{-t,-1,h},{-1,-t,h},{-1,t,h},{-t,1,h}}],(*Right Octagon*)polygon[{{h,t,1},{h,1,t},{h,1,-t},{h,t,-1},{h,-t,-1},{h,-1,-t},{h,-1,t},{h,-t,1}}],(*Left Octagon*)polygon[{{-h,t,1},{-h,1,t},{-h,1,-t},{-h,t,-1},{-h,-t,-1},{-h,-1,-t},{-h,-1,t},{-h,-t,1}}],(*Back Octagon*)polygon[{{t,h,1},{1,h,t},{1,h,-t},{t,h,-1},{-t,h,-1},{-1,h,-t},{-1,h,t},{-t,h,1}}],(*Front Octagon*)polygon[{{t,-h,1},{1,-h,t},{1,-h,-t},{t,-h,-1},{-t,-h,-1},{-1,-h,-t},{-1,-h,t},{-t,-h,1}}],(*Top Hexagons*)polygon[{{h,t,1},{1,t,h},{t,1,h},{t,h,1},{1,h,t},{h,1,t}}],polygon[{{-h,t,1},{-1,t,h},{-t,1,h},{-t,h,1},{-1,h,t},{-h,1,t}}],polygon[{{h,-t,1},{1,-t,h},{t,-1,h},{t,-h,1},{1,-h,t},{h,-1,t}}],polygon[{{-h,-t,1},{-1,-t,h},{-t,-1,h},{-t,-h,1},{-1,-h,t},{-h,-1,t}}],(*Bottom Hexagons*)polygon[{{h,t,-1},{1,t,-h},{t,1,-h},{t,h,-1},{1,h,-t},{h,1,-t}}],polygon[{{-h,t,-1},{-1,t,-h},{-t,1,-h},{-t,h,-1},{-1,h,-t},{-h,1,-t}}],polygon[{{h,-t,-1},{1,-t,-h},{t,-1,-h},{t,-h,-1},{1,-h,-t},{h,-1,-t}}],polygon[{{-h,-t,-1},{-1,-t,-h},{-t,-1,-h},{-t,-h,-1},{-1,-h,-t},{-h,-1,-t}}]}]]