Elongated Dodecahedron

Author

Eric W. Weisstein
September 12, 2023

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

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

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

Solid

PolyhedronData["ElongatedDodecahedron","Orientations"]

PolyhedronData["ElongatedDodecahedron"]

Net

PolyhedronData["ElongatedDodecahedron","Net"]

PolyhedronData["ElongatedDodecahedron","Net","Colored"]

Properties

Initialization

<<MathWorld`Polyhedra`

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

vol=PolyhedronData[pname,"Volume"]

Centroid

Graphics3D[{AbsolutePointSize[10],
Point[{0,0,0}],{Blue,Point[PolyhedronData[pname,"Centroid"]]},Opacity[.2],PolyhedronData[pname,"GraphicsComplex"]}]

PolyhedronData[pname,"Centroid"]

RegionCentroid[p]

PolyhedronCentroid[p]

Circumsphere

PolyhedronData[pname,"Circumsphere"]

Circumsphere[p]

sphere=MyCircumsphere[p]

Convex

ConvexPolyhedronQ[p]

DihedralAngles

PolyhedronData[pname,"DihedralAngles"]//Tally

DihedralAngles[p]//FullSimplify//Tally

EdgeLengths

PolyhedronData[pname,"EdgeLengths"]

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

Faces

InertiaTensor

PolyhedronData["ElongatedDodecahedron","InertiaTensor"]

((MomentOfInertia[p,{0,0,0}])/(Volume[p]))//RootReduce//Timing

PolyhedronInertiaTensor[p]//Timing

Insphere

PolyhedronData[pname,"Insphere"]

Insphere[p]

sphere=MyInsphere[p]

MeanCylindricalRadius

PolyhedronData[pname,"MeanCylindricalRadius"]

N[%]

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

ClosestMeanCylindricalRadius[%]

Integrate over polyhedron

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

N[rxy]

Divergence theorem

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

N[rxy]

LogSimplify[rxy]//FullSimplify

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<x&&z>0]

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]

TrigToExp[rxy]//Simplify

Boole Integrate doing z integral first

{{xmin,xmax},{ymin,ymax},{zmin,zmax}}==CoordinateBounds[p]

ineq=PolyhedronData[pname,"RegionFunction"][x,y,z]

(i1=Integrate[Boole[ineq](Sqrt[(x^2)+(y^2)]),{z,zmin,zmax}])//Timing

NIntegrate[(i1/vol),{x,xmin,xmax},{y,ymin,ymax}]

(i2=Integrate[(i1/vol),{x,xmin,xmax},{y,ymin,ymax}])//Timing

MeanSquareCylindricalRadius

PolyhedronData[pname,"MeanSquareCylindricalRadius"]

N[%]

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

Integrate over Polyhedron

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

MeanSphericalRadius

PolyhedronData[pname,"MeanSphericalRadius"]

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

ClosestMeanSphericalRadius[%]

Integrate over polyhedron

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

N[rxyz]

Divergence theorem [unevaluated]

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

N[rxyz]

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<x&&z>0]

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

67+ GB

N[rxyz,20]

rxysimp1=LogSimplify[rxy]//FullSimplify

MeanSquareSphericalRadius

PolyhedronData[pname,"MeanSquareSphericalRadius"]

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

Integrate over polyhedron

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

N[rxy2]

Midsphere

PolyhedronData[pname,"Midsphere"]

Midsphere[p]

Region

RegionPlot3D[PolyhedronData["ElongatedDodecahedron","RegionFunction"][x,y,z],{x,-1,1},{y,-1,1},{z,-1.5,1.5},Boxed->False,BoxRatios->Automatic,Axes->False]

Rhombs

(Dot@@(Unit/@{#[[1]]-#[[2]],#[[3]]-#[[2]]}))&/@Partition[g[[1,1]],3,1]

ArcCos[%]/Degree//N

SurfaceArea

PolyhedronData["ElongatedDodecahedron","SurfaceArea"]

N[%]

PolyhedronSurfaceArea[PolyhedronData["ElongatedDodecahedron","Faces"]]//FullSimplify

N[%]

Volume

PolyhedronData["ElongatedDodecahedron","Volume"]//FullSimplify

Volume[PolyhedronData["ElongatedDodecahedron","Faces"]]//FullSimplify

PolyhedronVolume[PolyhedronData["ElongatedDodecahedron","Faces"]]//FullSimplify

Integrate[Boole[PolyhedronData["ElongatedDodecahedron","RegionFunction"][x,y,z]],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}]//Timing

Construction

Solid

poly=Orient[Zonohedron[{{0,Sqrt[3],1},{Sqrt[3],0,1},{0,-Sqrt[3],1},{-Sqrt[3],0,1},{0,0,2}}]/.Polygon[x_]:>Polygon[{0,0,-3/2}+#&/@(x/2)]];

Min/@Transpose[PolyhedronVertices[poly]]

Max/@Transpose[PolyhedronVertices[poly]]

Graphics3D[{PointSize[.02],Point[{0,0,0}],Opacity[.2],FaceForm[Blue,Red],poly}]

Graphics3D[{PointSize[.02],Point[{0,0,0}],Opacity[1],FaceForm[Blue,Red],poly}]

Net

<<ExtraPackages`UnfoldPolytope`

UnfoldPolytope[Flatten[Normal[PolyhedronData["ElongatedDodecahedron","Faces"]]]]

v=Flatten[Normal[PolyhedronData["ElongatedDodecahedron","Faces"]]][[1,1]]

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

ArcCos[Dot@@(Normalize/@(Subtract@@@{v[[{1,4}]],v[[{3,4}]]}))]//FullSimplify

pp[x_:0]:=Polygon[Through[{Cos,Sin}[2Pi (#+1/2)/6]]&/@Range[0,5]]/.Polygon[v_]:>Polygon[(x{(Sqrt[3]),0}+#)&/@v]

Graphics[{LightYellow,EdgeForm[Black],pp/@Range[0,3],Black,Thickness[.01],PointSize[.03],Point[{((5 (Sqrt[3]))/2),(1/2)}],
Line[{{3 (Sqrt[3]),1},{((5 (Sqrt[3]))/2),(1/2)}}],
Blue,Line[{{((5 (Sqrt[3]))/2),(1/2)},{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)}}],
Line[{{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)},{((Sqrt[3])/2),(1/2)}+{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)}}]
}]

r[x_]:=Polygon[{{3 (Sqrt[3]),1},{((5 (Sqrt[3]))/2),(1/2)},{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)},{((Sqrt[3])/2),(1/2)}+{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)}}]/.Polygon[v_]:>Polygon[((x-3){(Sqrt[3]),0}+#)&/@v]

r2[x_]:=Polygon[{{3 (Sqrt[3]),1},{((5 (Sqrt[3]))/2),(1/2)},{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)},{((Sqrt[3])/2),(1/2)}+{((21 (Sqrt[3]))/8)-((Sqrt[15])/8),(5/8)+((3 (Sqrt[5]))/8)}}]/.Polygon[v_]:>Polygon[{-#[[1]],-#[[2]]}&/@v]/.Polygon[v_]:>Polygon[((6-x){(Sqrt[3]),0}+#)&/@v]

Graphics[g={LightYellow,EdgeForm[Black],pp/@Range[0,3],Black,Thickness[.01],PointSize[.03],Point[{((5 (Sqrt[3]))/2),(1/2)}],
r/@Range[0,3],r2/@Range[0,3]}]

NetFromPolygon[g_]:=Module[{p=Cases[g,_Polygon,{1,∞}][[All,1]],v,e},
v=Union[Flatten[p,1]];
e=FullSimplify[SortBy[Norm/@Subtract@@@Flatten[Partition[#,2,1,1]&/@p,1],N][[1]]];
GraphicsComplex[(#-Min/@Transpose[v]&/@v)/e,Polygon[p/.Thread[v->Range[Length[v]]]]]
]

Partition[Range[5],2,1,1]

Min/@Transpose[{{0,-1},{1,1},{2,1},{2,2}}]

Subtract@@@Flatten[Partition[#,2,1,1]&/@{{{0,-1},{1,1},{2,1}},{{0,-1},{1,1},{2,2}}},1]

#-Min/@Transpose[v]&/@v

Graphics[{LightYellow,EdgeForm[Black],NetFromPolygon[FullSimplify[g]]},Frame->True]

NetFromPolygon[FullSimplify[g]]

PolyhedronData

PolyhedronDataString[
poly,
"StandardName"->"ElongatedDodecahedron",
"AlternateStandardNames"->{"ExtendedRhombicDodecahedron","RhomboHexagonalDodecahedron","RhombohexagonalDodecahedron"},
"Name"->"elongated dodecahedron",
"AlternateNames"->{"extended rhombic dodecahedron","rhombo-hexagonal dodecahedron"},
"Information"->"ElongatedDodacehedron",
"Classes"->{"Convex","Spacefilling"},
Debug->True
]