Chamfered Icosahedron

Author

Eric W. Weisstein
October 5, 2022

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

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

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

Graphic

PolyhedronData["*ChamferedIcosahedron"]

Varying chamfering ratios

With[{p=Icosahedron[]},GraphicsRow[Graphics3D[{Opacity[.8],#},Boxed->False]&/@Prepend[Table[ResourceFunction["ChamferedPolyhedron"][p,r],{r,.2,.99,.2}],p]]]

Solid

Graphics3D[{Opacity[.8],PolyhedronData["EquilateralChamferedIcosahedron","Polyhedron"]},Boxed->False]

Graphics3D[{FaceForm[Green,Red],PolyhedronData["EquilateralChamferedIcosahedron","Polyhedron"]},Boxed->False]

Net

PolyhedronData["EquilateralChamferedIcosahedron","Net"]

PolyhedronData["EquilateralChamferedIcosahedron","Net","Colored"]

Properties

<<MathWorld`Polyhedra`

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

vol=PolyhedronData[pname,"Volume"]

Centroid

PolyhedronData[pname,"Centroid"]

(xbar=RegionCentroid[poly])//Timing

ToAlgebraicRoot/@xbar//Quiet

PolyhedronCentroid[poly]//Timing

Circumsphere

PolyhedronData[pname,"Circumsphere"]

Circumsphere[poly]//Timing

MyCircumsphere[poly]//Timing

EdgeLengths

PolyhedronData[pname,"EdgeLengths"]

SimplifyNumericallyDistinct[PolyhedronEdgeLengths[poly]]//Quiet//Union

PolyhedronEdgeLengths[poly]//RootReduce//Union//Quiet//Timing

GeneralizedDiameter

PolyhedronData[pname,"GeneralizedDiameter"]

GeneralizedDiameter[poly]//FullSimplify//Quiet

RootReduce[%]

FullSimplify[%]

InertiaTensor

PolyhedronData[pname,"InertiaTensor"]

(i=MomentOfInertia[poly,{0,0,0}])//Timing

(ii=Map[ToAlgebraicRoot,i,{2}])//Quiet//Timing

iii=RootReduce[(ii/vol)]//FullSimplify

N[iii]

Equal@@Tr[iii,List]

(i=PolyhedronInertiaTensor[poly,vol])//Timing

Insphere

PolyhedronData[pname,"Insphere"]

Insphere[poly]//Timing

MyInsphere[poly]//Timing

MeanCylindricalRadius

PolyhedronData[pname,"MeanCylindricalRadius"]

Integrate over polyhedron

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

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

Divergence theorem

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

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)

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

Inequalities

{{xmin,xmax},{ymin,ymax},{zmin,zmax}}=MinMax/@Transpose[PolyhedronCoordinates[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

MeanSphericalRadius

PolyhedronData[pname,"MeanSphericalRadius"]

Integrate over Polyhedron

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

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

Divergence theorem

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

MeanSquareCylindricalRadius

PolyhedronData[pname,"MeanSquareCylindricalRadius"]

N[%]

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

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

MeanSquareCylindricalRadius[p]//Timing

MeanSquareSphericalRadius

PolyhedronData[pname,"MeanSquareSphericalRadius"]

N[%]

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

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

((3 (46137195+11515681 (Sqrt[5])+4 (Sqrt[110311427032250+49264434760210 (Sqrt[5])])))/126860200)//N

(rxyz2=MeanSquareSphericalRadius[p,Debug->True])//Timing

ToAlgebraicRoot[rxyz2]

FullSimplify[%]

Midsphere

PolyhedronData[pname,"Midsphere"]

Midsphere[poly]//Timing

Midsphere[poly,Method->"PointLineDistance","SolveMethod"->"NSolve"]//Timing

Net

PolyhedronData[pname,"Net"]

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

PolyhedronData[pname,"SurfaceArea"]

Region

PolyhedronData[pname,"Region"]

RegionFunction

ineq=Collect[#,{x,y,z},RootReduce]&/@PolyhedronInequalities[poly,{x,y,z}]

ineq/.{x->#,y->#2,z->#3}

FullSimplify/@%

ineq=20 #2+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #1&&4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[50-10 (Sqrt[5])]) #1&&4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #1+20 #2&&2 (Sqrt[10 (5+(Sqrt[5]))]) #1+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+10 (-1+(Sqrt[5])) #2&&2 (Sqrt[5]) ((Sqrt[2 (5+(Sqrt[5]))]) #1+5 #2+2 (Sqrt[5+2 (Sqrt[5])]) #3)≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+10 #2&&4 (Sqrt[5 (5-2 (Sqrt[5]))]) #1≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+20 #2+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3&&4 (Sqrt[50-10 (Sqrt[5])]) #1≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3&&20 ((Sqrt[1-(2/(Sqrt[5]))]) #1+#2-(Sqrt[1+(2/(Sqrt[5]))]) #3)≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])&&10 (-1+(Sqrt[5])) #2≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+2 (Sqrt[10 (5+(Sqrt[5]))]) #1+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3&&15+5 (Sqrt[5])+6 (Sqrt[10 (5+(Sqrt[5]))])+2 (Sqrt[10 (5+(Sqrt[5]))]) #1+10 (-1+(Sqrt[5])) #2+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #3≥0&&10 (1+(Sqrt[5])) #2+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+2 (Sqrt[50-10 (Sqrt[5])]) #1&&4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[10 (5+(Sqrt[5]))]) #1&&4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+2 (Sqrt[50-10 (Sqrt[5])]) #1+10 (1+(Sqrt[5])) #2&&4 (Sqrt[5 (5+2 (Sqrt[5]))]) #1+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3≤15+5 (Sqrt[5])+6 (Sqrt[10 (5+(Sqrt[5]))])+20 #2&&4 ((Sqrt[5 (5+2 (Sqrt[5]))]) #1+5 #2+(Sqrt[5 (5-2 (Sqrt[5]))]) #3)≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])&&2 (Sqrt[50-10 (Sqrt[5])]) #1≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+10 (1+(Sqrt[5])) #2+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3&&4 (Sqrt[10 (5+(Sqrt[5]))]) #1≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3&&10 ((Sqrt[2-(2/(Sqrt[5]))]) #1+(1+(Sqrt[5])) #2-2 (Sqrt[1-(2/(Sqrt[5]))]) #3)≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])&&20 #2≤5 (3+(Sqrt[5]))+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #1+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3&&15+5 (Sqrt[5])+6 (Sqrt[10 (5+(Sqrt[5]))])+4 (Sqrt[5 (5+2 (Sqrt[5]))]) #1+20 #2+4 (Sqrt[5 (5-2 (Sqrt[5]))]) #3≥0&&(Sqrt[5]) ((Sqrt[5-2 (Sqrt[5])]) #2+2 #3)≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+(Sqrt[5]) #1&&(Sqrt[5]) (-(Sqrt[5-2 (Sqrt[5])]) #2+2 #3)≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+(Sqrt[5]) #1&&(Sqrt[5]) (3 #1+4 #3)≤10+2 (Sqrt[5])+(Sqrt[10 (5+(Sqrt[5]))])+5 #1+(Sqrt[50-10 (Sqrt[5])]) #2&&(Sqrt[5]) (3 #1+(Sqrt[10-2 (Sqrt[5])]) #2+4 #3)≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+5 #1&&2 (Sqrt[5]) #3≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+(-5+(Sqrt[5])) #1&&(Sqrt[5]) (#1-(Sqrt[5-2 (Sqrt[5])]) #2)≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+2 (Sqrt[5]) #3&&(Sqrt[5]) (#1+(Sqrt[5-2 (Sqrt[5])]) #2)≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+2 (Sqrt[5]) #3&&5 (#1+(Sqrt[2-(2/(Sqrt[5]))]) #2)≤10+2 (Sqrt[5])+(Sqrt[10 (5+(Sqrt[5]))])+3 (Sqrt[5]) #1+4 (Sqrt[5]) #3&&(5-3 (Sqrt[5])) #1≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(Sqrt[50-10 (Sqrt[5])]) #2+4 (Sqrt[5]) #3&&(-5+(Sqrt[5])) #1≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+2 (Sqrt[5]) #3&&(-5+(Sqrt[5])) #1+(Sqrt[10 (5+(Sqrt[5]))]) #2≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+2 (-5+(Sqrt[5])) #3&&5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+2 (Sqrt[5]) #1+(-5+(Sqrt[5])) #3≥0&&(-5+(Sqrt[5])) #1≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(Sqrt[10 (5+(Sqrt[5]))]) #2+2 (-5+(Sqrt[5])) #3&&(5+(Sqrt[5])) #1≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(Sqrt[50-10 (Sqrt[5])]) #2+2 (-5+(Sqrt[5])) #3&&(5+(Sqrt[5])) #1+(Sqrt[50-10 (Sqrt[5])]) #2≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+2 (-5+(Sqrt[5])) #3&&2 (-5+(Sqrt[5])) #3≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(-5+(Sqrt[5])) #1+(Sqrt[10 (5+(Sqrt[5]))]) #2&&(Sqrt[5]) #1≤2+(2/(Sqrt[5]))+(Sqrt[2 (1+(1/(Sqrt[5])))])+#1+(Sqrt[2+(2/(Sqrt[5]))]) #2&&2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+2 (Sqrt[50-10 (Sqrt[5])]) #2≥0&&(Sqrt[5]) (2 #1+#3)≤5+(Sqrt[5])+(Sqrt[(5/2) (5+(Sqrt[5]))])+5 #3&&#1+(Sqrt[1-(2/(Sqrt[5]))]) #2≤1+(1/(Sqrt[5]))+(Sqrt[(1/10) (5+(Sqrt[5]))])&&#1≤1+(1/(Sqrt[5]))+(Sqrt[(1/10) (5+(Sqrt[5]))])+(Sqrt[1-(2/(Sqrt[5]))]) #2&&(Sqrt[10 (5+(Sqrt[5]))]) #2+2 (-5+(Sqrt[5])) #3≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(-5+(Sqrt[5])) #1&&2 (Sqrt[50-10 (Sqrt[5])]) #2≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])&&5 (-1+(Sqrt[5])) #1+(Sqrt[10 (5+(Sqrt[5]))]) #2≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])&&(Sqrt[50-10 (Sqrt[5])]) #2+2 (-5+(Sqrt[5])) #3≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(5+(Sqrt[5])) #1&&(Sqrt[1-(2/(Sqrt[5]))]) #2≤1+(1/(Sqrt[5]))+(Sqrt[(1/10) (5+(Sqrt[5]))])+#1&&(Sqrt[10 (5+(Sqrt[5]))]) #2≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+5 (-1+(Sqrt[5])) #1&&2 (-5+(Sqrt[5])) #3≤2 (5+(Sqrt[5]))+(Sqrt[10 (5+(Sqrt[5]))])+(5+(Sqrt[5])) #1+(Sqrt[50-10 (Sqrt[5])]) #2&&#1≤2+(2/(Sqrt[5]))+(Sqrt[2 (1+(1/(Sqrt[5])))])+(Sqrt[5]) #1+(Sqrt[2+(2/(Sqrt[5]))]) #2&&1+(1/(Sqrt[5]))+(Sqrt[(1/10) (5+(Sqrt[5]))])+#1+(Sqrt[1-(2/(Sqrt[5]))]) #2≥0;

FullSimplify@ineq//Timing

Skeleton

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

With[{verts=PolyhedronData[pname,"Vertices"],faces=PolyhedronData[pname,"Faces","List"]},
ToCommonEdges[,Graph[Range[Length[verts]],UndirectedEdge@@@Union[Sort/@Flatten[Partition[#,2,1,1]&/@faces,1]]]]]//Chop[#,1*^-5]&//N

PolyhedronData[pname,"Skeleton"]

PolyhedronData[pname,"Skeleton"]//RecognizeGraph

SurfaceArea

PolyhedronData[pname,"SurfaceArea"]

SurfaceArea[poly]//ToAlgebraicRoot//FullSimplify//Quiet//Timing

PolyhedronSurfaceArea[p]//ToAlgebraicRoot//ToRadicals//Timing

Volume

PolyhedronData[pname,"Volume"]

Volume[p]//RootReduce//Quiet//Timing

PolyhedronVolume[poly]//ToAlgebraicRoot//Quiet//Timing

Volume[PolyhedronData[pname,"Region"]]//RootReduce//Timing

Volume[PolyhedronData[pname,"Region"]]//ToAlgebraicRoot//Timing

Construction

Mangaldan

from Jan Mangaldan, July 2022

EquilateralChamferedIcosahedron=Polyhedron[]

Weisstein

<<MathWorld`Polyhedra`

f[p_,r_?NumericQ]:=Module[{e=PolyhedronEdgeLengths[ChamferedPolyhedron[p,r]]},Divide@@MinMax[e]]

can=N@CanonicalizePolyhedron@Icosahedron[];

(data=Table[{r,f[can,r]},{r,.1,.9,.01}])//Timing

ListPlot[data]

peakpos=FindPeaks[data[[All,2]]]

peaks=data[[peakpos[[All,1]]]]

ListLinePlot[
{data,peaks},
Joined->{True,False},
PlotStyle->{Automatic,PointSize[.03]}
]

can=N[CanonicalizePolyhedron[Icosahedron[]],1000]

bug(428787): FindMaximum[..., WorkingPrecision -> prec] result switches from high-precision to machine precision from prec = 160 to 161

({r}=FindArgMax[f[can,r],{r,.65`500,.67`500},WorkingPrecision->200])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,.8`500,.82`500},WorkingPrecision->200,PrecisionGoal->100,AccuracyGoal->100])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,8/10,82/100},WorkingPrecision->100])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,65/100,67/100},WorkingPrecision->161])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,65/100,67/100},WorkingPrecision->160])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,65/100,67/100},WorkingPrecision->150])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,65/100,67/100},WorkingPrecision->155])//Quiet//Timing

({r}=FindArgMax[f[can,r],{r,65/100,67/100},WorkingPrecision->160,Method->"Newton"])//Timing

rexact=ToAlgebraicRoot[N[r,120]]

N[rexact-r,200]

p=ChamferedPolyhedron[N[CanonicalizePolyhedron[Icosahedron[]],100],r]//Quiet

bug(428793): LeastSquares segfaults

p=ChamferedPolyhedron[N[CanonicalizePolyhedron[Icosahedron[]],100],rexact]//Quiet

Graphics3D[p=ChamferedPolyhedron[N[CanonicalizePolyhedron[Dodecahedron[]],1000],N[rexact,1000]]]//Quiet

v2=Map[ToAlgebraicRoot,Chop[p[[1]]],{2}]

Graphics3D[p2=Polyhedron[v2,p[[2]]]]

SimplifyNumericallyDistinct[PolyhedronEdgeLengths[p2]]//Union

Net construction

PolyhedronEdgeLengths[PolyhedronData["EquilateralChamferedIcosahedron","Polyhedron"]]//RootReduce//Union//Quiet//Timing

PolyhedronData["EquilateralChamferedIcosahedron","FaceCountRules"]

Graphics3D[{poly=PolyhedronData["EquilateralChamferedIcosahedron","Polyhedron"],MapIndexed[Text[#2[[1]],#,Background->White]&,v=PolyhedronData["EquilateralChamferedIcosahedron","VertexCoordinates"]]}]

l=EuclideanDistance@@v[[{2,11}]]//FullSimplify

h=EuclideanDistance@@v[[{21,23}]]//FullSimplify//Quiet

angs=Cos[PolygonAngle[Polygon[v[[{11,23,22,2,19,21}]]]]]

ArcCos[ToAlgebraicRoot/@Cos[PolygonAngle[Polygon[v[[{11,23,22,2,19,21}]]]]]]//FullSimplify

Tally[%]

N[%[[All,1]]]

{α=ArcSec[(Sqrt[5])],β=ArcCos[(NumericalApproximation[Root, (RowDefault["-0.851", FEExpressionsNumericalApproximationElider]), Root[1-5 ((#1)^2)+5 ((#1)^4)&,1], ])]}

2Pi-(2β+Pi/3)//FullSimplify

N[%]

g=Graphics[{EdgeForm[Black],FaceForm[White],p=Polygon[{{0,0},{l-1,-h}/2,{l+1,-h}/2,{l,0},{l+1,h}/2,{l-1,h}/2}]}]

tri=RegularPolygon[Csc[Pi/3]/2,3]

Rotate[Graphics[{EdgeForm[Black],FaceForm[White],
Table[Translate[p,{l x,h y}],{x,0,4},{y,0,5}],
Table[Translate[tri,{x+1,y-3}],{x,0,9},{y,0,1}]
}],Pi/2]

TranslateByVector[{v1_,v2_},pts_]:=Module[{m=RootReduce@RotationMatrix[{-Subtract@@v1,-Subtract@@v2}]},
DeleteCases[Map[ToAlgebraicRoot,v2[[1]]+m.(#-v1[[1]])&/@pts,{2}],Alternatives@@v2]]

m=RotationMatrix;
v={{-1/2,0},{1/2,0},{0,-Sqrt[3]/2}};
v=Join[v,{v[[2]]+m[β].(v[[3]]-v[[2]]),v[[3]]+m[-β].(v[[2]]-v[[3]])}];
v=Join[v,{v[[5]]+m[-α].(v[[3]]-v[[5]]),v[[4]]+m[α].(v[[2]]-v[[4]])}];
v=Join[v,{-#,#2}&@@@v[[{4,7,6,5}]]];
v=Join[v,{v[[1]]+m[β].(v[[2]]-v[[1]]),v[[2]]+m[-β].(v[[1]]-v[[2]])}];
v=Join[v,{v[[12]]+m[α].(v[[1]]-v[[12]]),v[[13]]+m[-α].(v[[2]]-v[[13]])}];
v=Join[v,{v[[14]]+m[Pi/3].{1,0}}];
v=Join[v,{v[[15]]+m[-β].(v[[16]]-v[[15]])}];
v=Join[v,{v[[17]]+m[-α].(v[[15]]-v[[17]]),v[[16]]+m[β].(v[[15]]-v[[16]])}];
v=Join[v,{v[[19]]+m[α].(v[[16]]-v[[19]])}];
v=Join[v,{-#,#2}&@@@v[[{17,18,20,19}]]];
v=Join[v,{v[[18]]+RotationMatrix[-Pi/3].(v[[20]]-v[[18]])}];
v=Join[v,{v[[20]]+m[β].(v[[25]]-v[[20]]),v[[25]]+m[-β].(v[[20]]-v[[25]])}];
v=Join[v,{v[[26]]+m[α].(v[[20]]-v[[26]]),v[[27]]+m[-α].(v[[25]]-v[[27]])}];
v=Join[v,v[[28]]-v[[14]]+v[[#]]&/@{16,21,22,23,24,19,20,18,17}];
v=Join[v,{v[[32]]+m[Pi/3].(v[[33]]-v[[32]])}]//RootReduce;
v=Join[v,{v[[33]]+m[-β].(v[[39]]-v[[33]]),v[[39]]+m[β].(v[[33]]-v[[39]])}];
v=Join[v,{v[[41]]+m[α].(v[[39]]-v[[41]]),v[[40]]+m[-α].(v[[33]]-v[[40]])}];
v=Join[v,TranslateByVector[{v[[{39,33}]],v[[{32,39}]]},v[[{41,42,43,40}]]]]//RootReduce;
v=Join[v,{v[[46]]+m[-Pi/3].(v[[45]]-v[[46]])}];
v=Join[v,TranslateByVector[{v[[{46,45}]],v[[{48,46}]]},v[[{47,39,32,44}]]]];
v=Join[v,{v[[37]]+m[-Pi/3].(v[[36]]-v[[37]])}]//RootReduce;
v=Join[v,TranslateByVector[{v[[{39,33}]],v[[{36,53}]]},v[[{41,42,43,40,34,30,28,31}]]]]//RootReduce;
v=Join[v,TranslateByVector[{v[[{14,16}]],v[[{60,59}]]},v[[{15,19,20,18,17,12,19,8,1,2,4,9,10,11,5,6,7,3,13,21}]]]]//RootReduce;
v=Join[v,TranslateByVector[{v[[{32,39}]],v[[{65,64}]]},v[[{34,30,28,31,35,30,29,38,37,36,26,20,25,27,18,33}]]]];
v=Join[v,TranslateByVector[{v[[{28,29}]],v[[{55,56}]]},v[[{38,37,36,35,30,34,33,32,31,53,57,56,55,54,58,81,60,59,39}]]]]//RootReduce//Quiet;
v=Join[v,TranslateByVector[{v[[{36,53}]],v[[{116,104}]]},v[[{54,106,55,56,57,98,105,102,99,104,100,103,101,116,107}]]]]//RootReduce//Quiet;
v=Join[v,TranslateByVector[{v[[{116,104}]],v[[{130,126}]]},v[[{117,121,111,108,119,120,110,109}]]]]//RootReduce//Quiet;

v=Join[v,TranslateByVector[{v[[{119,120}]],v[[{138,139}]]},v[[{119,124,128,126,123,118,130}]]]]//RootReduce;

f=Sort@{{3,2,1},{4,2,3,5,6,7},{1,8,9,10,11,3},{15,14,12,1,2,13},{14,15,16},{20,19,16,15,17,18},{24,23,22,21,14,16},{18,25,20},{20,25,27,29,28,26},{28,29,30},{30,34,33,32,31,28},{29,38,37,36,35,30},{33,39,32},{33,40,43,42,41,39},{39,47,46,45,44,32},{46,48,45},{46,52,51,50,49,48},{36,37,53},{53,57,56,55,54,36},{58,53,37,61,60,59},{60,62,59},{62,66,65,64,68,59},{62,60,67,70,71,80},{71,70,79},{70,69,73,74,75,79},{76,77,78,72,71,79},{97,64,65},{82,97,65,85,84,87},{88,87,84},{94,93,96},{84,92,93,94,95,88},{89,90,91,86,87,88},{56,102,55},{105,104,116},{102,103,104,105,106,55},{107,100,99},{100,101,102,56,98,99},{107,108,109,110,111,100},{112,107,99,113,114,115},{119,120,124},{104,121,120,119,117,116},{120,122,125,127,129,124},{124,128,126,123,118,119},{131,127,125},{126,130,123},{127,131,135,139,138,134},{130,126,133,137,136,132},{139,140,138},{142,145,143},{138,140,141,142,143,144}};
Graphics[{FaceForm[LightYellow,Red],EdgeForm[Black],Polygon[v,f],MapIndexed[Text[#2[[1]],#,Background->White]&,v]}]

bug(426316): Area[Polygon[v, f]] returns wrong result

Area[Polygon[v,f]]//N

Total[Area[Polygon[v,#]&/@f]]//N

PolyhedronData["EquilateralChamferedIcosahedron","SurfaceArea"]//N

ToAlgebraicRoot[Total[Area[Polygon[v,#]&/@f]]]//FullSimplify

PolyhedronData["EquilateralChamferedIcosahedron","SurfaceArea"]

Sort@f

v//RootReduce//FullSimplify

PolyhedronData

PolyhedronDataString

Close[file]

file=OpenAppend["~/champ.m"]

WriteString[file,PolyhedronDataString[EquilateralChamferedIcosahedron,
"StandardName"->"EquilateralChamferedIcosahedron",
"Name"->"equilateral chamfered icosahedron",
"AlternateStandardNames"->{}
]]

Close[file]