Dual Polyhedron

Author

Eric W. Weisstein
February 3, 2011

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

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

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

Dorman-Luke Construction

V5

Show[Graphics3D[{CuboctahedronExact,
VertexFigures[CuboctahedronExact][[7]]/.Polygon[l_]:>Line[Append[l,l[[1]]]]}],Boxed->False]

rect=VertexFigures[CuboctahedronExact][[7,1]]

rect={{0,0},{1,0},{1,Sqrt[2]},{0,Sqrt[2]}}

Sqrt[(1/2)^2+(Sqrt[2]/2)^2]

Show[Graphics[{TangentialPolygon[rect],Polygon[rect],
Line[rect[[{1,3}]]],Line[rect[[{2,4}]]],
Dashing[{.02,.02}],Circle[{1/2,Sqrt[2]/2},Sqrt[3]/2]
} /. Polygon->ClosedLine],
AspectRatio->Automatic]

V6

Graphics3D[{PolyhedronData["Cuboctahedron","Faces"],VertexFigures[Normal[PolyhedronData["Cuboctahedron","Faces"]]][[9]]},Boxed->False]

GraphicsColumn[{
GraphicsRow[{,}],
},Spacings->-70]

"DualPolyhedron"->,

Dualizing the Cube

p=Table[{-1,1},{3}];
Show[GraphicsArray[{
Show[Graphics3D[Orient[Cube[[1]]]],PlotRange->p,Boxed->False,DisplayFunction->Identity],
Show[DualArchimedeanPolyhedronAndMidlines[Orient[Cube[[1]]]],PlotRange->p,Boxed->False,DisplayFunction->Identity],Show[{DualArchimedeanPolyhedronAndMidlines[Orient[Cube[[1]]]],Graphics3D[Orient[Cube[[1]]]]},Boxed->False,PlotRange->p,DisplayFunction->Identity]
}]]

Ratio of Surface Area to Volume for Equal Inradii

<<Utilities`Simplify`

Platonics

Function[poly,Divide@@@Transpose[Through[{PolyhedronSymmetricSurfaceArea,PolyhedronSymmetricVolume}[#]]&/@(Polyhedron[#]/.Polygon[x_]:>Polygon[x/Inradius[#]])&/@{#,PolyhedronDual[#]}&[poly]]//ToExact]/@Platonics

Archimedeans

Function[poly,Divide@@@Transpose[Through[{PolyhedronSymmetricSurfaceArea,PolyhedronSymmetricVolume}[#]]&/@(Polyhedron[#]/.Polygon[x_]:>Polygon[x/Inradius[#]])&/@{#,PolyhedronDual[#]}&[poly]]//ToExact]/@Archimedeans

Dual scale

{"Antiprism", 4}

Graphics3D[p=PolyhedronData[{"Antiprism",4},"Polyhedron"]]

s=PolyhedronData[{"Antiprism",4},"Midsphere"]

dual=PolyhedronData[{"Antiprism",4},"Dual"]

Graphics3D[{Opacity[.7],Yellow,s,Red,p}]

Computed

PolyhedronData["Trape

Built-in

DualPolyhedron[p]//Graphics3D

ConvexPolyhedronQ[DualPolyhedron[p]]

Regular + Semiregular

For regular and semiregular solids, the vertices of the dual lie on extensions of the the lines from the origin through the centroid  of each face

For a regular or semiregular solid _only_, the midsphere passes  through the midpoint of each edge

oct=PolyhedronData["Octahedron","Polyhedron"]

cube=ConvexHullRegion[(GoldenRatio-1)Normalize[Mean[#[[1]][[#[[2]]]]]]&/@PolyhedronPolygons[oct]]

Graphics3D[{cube,oct}]

(GoldenRatio-1)//FunctionExpand//Simplify

OctahedronDual[oct_Polyhedron]:=ConvexHullRegion[(GoldenRatio-1)Normalize[Mean[#[[1]][[#[[2]]]]]]&/@PolyhedronPolygons[oct]]

OctahedronDualNorms[oct_Polyhedron]:=Norm[Mean[#[[1]][[#[[2]]]]]]&/@PolyhedronPolygons[oct]

OctahedronDualNorms[oct]