Metabiaugmented Truncated Dodecahedron

Author

Eric W. Weisstein
September 6, 2023

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

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

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

Polyhedron

PolyhedronData

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","Orientations"]

PolyhedronData["MetabiaugmentedTruncatedDodecahedron"]

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","VertexCoordinates"]

PolyhedronData (V12.1)

PolyhedronData["MetabiaugmentedTruncatedDodecahedron"]

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","VertexCoordinates"]

Netlib

PolyhedronName[JohnsonSolid[70]]

Show[Graphics3D[Polyhedron[JohnsonSolid[70]]],Boxed->False]

Net

PolyhedronData

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","Net"]

Netlib

Show[Graphics[Net[JohnsonSolid[70]]],AspectRatio->Automatic]

Skeleton graph

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","Skeleton"]

Construction

Construct by copying a rotated version of the pentagonal cupola on sides of {"TruncatedDodecahedron", "C2"}

PolyhedronData/@{"TruncatedDodecahedron","MetabiaugmentedTruncatedDodecahedron"}

truncdod=Polyhedron[];

h=PolyhedronData["TruncatedDodecahedron","VertexCoordinates"][[All,-1]]//Max

v=PolyhedronData["AugmentedTruncatedDodecahedron","VertexCoordinates"];

topv=Select[v,#[[3]]>h&]

Graphics3D[{p,MapIndexed[Text[#2[[1]],#,Background->White]&,PolyhedronCoordinates[p]]}]

sideface=Select[truncdod[[2]],Length[Intersection[#,{1,34,48}]]>2&]

mid=Mean[PolyhedronCoordinates[truncdod][[sideface[[1]]]]]//FullSimplify

mat=RotationMatrix[{{0,0,1},mid}]//FullSimplify

vnew=Join[PolyhedronCoordinates[truncdod],
right=mat.RotationMatrix[π/5,{0,0,1}].#&/@topv,
{-1,1,1}#&/@right
]//FullSimplify

Length[vnew]

Show[hull=ConvexHullRegion[vnew],Boxed->True]

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","FaceCountRules"]

Tally[Length/@(f=MeshCells[hull,2][[All,1]])]

SmallestRotation[l_]:=Sort[NestList[RotateRight,l,Length[l]-1]][[1]]

Sort[SmallestRotation/@f]

PolyhedronData["MetabiaugmentedTruncatedDodecahedron",{"V","F"}]

p=Polyhedron[vnew,f]

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

Properties

Initialization

<<MathWorld`Polyhedra`

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

vol=PolyhedronData[pname,"Volume"]

Work around Integrate/NIntegrate hang:

p2=Polyhedron[RootReduce[PolyhedronData[pname,"VertexCoordinates"]],PolyhedronData[pname,"FaceIndices"]]

AdjacentFaceIndices

AdjacentFaceIndices[p]

Centroid

PolyhedronData[pname,"Centroid"]

bug(428575): RegionCentroid[PolyhedronData["MetabiaugmentedTruncatedDodecahedron", "Polyhedron"]] hangs

TimeConstrained[RegionCentroid[p//N],60]//Timing

TimeConstrained[RegionCentroid[p],60]//Timing

...hangs...

(xbar=PolyhedronCentroid[p]//RootReduce)//Timing

Convex

PolyhedronData[pname,"Convex"]

ConvexPolyhedronQ[p]

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

DihedralAngles[p//N]

dih0=PolyhedronData["MetabiaugmentedTruncatedDodecahedron","DihedralAngles"]

ByteCount[dih=SimplifyNumericallyDistinct[DihedralAngles[p],Debug->True]]//Timing

Sort[dih0]-SortBy[dih,N]//Chop

dih

GeneralizedDiameter

PolyhedronData["MetabiaugmentedTruncatedDodecahedron","GeneralizedDiameter"]

GeneralizedDiameter[p]//FullSimplify

N[%]

InertiaTensor

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

...hangs...

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

N[i1=PolyhedronInertiaTensor[p,vol,Identity,Identity]]//Chop//Timing

N[i2=PolyhedronInertiaTensor[p,vol]]//Chop//Timing

ByteCount/@{i1,i2}

i2

N[i2]

Insphere

PolyhedronData[pname,"Insphere"]

Insphere[p]

sphere=MyInsphere[p]

MeanCylindricalRadius

PolyhedronData[pname,"MeanCylindricalRadius"]

bug(410070): NIntegrate[1, {x, y, z} ∈ PolyhedronData["MetabiaugmentedTruncatedDodecahedron", "Polyhedron"]] emits TetGenTetrahedralize::reterr: Tetrahedralize returned an error, 2.

((NIntegrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈p2])/(PolyhedronData[pname,"Volume"]))//Timing

(i=((NIntegrate[(Sqrt[(x^2)+(y^2)])Boole[PolyhedronData[pname,"RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}])/(PolyhedronData[pname,"Volume"])))//Timing

(i=((Integrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈p])/(PolyhedronData[pname,"Volume"])))//Timing

N[i]

MeanSquareCylindricalRadius

PolyhedronData[pname,"MeanSquareCylindricalRadius"]

PolyhedronData[pname,"InertiaTensor"][[3,3]]

N[%]

((NIntegrate[(x^2)+(y^2),{x,y,z}∈p2])/(PolyhedronData[pname,"Volume"]))//Timing

((NIntegrate[((x^2)+(y^2))Boole[PolyhedronData[pname,"RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}])/(PolyhedronData[pname,"Volume"]))//Timing

bug(410183): Integrate[1, {x, y, z} ∈ PolyhedronData["MetabiaugmentedTruncatedDodecahedron", "Polyhedron"]] returns unevaluated

(i=((Integrate[(x^2)+(y^2),{x,y,z}∈p2])/(PolyhedronData[pname,"Volume"])))//Timing

N[i]

(i=((Integrate[((x^2)+(y^2))Boole[PolyhedronData[pname,"RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}])/(PolyhedronData[pname,"Volume"])))//Timing

MeanSphericalRadius

PolyhedronData[pname,"MeanSphericalRadius"]

((NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈p2])/(PolyhedronData[pname,"Volume"]))//Timing

((NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)])Boole[PolyhedronData[pname,"RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}])/(PolyhedronData[pname,"Volume"]))//Timing

(i=((Integrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈p2])/(PolyhedronData[pname,"Volume"])))//Timing

N[i]

MeanSquareSphericalRadius

PolyhedronData[pname,"MeanSquareSphericalRadius"]

N[%]

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

((NIntegrate[((x^2)+(y^2)+(z^2))Boole[PolyhedronData[pname,"RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}])/vol)//Timing

bug(410183): Integrate[1, {x, y, z} ∈ PolyhedronData["MetabiaugmentedTruncatedDodecahedron", "Polyhedron"]] returns unevaluated

(i=((Integrate[(x^2)+(y^2)+(z^2),{x,y,z}∈p])/(PolyhedronData[pname,"Volume"])))//Timing

(i=((Integrate[((x^2)+(y^2)+(z^2))Boole[PolyhedronData[pname,"RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}])/(PolyhedronData[pname,"Volume"])))//Timing

res=Total[IntegrateOverPolygon[Function[{x,y,z},{x^3/3+y^2x+z^2x,0,0}],#]&/@PolyhedronData[pname,"Faces","Polygon"]]/vol//FullSimplify

N[res]

Midsphere

sphere=PolyhedronData[pname,"Midsphere"]

(sphere=Midsphere[p])//Timing

RegionFunction

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

reg=4 (#1+#3)≤9+5 (Sqrt[5])+4 #2&&2 (5+(Sqrt[5])) (#1+2 #3)≤5 (9+5 (Sqrt[5])+2 (-1+(Sqrt[5])) #2)&&9+5 (Sqrt[5])+2 (1+(Sqrt[5])) #1+2 (-1+(Sqrt[5])) #2≥0&&2 (1+(Sqrt[5])) #1+2 (-1+(Sqrt[5])) #2≤9+5 (Sqrt[5])&&4 (3 (Sqrt[5]) #1+5 #2+(Sqrt[5]) #3)≤5 (9+5 (Sqrt[5]))&&4 #2≤9+5 (Sqrt[5])+4 #1+4 #3&&2 (-1+(Sqrt[5])) #3≤9+5 (Sqrt[5])+2 (1+(Sqrt[5])) #2&&4 (#1+#2)≤9+5 (Sqrt[5])+4 #3&&4 (#2+#3)≤9+5 (Sqrt[5])+4 #1&&20 #2+4 (Sqrt[5]) #3≤45+25 (Sqrt[5])+12 (Sqrt[5]) #1&&2 (1+(Sqrt[5])) #3≤9+5 (Sqrt[5])+2 (-1+(Sqrt[5])) #1&&4 (5+(Sqrt[5])) #3≤2 (5+(Sqrt[5])) #1+5 (9+5 (Sqrt[5])+2 (-1+(Sqrt[5])) #2)&&2 (1+(Sqrt[5])) #2+2 (-1+(Sqrt[5])) #3≤9+5 (Sqrt[5])&&4 #3≤9+5 (Sqrt[5])+4 #1+4 #2&&2 (1+(Sqrt[5])) #2≤9+5 (Sqrt[5])+2 (-1+(Sqrt[5])) #3&&4 (Sqrt[5]) #3≤45+25 (Sqrt[5])+12 (Sqrt[5]) #1+20 #2&&4 #1≤9+5 (Sqrt[5])+4 #2+4 #3&&9+5 (Sqrt[5])+4 #1+4 #2+4 #3≥0&&9+5 (Sqrt[5])+2 (-1+(Sqrt[5])) #1+2 (1+(Sqrt[5])) #3≥0&&9+5 (Sqrt[5])+2 (1+(Sqrt[5])) #2+2 (-1+(Sqrt[5])) #3≥0&&2 (-1+(Sqrt[5])) #1≤9+5 (Sqrt[5])+2 (1+(Sqrt[5])) #3&&2 (1+(Sqrt[5])) #1≤9+5 (Sqrt[5])+2 (-1+(Sqrt[5])) #2&&10 (-1+(Sqrt[5])) #2+4 (5+(Sqrt[5])) #3≤45+25 (Sqrt[5])+2 (5+(Sqrt[5])) #1&&4 (Sqrt[5]) (3 #1+#3)≤5 (9+5 (Sqrt[5])+4 #2)&&2 (15+(Sqrt[5])) #1+(10-6 (Sqrt[5])) #3≤5 (9+5 (Sqrt[5]))&&2 (-1+(Sqrt[5])) #1+2 (1+(Sqrt[5])) #3≤9+5 (Sqrt[5])&&(10-6 (Sqrt[5])) #3≤5 (9+5 (Sqrt[5]))+2 (15+(Sqrt[5])) #1&&4 (#1+#2+#3)≤9+5 (Sqrt[5])&&2 (5+(Sqrt[5])) #1+10 (-1+(Sqrt[5])) #2+4 (5+(Sqrt[5])) #3≤5 (9+5 (Sqrt[5]))&&2 (-1+(Sqrt[5])) #2≤9+5 (Sqrt[5])+2 (1+(Sqrt[5])) #1&&(5+3 (Sqrt[5])) (-5+#3)≤(-15+(Sqrt[5])) #1+10 #2&&2 (5+2 (Sqrt[5])) #1+5 (-1+(Sqrt[5])) #2+3 (Sqrt[5]) #3≤5 (5+3 (Sqrt[5])+#3)&&(-15+(Sqrt[5])) #1+10 #2+(5+3 (Sqrt[5])) (-5+#3)≤0&&8 (Sqrt[5]) #3≤25+15 (Sqrt[5])+4 (Sqrt[5]) #1&&(-15+(Sqrt[5])) #1+(5+3 (Sqrt[5])) (-5+#3)≤10 #2&&3 (Sqrt[5]) #3≤2 (5+2 (Sqrt[5])) #1+5 (5+3 (Sqrt[5])+(-1+(Sqrt[5])) #2+#3)&&((#1+2 #3)/(Sqrt[5]))≤(1/4) (5+3 (Sqrt[5]))&&10 #2+(5+3 (Sqrt[5])) (-5+#3)≤(-15+(Sqrt[5])) #1&&5 (-1+(Sqrt[5])) #2+3 (Sqrt[5]) #3≤2 (5+2 (Sqrt[5])) #1+5 (5+3 (Sqrt[5])+#3)&&2 (5+2 (Sqrt[5])) #1+3 (Sqrt[5]) #3≤5 (5+3 (Sqrt[5])+(-1+(Sqrt[5])) #2+#3)&&#1+(Sqrt[5]) #1+2 #3≤7+2 (Sqrt[5])&&2 #3≤7+2 (Sqrt[5])+#1+(Sqrt[5]) #1&&4 #3≤5+3 (Sqrt[5])+2 (-1+(Sqrt[5])) #2&&5+3 (Sqrt[5])+2 (-1+(Sqrt[5])) #1+4 #2≥0&&5+3 (Sqrt[5])+4 #1+2 (-1+(Sqrt[5])) #3≥0&&2 (-1+(Sqrt[5])) #1+4 #2≤5+3 (Sqrt[5])&&2 (-1+(Sqrt[5])) #2≤5+3 (Sqrt[5])+4 #3&&2 (-1+(Sqrt[5])) #1≤5+3 (Sqrt[5])+4 #2&&4 #1≤5+3 (Sqrt[5])+2 (-1+(Sqrt[5])) #3&&4 #2≤5+3 (Sqrt[5])+2 (-1+(Sqrt[5])) #1&&5+3 (Sqrt[5])+2 (-1+(Sqrt[5])) #2+4 #3≥0&&2 (-1+(Sqrt[5])) #2+4 #3≤5+3 (Sqrt[5])&;

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

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

RegionPlot3D[Evaluate[N[reg[x,y,z]]],Evaluate[Sequence@@ranges],BoxRatios->Automatic,PlotPoints->40]

ByteCount[ineq=PolyhedronInequalities[p,{#1,#2,#3}]]

ByteCount[ineq2=FullSimplify[ineq]]//Timing

ineq2

Simple

PolyhedronData[pname,"Simple"]

SimplePolyhedronQ[p]

SkeletonCoordinates

vc=PolyhedronData["MetabiaugmentedTruncatedDodecahedron","V"]

g=Graph[Range[vc],UndirectedEdge@@@PolyhedronData["MetabiaugmentedTruncatedDodecahedron","EdgeIndices"]]

r=RecognizeGraph[g]

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

ToCommonEdges[GraphData[r],g]

SurfaceArea

PolyhedronData[pname,"SurfaceArea"]

RootReduce[%]

SurfaceArea[p]//RootReduce//Timing

Total[Area/@PolyhedronData[pname,"Polygons"]]//RootReduce//Timing

VertexSubsetHulls

PolyhedronData[pname,"VertexSubsetHulls"]

Platonic

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

Volume

vol=PolyhedronData["MetabiaugmentedTruncatedDodecahedron","Volume"]

N[vol]

bug(428576): Volume[PolyhedronData["MetabiaugmentedTruncatedDodecahedron", "Polyhedron"]] quickly returns inexact value despite an exact one being easily computable

Volume[p]//Timing

PolyhedronVolume[p]//RootReduce//Timing

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

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