2
$\begingroup$

To mirror the standard truncated icosahedron, a dodecahedron of side $AB=1$ is truncated to have 20 triangles and 12 decagons roughly as in the hand sketch:

enter image description here

Condition of same length of regular spherical polygon side lengths ( using Law of Cosines/ Sines ) gives arc lengths:

$$ AP= 0.274396,PQ=0.473744, QB=AP ; \;$$

Can you please help to show the triangles,decagons and edges on the circumscribing ball with different colors? Thanks in advance.

$\endgroup$

1 Answer 1

1
$\begingroup$

You can mash up some of the answers from the football question $3D$ graphic of soccer ball

Credit to J. M.'s technical difficulties♦ and MarcoB as this draws on those answers:

arc[center_?VectorQ, {start_?VectorQ, end_?VectorQ}] := 
 Module[{ang, co, r}, ang = VectorAngle[start - center, end - center];
  co = Cos[ang/2]; r = EuclideanDistance[center, start];
  BSplineCurve[{start, 
    center + r/co Normalize[(start + end)/2 - center], end}, 
   SplineDegree -> 2, SplineKnots -> {0, 0, 0, 1, 1, 1}, 
   SplineWeights -> {1, co, 1}]]

curvedEdges[polyh_] := 
  ReplaceAll[MeshPrimitives[polyh, 1], 
   Line[coords_] :> arc[{0, 0, 0}, coords]];

draw[poly_] := 
 Block[{r = Norm[MeshPrimitives[poly, 0][[1, 1]]]}, 
  Graphics3D[{EdgeForm[], 
    MeshPrimitives[poly, 2] /. 
     p : Polygon[l_] :> {If[Length[l] > 3, Orange, Yellow],
       GraphicsComplex[r (Normalize /@ MeshCoordinates[#]), 
          MeshCells[#, 2]] &@
        DiscretizeRegion[p, MaxCellMeasure -> {"Area" -> 0.0025}]},
    curvedEdges[poly]
    }, Boxed -> False, Lighting -> "Neutral"]]

draw[TruncatedPolyhedron[Dodecahedron[]]]

truncated dodecahedron on a sphere

$\endgroup$
4
  • $\begingroup$ Triangle size in this image smaller than required. where in the code should it be changed? Error .MeshPrimitives is not a Graphics3D primitive or directive ; .I have v 11.0 $\endgroup$
    – Narasimham
    Commented Jun 12, 2020 at 14:27
  • $\begingroup$ I can't help you with v11 I'm afraid but it's really simple: just use this answer mathematica.stackexchange.com/a/118617/72682 and replace "TruncatedIcosahedron" with "TruncatedDodecahedron". $\endgroup$
    – flinty
    Commented Jun 12, 2020 at 14:32
  • $\begingroup$ It works for all Polyhedra. In the above image triangles are smaller. Where in the code is adjustability written in? $\endgroup$
    – Narasimham
    Commented Jun 12, 2020 at 17:14
  • $\begingroup$ It's not. In 12.1 it's possible to adjust the side ratio with: TruncatedPolyhedron[Dodecahedron[], 0.3]. In v11 you'll need to use the PolyhedronOperations package: << PolyhedronOperations`; Truncate[PolyhedronData["Dodecahedron"], .3] $\endgroup$
    – flinty
    Commented Jun 12, 2020 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.