Bilinski Dodecahedron

Author

Eric W. Weisstein
May 12, 2021

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

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

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

Source

https://en.wikipedia.org/wiki/Bilinski_dodecahedron

Solid

PolyhedronData["BilinskiDodecahedron","Orientations"]

PolyhedronData["BilinskiDodecahedron"]

Net

PolyhedronData["BilinskiDodecahedron","Net"]

PolyhedronData["BilinskiDodecahedron","Net","Colored"]

NetPrintout[PolyhedronData["XXX","Polyhedron"],"SmallTriakisOctahedron.pdf"]

Properties

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

AdjacentFaceIndices

PolyhedronData["BilinskiDodecahedron","AdjacentFaceIndices"]

AdjacentFaceIndices[p]==%

Centroid

PolyhedronData["BilinskiDodecahedron","Centroid"]

RegionCentroid[p//N]//Chop//N

PolyhedronCentroid[p//N,PolyhedronData["BilinskiDodecahedron","Volume"]]//Chop//N

N[xbar1=RegionCentroid[p]]//Chop//N

N[xbar2=PolyhedronCentroid[p]]//Chop//N

ByteCount/@{xbar1,xbar2}

xbar2

Convex

ConvexPolyhedronQ[p]

DihedralAngles

dih=PolyhedronData["BilinskiDodecahedron","DihedralAngles"]

DihedralAngles[p//N]-dih//Abs//Max

SimplifyNumericallyDistinct[DihedralAngles[p],Debug->True]

GeneralizedDiameter

PolyhedronData["BilinskiDodecahedron","GeneralizedDiameter"]

GeneralizedDiameter[p]

N[%]

InertiaTensor

PolyhedronData["BilinskiDodecahedron","InertiaTensor"]

N[%]

MomentOfInertia[p//N,{0,0,0}]/PolyhedronData["BilinskiDodecahedron","Volume"]//Chop//N

PolyhedronInertiaTensor[p//N]//Chop//N

ByteCount[i1=MomentOfInertia[p,{0,0,0}]/PolyhedronData["BilinskiDodecahedron","Volume"]]//Timing

ByteCount[i2=PolyhedronInertiaTensor[p,PolyhedronData["BilinskiDodecahedron","Volume"],Identity,Identity]]//Timing

ByteCount[i3=PolyhedronInertiaTensor[p,PolyhedronData["BilinskiDodecahedron","Volume"]]]//Timing

FullSimplify[i3]

MeanCylindricalRadius

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

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

N[i]

MeanCylindricalSquareRadius

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

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

N[i]

MeanSphericalRadius

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

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

N[i]

MeanSphericalSquareRadius

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

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

N[i]

RegionFunction

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

bounds=RegionBounds[ImplicitRegion[PolyhedronData["BilinskiDodecahedron","RegionFunction"][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]

Evaluate[PolyhedronInequalities[p,{#1,#2,#3}]//Chop]

FullSimplify[%]

SkeletonCoordinates

g=PolyhedronData["BilinskiDodecahedron","SkeletonGraph"]

r=RecognizeGraph[g]

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

ToCommonEdges[g,GraphData[r]]

SurfaceArea

PolyhedronData["BilinskiDodecahedron","SurfaceArea"]

N[%]

area1=SurfaceArea[p];

area2=PolyhedronSurfaceArea[p];

N/@{area1,area2}

ByteCount/@{area1,area2}

RootReduce[area1]//Timing

RootReduce[area2]//Timing

Volume

PolyhedronData["BilinskiDodecahedron","Volume"]

(v1=Volume[p])//N

(v2=PolyhedronVolume[p])//N

(v3=PolyhedronVolume[p,Method->"GaussLaw"])//N

ByteCount/@{v1,v2,v3}

FullSimplify[v1]//Timing

RootReduce[v2]//FullSimplify//Timing

FullSimplify[v3]//Timing

Solid construction

From Ed Pegg, Jr.
Dec. 27, 2018

According to H.M.S. Coxeter a zonohedron is as a convex polyhedron each of whose faces is centrally symmetrical, see [3]. If its faces are all golden rhombs then a zonohedron is called golden isozonohedron. Altogether there are five golden isozonohedra. In Coxeter’s notation: the rhombic triacontahedron K30, the rhombic icosahedron F20 and the rhombic dodecahedron B12, denoted according to their discoverers Kepler, Fedorov and Bilinski, as well as the long and the flat tile, denoted by A6 and O6, where A stands for acute and O for oblate.

[3] Coxeter, H. S. M., The Beauty of Geometry: Twelve Essay

K30 = PolyhedronData[“RhombicTriacontahedron”]
F20 = PolyhedronData[“RhombicIcosahedron”]
B12 = below    (Eric, should we add this one?)
A6 = PolyhedronData[“AcuteGoldenRhombohedron”]
O6 = PolyhedronData[“ObtuseGoldenRhombohedron”]

pts={{0,1,GoldenRatio},{0,1,-GoldenRatio},{0,-1,GoldenRatio},{0,-1,-GoldenRatio},{1,1,0},{1,-1,0},{-1,1,0},{-1,-1,0},
{GoldenRatio,0,GoldenRatio},{GoldenRatio,0,-GoldenRatio},{-GoldenRatio,0,GoldenRatio},{-GoldenRatio,0,-GoldenRatio},{GoldenRatio^2,0,0},{-GoldenRatio^2,0,0}};
fac={{1,9,13,5},{1,5,2,7},{1,7,14,11},{2,5,13,10},{2,12,14,7},{3,8,4,6},{3,6,13,9},{3,11,14,8},{4,10,13,6},{4,8,14,12},{10,4,12,2},{11,3,9,1}};
Graphics3D[{FaceForm[Green,Red],EdgeForm[None],poly=GraphicsComplex[pts,Polygon[fac]]}]

ToEntity[SkeletonGraph[poly]]

diagonals=FullSimplify[Map[EuclideanDistance@@#&,Transpose[Partition[#,2]]&/@fac/.i_Integer:>pts[[i]],{2}]]/. 1+(Sqrt[5])->2GoldenRatio

Divide@@@%

Net construction

Pegg (Jan 3, 2019) [WRONG]

From Ed Pegg, Jr.
Jan 3, 2019

On 2/1/2019 3:07 AM, Hafner, Izidor wrote:

But the net is impossible since it contains at least 5 vertices where around them there are 3 rhombi in equal position. But BD  has only 4 such vertices (Kepler's has 8).

faces=With[{ϕ=GoldenRatio},{{{-6-8 ϕ,-40+20 ϕ},{-2-16 ϕ,-43+26 ϕ},{-16 ϕ,-32+26 ϕ},{-4-8 ϕ,-29+20 ϕ}},{{6-8 ϕ,-24+20 ϕ},{10-16 ϕ,-27+26 ϕ},{-16 ϕ,-32+26 ϕ},{-4-8 ϕ,-29+20 ϕ}},{{6-8 ϕ,-24+20 ϕ},{6-8 ϕ,-19+10 ϕ},{-4-8 ϕ,-24+10 ϕ},{-4-8 ϕ,-29+20 ϕ}},{{2,-16+4 ϕ},{6-8 ϕ,-19+10 ϕ},{-4-8 ϕ,-24+10 ϕ},{-8,-21+4 ϕ}},{{2,-16+4 ϕ},{6-8 ϕ,-19+10 ϕ},{8-8 ϕ,-8+10 ϕ},{4,-5+4 ϕ}},{{14,4 ϕ},{18-8 ϕ,-3+10 ϕ},{8-8 ϕ,-8+10 ϕ},{4,-5+4 ϕ}},{{14,4 ϕ},{14,5-6 ϕ},{4,-6 ϕ},{4,-5+4 ϕ}},{{10+8 ϕ,8-12 ϕ},{14,5-6 ϕ},{4,-6 ϕ},{8 ϕ,3-12 ϕ}},{{10+8 ϕ,8-12 ϕ},{14,5-6 ϕ},{16,16-6 ϕ},{12+8 ϕ,19-12 ϕ}},{{22+8 ϕ,24-12 ϕ},{26,21-6 ϕ},{16,16-6 ϕ},{12+8 ϕ,19-12 ϕ}},{{22+8 ϕ,24-12 ϕ},{22+8 ϕ,29-22 ϕ},{12+8 ϕ,24-22 ϕ},{12+8 ϕ,19-12 ϕ}},{{18+16 ϕ,32-28 ϕ},{22+8 ϕ,29-22 ϕ},{12+8 ϕ,24-22 ϕ},{8+16 ϕ,27-28 ϕ}}}];

Length[vertices=Flatten[faces,1]//Union]

vertices//FullSimplify

faceindices=faces/.Thread[vertices->Range[Length[vertices]]]

Graphics[{EdgeForm[{Black}],White,GraphicsComplex[vertices,Polygon[faceindices]]},Axes->True]

Pegg (Feb 1, 2019)

ϕ=GoldenRatio;
gr={{1,0},{0,ϕ},{-1,0},{0,-ϕ}};
offset={(9+2ϕ),(2+ϕ)}/5;
tiltgr1={{-1+2 ϕ,2-4 ϕ},{4+2 ϕ,2+ϕ},{1-2 ϕ,-2+4 ϕ},{-4-2 ϕ,-2-ϕ}}/5;
tiltgr2={{-19-2 ϕ,-2+4 ϕ},{-14-2 ϕ,-2-ϕ},{-17-6 ϕ,2-4 ϕ},{-22-6 ϕ,2+ϕ}}/5;
gr5=Prepend[Table[#+Total[Partition[gr,2,1,1][[n]]]&/@gr,{n,1,4}], gr];
gr5u= #+offset&/@#&/@gr5;
gr5a= Join[gr5u,-gr5u,{tiltgr1,tiltgr2}];
rd2net=Graphics[{EdgeForm[Black], White,Polygon/@gr5a}];

rd2net

Izador Hafner Demonstration (Feb 1, 2019)

Demonstration: Nets for Bilinski Dodecahedron

GraphicsRow[{,,,}]

v=Union[Flatten[[[1,1]],1]]

Length[v]

sub=Subsets[Range[26],{2}];

i=Select[sub,EuclideanDistance@@v[[#]]==1&]

GraphicsComplex[v,Line[i]]//Graphics

exact=RootApproximant[v,2]

Graphics[GraphicsComplex[exact,Line[i]],Axes->True]

EuclideanDistance@@@(exact[[#]]&/@i)//FullSimplify//Union

mins=Min/@Transpose[exact]

exact2=Simplify[(#-mins)&/@exact]

g=System`Graph[Range[26],UndirectedEdge@@@i,VertexCoordinates->exact2]

Graphics[{GraphicsComplex[exact2,Line[i]],MapIndexed[Text[#2[[1]],#,Background->White]&,exact2]},Axes->True]

faces=System`FindCycle[g,{4},All][[All,All,1]]

Graphics[{FaceForm[LightYellow],EdgeForm[Black],GraphicsComplex[exact2,Polygon[faces]]}]

Oriented2DQ[p_]:=Chop[N[Total[Det/@Partition[p,2,1,1]],20]]>0

orientations=Oriented2DQ/@(v[[#]]&/@faces)

newfaces=If[#,#2,Reverse[#2]]&@@@Transpose[{orientations,faces}]

orientations=Oriented2DQ/@(v[[#]]&/@newfaces)

Graphics[{FaceForm[LightYellow],EdgeForm[Black],GraphicsComplex[exact2,Polygon[newfaces]]}]

PolyhedronData

PolyhedronDataString

PolyhedronDataString[poly,
"StandardName"->"BilinskiDodecahedron",
"Name"->"Bilinski dodecahedron",
"Classes"->{"Zonohedron"},
Debug->True
]