Color the polygons in PolyhedronData
You can get the polygons directly using the property "Polygons"
:
polygons = PolyhedronData["Dodecahedron", "Polygons"];
colors = ColorData[97]/@Range[12];
Graphics3D[Transpose[{colors, polygons}]]
faces = First@Normal@PolyhedronData["Dodecahedron", "Faces"];
colors = Table[ColorData[97, i], {i, 12}];
Graphics3D@Riffle[colors, faces]
This works, but could be improved:
myVertices = N@PolyhedronData["Dodecahedron", "Vertices"];
myFaceIndices = PolyhedronData["Dodecahedron", "Faces"];
mycolors = {Red, Orange, Yellow, Green, Blue, Orange, Black, White,
Purple, Green, Red, Yellow};
Graphics3D@
Transpose[{mycolors, (Polygon[myVertices[[#]]] & /@ myFaceIndices)}]